skills/performance-audit/SKILL.md
Analyze codebase for performance bottlenecks across code, database, frontend, network, and async operations
npx skillsauth add stevefeldman/agents-skills performance-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 the codebase for performance bottlenecks and optimization opportunities.
Conduct a comprehensive performance audit following these steps:
Technology Stack Analysis
Code Performance Analysis
node --prof app.js then node --prof-processpython -m cProfile -o output.prof script.pygo tool pprof http://localhost:6060/debug/pprof/profilecargo flamegraphjcmd <pid> JFR.start duration=60s filename=profile.jfrDatabase Performance
EXPLAIN ANALYZE on slow or suspicious queriesWHERE, JOIN, and ORDER BY columnsFrontend Performance (if applicable)
npx lighthouse --output=json --output-path=./report.json <url> to audit Core Web Vitalsnpx webpack-bundle-analyzer stats.json or npx vite-bundle-visualizernpx depcheck)Network Performance
Asynchronous Operations
Promise.all, goroutine fan-out, etc.)Memory Usage
node --inspect (Chrome DevTools), valgrind, go tool pprof /heapBuild and Deployment Performance
Performance Monitoring
Benchmarking and Profiling
Optimization Recommendations
Rate each finding by severity:
### [CRITICAL] N+1 query in OrderService.getAll()
**File:** `src/services/order-service.ts:45`
**Impact:** ~200ms added per request; 2000 extra DB queries under load
**Fix:** Eager-load line items with a JOIN or `include` clause
**Effort:** Low (1-2 hours)
### [HIGH] Uncompressed API responses
**File:** `src/server.ts` (missing middleware)
**Impact:** 3x larger payloads, ~150ms extra on mobile
**Fix:** Add `compression()` middleware
**Effort:** Low (15 minutes)
### [MEDIUM] Synchronous file reads at startup
**File:** `src/config/loader.ts:12`
**Impact:** Adds 400ms to cold start
**Fix:** Switch to async reads or cache after first load
**Effort:** Low (30 minutes)
Severity levels:
For load testing and validating fixes under realistic traffic, use the /k6 skill to generate and run load test scripts.
development
Use when reviewing Dependabot alerts, npm audit findings, govulncheck output, or CVE reports on a JavaScript/Node.js or Go project — especially when triaging multiple alerts across direct and transitive dependencies to assess real-world risk and produce a remediation plan.
development
Use when a code review finding needs proof — write a focused test in JavaScript or Go that either confirms the issue is real or exposes it as over-engineering hyperbole. Trigger after code-review or code-review-skill findings are presented and evidence is requested.
development
Produce data-driven software delivery estimates by analyzing historical JIRA tickets, git activity, and engineer track records, then matching the new work against the most similar past tickets. Use this skill whenever the user asks "how long will this take", wants to estimate a piece of work, scope an epic, plan a sprint, or estimate delivery for JIRA stories or a Figma design. Also use whenever the user wants developer-to-work assignment recommendations based on history, wants to optimize an estimate by adding or reallocating engineers, or asks "what's the fastest way to ship this" or "who should work on this". Especially trigger when the user provides JIRA ticket IDs, JIRA story links, or Figma designs together with any indication of a team that will execute the work.
tools
Use when auditing an existing test suite for quality and coverage gaps, evaluating Playwright migration readiness, scoring automation against a world-class e-commerce standard, or guiding the creation of new tests. Applicable to Selenium, WebdriverIO, and Playwright suites.