--- name: perf description: Before/after performance benchmarking comparing current branch against base, with statistical analysis. Use for benchmarking, profiling, or measuring performance impact. disable-model-invocation: true allowed-tools: Bash(bash ~/.claude/skills/perf/scripts/perf.sh:*), Bash(bash agents/skills/perf/scripts/perf.sh:*) --- # Performance Benchmark Run a command multiple times on the current branch and the base branch, then compare with statistical analysis. ## Arguments - `$ARGUMENTS` - Required: the command to benchmark (e.g., "go test -bench=. ./pkg/..." or "npm run build"). Optional: `--runs ` for number of runs (default 5), `--base ` to override base branch. ## Context - Current branch: !`git branch --show-current` - Base ref: !`git branch -r 2>/dev/null | grep -oE 'origin/(main|master)' | head -1` - Git status: !`git status --short` ## Your task Run before/after benchmarks comparing the current branch against the base branch. ### Step 1: Parse arguments and run the benchmark script Extract the benchmark command and optional flags (`--runs N`, `--base `) from `$ARGUMENTS`. IF no command is provided, ask: "What command should I benchmark?" Resolve the script path — use the first that exists: 1. `~/.claude/skills/perf/scripts/perf.sh` (deployed via symlink) 2. `agents/skills/perf/scripts/perf.sh` (repo-relative, for development/workspaces) ``` bash "" [--runs N] [--base ] ``` Handle the exit code: - **Exit 0** — Format the output as the report below and show it as your final response. - **Exit 1** — Report the error from stderr. - **Exit 2** — Report: "Benchmark command failed. Verify the command works: ``" ### Step 2: Format the report Parse the script's structured output and present it as: ```markdown ## Benchmark Results **Command:** `` **Runs:** (+ 1 warmup) ### Timing | Metric | Base () | Current () | Delta | |--------|-------------|-------------------|-------| | Min | s | s | | | Max | s | s | | | Mean | s | s | | | Median | s | s | | | Stddev | s | s | — | ### Raw Data **Base:** **Current:** ### Verdict: <1-2 sentence explanation> ``` If the script output includes a high-variance warning, append it after the verdict.