Skill: Audit Domain 5 — Performance

SkillDev tools

Audit the performance domain — query efficiency, caching, async / blocking calls, payload sizes, scaling assumptions. Run as part of /audit Phase E.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Skill: Audit Domain 5 — Performance skill

What this skill tells your AI

The instructions your AI receives, as published by wolverin0/clawtrol in .claude/skills/audit-domain-05-performance/SKILL.md and read by ahel’s review.

This skill audits one specific domain. It runs in an isolated subagent context spawned by the audit-orchestrator. The subagent loads this skill and the audit rules, runs against the audit scope, and returns a ~2K-token findings report.

Pre-flight

view @.claude/context/audit-rules.md

If you have findings from previous audit phases (hard stops, Tambon, blind spots), the orchestrator passes them as input. Use them — don't re-discover findings other phases already produced. Specifically:

  • Hard stops related to this domain: (none — this domain has no hard-stop classes routing to it)
  • Blind spots that route to this domain: B3, B6

If the orchestrator didn't pass you these inputs, do NOT re-run the hard-stops or blind-spots walks. Audit your domain only and trust the orchestrator to stitch.

Scope

Query efficiency, N+1 detection, caching, async vs blocking IO, payload sizes, pagination, scaling assumptions, in-memory state, connection pool sizing.

Key questions to answer

For each, find the evidence and report it. The questions are the audit's spine — every finding maps back to one of them.

  1. Are slow queries indexed?
  2. Is caching used where appropriate, and invalidated correctly?
  3. Is IO non-blocking in async contexts (no requests / time.sleep)?
  4. Are responses paginated server-side, not just frontend-sliced?
  5. Are payload sizes bounded (max upload, max query result)?
  6. Does anything assume a single user / single instance?

Files most likely to have findings

Don't read everything. Read these files first:

  • DB queries (especially in hot paths)
  • any 'cache' module
  • async/await usage
  • frontend list rendering
  • background job runners

If you exhaust these and the budget allows, expand outward. Otherwise, report what you found and note what you didn't read.

Process

  1. Re-read the rules. R1-R7 apply to every finding. Especially R2 (quote before cite) — for a domain skill running in a subagent, the subagent's context is fresh; don't assume you remember a file from a previous turn.

  2. Walk the key questions. For each question, run the relevant detection commands (greps, file reads, schema lookups). Capture evidence at path:line. Verify by reading the actual code.

  3. Cross-reference orchestrator inputs. If the orchestrator passed hard-stops or blind-spots findings tagged for this domain, include them in your report. Don't re-investigate; just include with the provided evidence.

  4. Triage. For each finding, set severity per the audit rubric and exploitability per R4.

  5. Produce the domain report.

Output format

═══════════════════════════════════════════════════════════════════════
  DOMAIN 5: Performance
═══════════════════════════════════════════════════════════════════════

▶ FOUNDER VIEW

[2-4 sentences in plain English. Sample tone:]
How does the app behave at 100x current load? Most vibe-coded apps fall over silently.

▶ TECHNICAL EVIDENCE

Scope of this domain audit:
  Files read:        <count>
  Files skipped:     <count> (reason: outside scope or low-priority)

Findings:

  F-5.1 — <one-line title>
    Severity:        Critical | High | Medium | Low
    Exploitability:  EXPLOITABLE-NOW | EXPLOITABLE-LOW-EFFORT | BAD-PRACTICE | UNKNOWN
    Hard-stop:       H<N> if applicable
    Blind-spot:      B<N> if applicable

    Evidence:
      <path:line>  <one-line description>

    What's wrong:
      <one paragraph>

    Why it matters:
      <one sentence>

    Recommended fix:
      <one paragraph; for full fix prompt, use /audit-fix F-5.1>

    Verification after fix:
      <command>

  F-5.2 ...

Summary:
  Total findings: <count>
  By severity:    <counts>
  Most urgent:    <which finding ID>

[SECTION COMPLETE: Domain 5]

If the domain has zero findings:

▶ TECHNICAL EVIDENCE

  ✅ No findings in this domain.

  Verification:
    <commands run that produced no signal>

  Confidence: High | Medium | Low
  Reason for low confidence: <if applicable>

Failure modes to refuse

  • ❌ Producing findings without path:line citations (R1)
  • ❌ Citing a path you didn't read (R2)
  • ❌ Re-running hard-stops or blind-spots walks (orchestrator did this)
  • ❌ Including findings outside this domain's scope (route them to the right domain instead)
  • ❌ Soft-pedaling a Critical to Medium because "it's a small app" (R3)
  • ❌ Skipping section completion marker (R6)

Signals

GitHub stars
42
Forks
7
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
audit-domain-05-performance
Source
github.com/wolverin0/clawtrol