skills/trace-audit/SKILL.md
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.
npx skillsauth add joyco-studio/skills trace-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze a Chrome DevTools Performance trace and produce a comprehensive performance audit report.
/trace-audit <path-to-trace.json>
The argument is the absolute path to a Chrome DevTools trace JSON file (exported from the Performance panel).
Follow these steps in order. Use parallel tool calls wherever noted.
Read the first 100 lines of the file using the Read tool. Confirm it is a valid Chrome DevTools trace by checking for:
traceEvents array, or a bare JSON array starting with [name, cat, ph, ts fields__metadata or TracingStartedInBrowser eventsIf validation fails, tell the user this doesn't appear to be a Chrome DevTools trace and stop.
Use Grep on the trace file to extract (run these in parallel):
TracingStartedInBrowser or navigationStart or FrameCommittedInBrowser and look for a URL in the argsprocess_name or thread_name to identify renderer, browser, GPU processes"ts": values to compute trace durationRefer to detection-heuristics.md for the full set of patterns and thresholds. Run all detection categories in parallel using Grep. For each category:
-C 1 or -C 2)The detection categories are:
RunTask with dur > 50000)InvalidateLayout → Layout pairs)Layout events with stackTrace)RequestAnimationFrame frequency)UpdateLayoutTree with dur > 5000)Paint events with dur > 3000)MajorGC / V8.GC_MARK_COMPACTOR)LayoutShift cumulative score)EventTiming max duration)ResourceReceiveResponse with statusCode >= 400)EvaluateScript / CompileScript with dur > 50000)LoAF / LongAnimationFrame)For each detection category:
detection-heuristics.mdGroup 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.
Output the report using the structure defined in report-format.md. The report should be:
tools
Add sound effects, UI audio, and ambient sound to a web app using the @joycostudio/suno library. Use when the user wants to play audio on button clicks, hover states, game events, or ambient loops, and when they mention @joycostudio/suno, Suno, AudioSource, Voice, or Mixer.
development
Analyze a bye-thrash layout thrashing report array. Parses stack traces, identifies user-code functions causing forced reflows, locates the offending style-write → layout-read pairs in source files, and produces a structured fix-suggestion report.
development
Author or refactor a skill in this repo. Use when the user asks to "create a skill", "write a skill", "add a new skill", "document this as a skill", or to restructure an existing SKILL.md (split it up, slim it down, fix the frontmatter). Covers frontmatter conventions, file layout, and the rule for splitting deep reference material into linked docs instead of bloating SKILL.md.
data-ai
Diagnose and resolve git conflicts of any kind — merge, rebase, cherry-pick, stash, revert. Use this skill EVERY time conflicts appear during work, or whenever the user mentions merge conflicts, rebase conflicts, conflict markers, "both modified" files, a failed or conflicted git pull, or asks to "fix conflicts". Use it even when the resolution looks obvious — many conflicts are phantom artifacts of squash merges or rewritten upstream history, and the correct fix is a different git strategy (e.g. git rebase --onto), not editing conflict markers.