agentsclimarketplace

Performance audit

Skill VictorAurelius/claude-starter-kit/skills/quality/performance-audit

Dùng khi user nói 'perf audit', 'performance check', 'load test', 'kiểm tra hiệu năng', 'N+1', 'bundle size', hoặc trước production deploy. Baseline performance metrics /100.From its SKILL.md

Install
npx -y skills add VictorAurelius/claude-starter-kit --skill performance-audit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 5 commands, including `grep -rn "findAll\|findBy" --include="*.java" src/main/ | grep -v test | head -30` and 4 more.

SKILL.md

4.3 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

/performance-audit — Performance Baseline Assessment (portable)

Score /100. Identify bottlenecks across DB, API, frontend, caching, and resources. Adapt <placeholder> paths to your project structure.

Process

1. Automated Checks

# DB: N+1 query detection (adapt src dir to your backend modules)
grep -rn "findAll\|findBy" --include="*.java" src/main/ | grep -v test | head -30
grep -rn "@Query" --include="*.java" src/main/ | head -20

# FE bundle: build analysis (adapt to each frontend app)
cd <frontend-app> && npm run build 2>&1 | tail -30

# Caching (broad scope — catches all submodules)
grep -rn "RedisTemplate\|@Cacheable\|cache" --include="*.java" | grep -v test | grep -v target | head -20

# Resource config (broad scope)
grep -rn "pool-size\|max-connections\|timeout\|thread" --include="*.yml" | grep -v target | head -20

2. Primacy: bug-finding > scoring (BLOCKING)

An audit's purpose is to surface performance bombs (N+1, missing pagination, missing bulkhead) BEFORE prod. A /100 score with hidden P0 bombs is WORSE than a low score listing every bomb honestly. Per audit-skill-rubric-performance-audit.md §4.

Rules for every audit run:

  1. Enumerate ALL §3 sub-checks per category. NEVER skip "obviously fine."
  2. Each sub-check returns: PASS / FAIL / N/A-with-reason / ❓ UNCHECKED. No partial credit.
  3. Final output starts with bug list (every FAIL with file:line evidence) BEFORE the score.
  4. Score is descriptive only; audit-level verdict = FAIL if ANY P0 sub-check FAILS.
  5. If audit time-budget runs out, mark ❓ UNCHECKED — do NOT default to PASS.

3. Score 5 Categories with per-check rubric

Every category binds to a per-check pass/fail rule.

#Category (20pts)Per-check rubric file
1DB Query Efficiencyaudit-skill-rubric-performance-audit.md §2.1 (6 sub-checks)
2API Response Timeaudit-skill-rubric-performance-audit.md §2.2 (6 sub-checks)
3Frontend Bundleaudit-skill-rubric-performance-audit.md §2.3 (6 sub-checks)
4Caching Strategyaudit-skill-rubric-performance-audit.md §2.4 (6 sub-checks)
5Resource Utilizationaudit-skill-rubric-performance-audit.md §2.5 (6 sub-checks)

Per-check scoring (all 5 categories)

For each Category N:

  1. Walk through every §2 sub-check in the bound rule.
  2. Mark each sub-check PASS / FAIL / N/A-with-reason / ❓ UNCHECKED.
  3. Score = 20 - (failed_P0_count * 6) - (failed_P1_count * 3) - (failed_P2_count * 1), floor 0; cap 20 if all PASS.
  4. If ANY P0 sub-check fails → category total CAPPED at 16/20 AND audit-level verdict = FAIL.
  5. Each FAIL surfaces in bug list per §2 primacy.

Legacy scoring narrative: reference/scoring-guide.md retained for backward-compat only.

4. Output

Save to documents/audits/performance/performance-audit-[date].md

Context Management

Token budget ~15-25K (smallest in the audit suite). Watch:

  1. Build outputnpm run build output can be 100+ lines. ALWAYS | tail -30 (only the route sizes table is needed).
  2. Grep N+1| head -30 per module. Count occurrences, don't list everything.
  3. No load test during audit — static analysis + config review only. Load test = separate task.

Gotchas

  • findAll() on a JPA repo without @Query or Pageable = potential N+1
  • Build output (e.g. Next.js next build) shows route sizes — flag anything >250KB
  • Redis config typically lives in application.yml under spring.data.redis
  • If the project uses a bulkhead library (e.g. Resilience4j) — check thread pool sizes match expected concurrency
  • Docker deploy.resources.limits may not be set in dev compose — check k8s/Helm for prod
  • Build output can be very long — only take the final summary table
  • Multi-module scope — a narrow grep dir may miss submodules. Use broad --include="*.java" from root OR explicit <module>/src/ glob
  • Always grep -v target to exclude compiled target/classes/ duplicates

Skill Contents

  • reference/scoring-guide.md — Detailed rubric per category

What ships with it: 1 file

4.0 KB alongside SKILL.md

reference/

Gives 0 of the 12 instructions most audit compliance skills give in ~1.2k tokens

Counted across 960 of the 1,589 authors here whose files we hold, read 2026-09-06

  • Read product marketing context before asking questionsin 29 of 960, across 11 files
  • Rank findings by severityin 29 of 960, across 22 files
  • Generate audit reportin 22 of 960
  • Run the audit scriptin 20 of 960, across 19 files
  • Generate a prioritized action plan reportin 19 of 960, across 11 files
  • Ensure one H1 per pagein 15 of 960, across 5 files
  • Ensure sitemap exists and is accessiblein 14 of 960, across 4 files
  • Verify alt text on all imagesin 12 of 960, across 3 files
  • Determine the audit scope before startingin 12 of 960, across 4 files
  • Verify important pages allowed in robots.txtin 11 of 960, across 2 files
  • Detect business type from homepage signalsin 11 of 960, across 7 files
  • Delegate specialized tasks to subagentsin 11 of 960, across 7 files

Said here and by no other author read

  • Enumerate all sub-checks per category
  • Surface bug list before the score
  • Save audit to documents directory
  • Run grep to detect N plus one queries
  • Run npm run build for frontend analysis
  • Check caching configuration across files

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.