From godmode
Profiles CPU hotspots, memory leaks, concurrency bugs, and benchmarks performance with statistical rigor for Node.js, Python, Go, Rust, Java apps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/godmode:perfThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- `/godmode:perf`, "profile this", "find bottleneck"
/godmode:perf, "profile this", "find bottleneck"# Node.js CPU profile
node --cpu-prof --cpu-prof-dir=./profiles app.js
# Go CPU profile
go tool pprof http://localhost:6060/debug/pprof/profile
# Python memory
python -c "import tracemalloc; tracemalloc.start()"
Target: <application/function>
Symptom: <slow response, high CPU, OOM, hang>
Language: <Node.js|Python|Go|Rust|Java>
For each hotspot found:
Function: <name> at <file>:<line>
CPU share: <N>% of total
Root cause: <why slow>
Remediation: <optimized code>
Expected improvement: <N>% reduction
IF hotspot >10% CPU: must address. IF hotspot <5% CPU: diminishing returns.
Tools: Node.js (--heap-prof), Python (tracemalloc), Go (pprof), Rust (DHAT), Java (JFR+JMC).
Pattern: baseline -> load -> analyze growth.
For each finding:
Type: LEAK | EXCESSIVE ALLOCATION | UNBOUNDED CACHE
Source: <file>:<line>
Growth rate: <MB per hour/request>
Retention chain: <root -> ... -> leaked object>
IF growth is linear under load: confirmed leak. IF cache grows without bound: add max size + eviction.
# Go race detector
go test -race ./...
# C/C++ thread sanitizer
gcc -fsanitize=thread -o app app.c && ./app
Common patterns: counter without atomic, lazy init without sync, collection modified during iteration, read-modify-write without transaction.
For each finding:
Type: RACE | DEADLOCK | LIVELOCK | STARVATION
Severity: CRITICAL | HIGH | MEDIUM
Code path: <file>:<line>
Reproducibility: always | under load | intermittent
Deadlock prevention: consistent lock ordering, try-lock with timeout, channels over shared memory.
Protocol:
1. Dedicated hardware, disable frequency scaling
2. Warm-up iterations + measurement iterations
3. Report: mean, median, p95, p99, stddev, 95% CI
4. CV > 10% = unstable environment
5. Comparison: interleaved runs, Welch's t-test,
p < 0.05 = statistically significant
IF benchmark variance >10%: fix environment first. NEVER benchmark on shared CI runners for final results. NEVER skip warm-up for JIT languages (Node, Java).
CPU: top 3 hotspots with % and file:line
Memory: leaks found, growth rate, peak RSS
Concurrency: races, deadlock risks, contention
Benchmarks: values with 95% CI
Priority fixes: ordered by impact
Append .godmode/perf-results.tsv:
timestamp module finding_type location severity metric_before metric_after status
KEEP if: improvement is statistically significant
AND no regression AND tests pass.
DISCARD if: no significant improvement OR regression.
Never keep optimization without measured evidence.
STOP when FIRST of:
- All hotspots >10% CPU addressed
- Memory stable under sustained load
- Zero races detected by sanitizer
- 3 consecutive fixes < 5% improvement
On failure: git reset --hard HEAD~1. Never pause.
| Failure | Action |
|---|---|
| No clear hotspot | Check sampling rate, profile under load |
| Optimization regresses | Measure all metrics, revert if needed |
| Noisy benchmarks | Pin CPU, disable turbo, dedicated HW |
npx claudepluginhub arbazkhan971/godmodeOrchestrates performance profiling and optimization across languages. Diagnoses symptoms, dispatches profiling agents, and manages before/after comparisons for latency, memory, CPU, and bundle issues.
Provides a language-neutral workflow for performance analysis: flamegraph interpretation, allocation tracking, latency profiling, and regression measurement. Activates when latency, throughput, or memory budgets are missed.