joyco-studio/skills

trace-audit

Analyze a Chrome DevTools Performance trace JSON file for performance anomalies, producing a structured audit report with critical issues, warnings, metrics, timeline hotspots, and actionable recommendations.

First seen Feb 13, 2026

Installation

$ npx skills add joyco-studio/skills --skill trace-audit

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from joyco-studio/skills · top by installs.

npx skills add joyco-studio/skills

Browse all from joyco-studio/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 12
License MIT
Default branch main
Open issues 1
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.0.1
LicenseMIT
More metadata
author
joyco-studio
version
0.0.1

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,723 B
  • docs SUMMARY.md 227 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 54 installs

SKILL.md

Chrome DevTools Trace Audit

Analyze a Chrome DevTools Performance trace and produce a comprehensive performance audit report.

Usage

/trace-audit <path-to-trace.json>

The argument is the absolute path to a Chrome DevTools trace JSON file (exported from the Performance panel).

Workflow

Follow these steps in order. Use parallel tool calls wherever noted.

Step 1 — Validate the trace file

Read the first 100 lines of the file using the Read tool. Confirm it is a valid Chrome DevTools trace by checking for:

  • A top-level traceEvents array, or a bare JSON array starting with [
  • Event objects with name, cat, ph, ts fields
  • Presence of __metadata or TracingStartedInBrowser events

If validation fails, tell the user this doesn't appear to be a Chrome DevTools trace and stop.

Step 2 — Extract metadata

Use Grep on the trace file to extract (run these in parallel):

  1. Site URL — grep for TracingStartedInBrowser or navigationStart or FrameCommittedInBrowser and look for a URL in the args
  2. Process names — grep for processname or threadname to identify renderer, browser, GPU processes
  3. Trace time range — grep for the first and last "ts": values to compute trace duration

Step 3 — Run detection passes

Refer to [detection-heuristics.md](./detection-heuristics.md) for the full set of patterns and thresholds. Run all detection categories in parallel using Grep. For each category:

  • Use the specified grep pattern on the trace file
  • Collect matching lines with surrounding context where helpful (-C 1 or -C 2)
  • Count matches and extract durations/values from the matched JSON

The detection categories are:

  1. Long Tasks (RunTask with dur > 50000)
  2. Layout Thrashing (InvalidateLayoutLayout pairs)
  3. Forced Reflows (Layout events with stackTrace)
  4. rAF Ticker Loops (RequestAnimationFrame frequency)
  5. Style Recalc Storms (UpdateLayoutTree with dur > 5000)
  6. Paint Storms (Paint events with dur > 3000)
  7. GC Pressure (MajorGC / V8.GCMARKCOMPACTOR)
  8. CLS (LayoutShift cumulative score)
  9. INP (EventTiming max duration)
  10. Network Errors (ResourceReceiveResponse with statusCode >= 400)
  11. Redundant Fetches (same URL fetched multiple times)
  12. Script Eval (EvaluateScript / CompileScript with dur > 50000)
  13. Long Animation Frames (LoAF / LongAnimationFrame)

Step 4 — Aggregate findings

For each detection category:

  • Compute total count of flagged events
  • Extract the worst offender (max duration or highest score)
  • Classify severity: Critical (red) or Warning (yellow) based on the thresholds in detection-heuristics.md
  • Skip categories with zero findings

Step 5 — Identify timeline hotspots

Group flagged events by timestamp into time windows (e.g., 500ms buckets). Identify windows where multiple issue categories overlap — these are hotspot ranges that represent the most problematic sections of the trace.

Step 6 — Generate report

Output the report using the structure defined in [report-format.md](./report-format.md). The report should be:

  • Actionable — every issue links to a concrete fix
  • Scannable — use tables, severity badges, and clear headings
  • Complete — cover all categories, even if just to say "no issues found"