From performance-audit
Manual, evidence-based codebase performance audit workflow for finding concrete performance risks, bottlenecks, and red flags across frontend, backend, database, network, build, caching, rendering, and runtime behavior. Use when asked to audit, review, inspect, diagnose, or prioritize codebase performance issues; when looking for slow initial loads, janky UI, excessive re-renders, large bundles, fetch waterfalls, N+1 queries, inefficient database access, memory leaks, cache misuse, queue/backpressure problems, expensive animations, or scalability risks. This skill is explicitly for manual source review and coordinated investigation, not automated scanner scripts.
How this skill is triggered — by the user, by Claude, or both
Slash command
/performance-audit:performance-auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Perform a comprehensive manual performance audit of a codebase. Produce prioritized, evidence-backed findings with file and line references, not generic advice.
Perform a comprehensive manual performance audit of a codebase. Produce prioritized, evidence-backed findings with file and line references, not generic advice.
Use this skill in review mode unless the user explicitly asks for fixes. The default output is an audit report, not code changes.
rg, rg --files, git, package metadata, existing tests, existing profiling tools, and normal file reads to gather context.references/manual-flags.md for comprehensive flag lists before a broad audit or when assigning subagents.Map the system.
Explore in parallel.
multi_tool_use.parallel for independent shell reads/searches.Review manually by domain.
Prioritize.
P0: Can take down production, cause runaway cost, or block core workflows at realistic scale.P1: User-visible slowness or severe scaling risk on a core path.P2: Meaningful inefficiency, jank, memory growth, or avoidable work on a common path.P3: Local optimization, cleanup, or guardrail that is useful but not urgent.Report findings first.
Use subagents when the repository is large, polyglot, or likely to contain independent performance surfaces.
Fast exploration subagents are good for:
rg searches and reading obvious files.Smarter review subagents are good for:
Example delegation prompts:
Use $performance-audit at /path/to/performance-audit to inspect this repo's frontend rendering and state-update paths. Return candidate performance risks with file/line evidence. Do not edit files.
Use $performance-audit at /path/to/performance-audit to inspect database and API access patterns. Focus on N+1 queries, unbounded reads, pagination, transactions, cache misuse, and payload size. Return confirmed findings and weaker risks separately. Do not edit files.
Use $performance-audit at /path/to/performance-audit to map build, bundle, asset, and first-load performance risks. Return the files and reasoning a main auditor should verify. Do not edit files.
Use these as leads, not proof:
package.json, lockfiles, bundler configs, route manifests, server entry points.useEffect, useMemo, useCallback, memo, observer, Context.Provider, selectors, list rendering, table/grid components.fetch, axios, graphql, trpc, useQuery, mutate, polling intervals, subscriptions, WebSocket clients.findMany, joins, include, select, count, offset, transactions.JSON.parse, JSON.stringify, synchronous storage, sync filesystem calls, timers, event listeners, workers.transition: all, animated width/height/top/left/margin/padding, layout reads after writes, scroll/resize handlers.references/manual-flags.md for the comprehensive manual checklist and domain-specific red flags.npx claudepluginhub plannotator/performance-audit --plugin performance-auditGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.