Home / debugging

Debugging

Six skills for finding the cause of a failure: minimise a bug reproduction, cluster log lines, find flaky tests in JUnit XML, explain a stack trace, summarise a py-spy, pprof or cProfile profile, and work a memory leak checklist.

Plugin debugging, version 0.1.1, 6 skills, MIT licence. Source: claude-dev-skills. Synced .

Install

In Claude Code, add the marketplace and install the plugin:

/plugin marketplace add basitalisandhu/claude-skills
/plugin install debugging@claude-skills

Or copy the skill files into ~/.claude/skills/ from a clone:

git clone https://github.com/basitalisandhu/claude-skills
cd claude-skills
python3 install.py --user --only debugging

Skills

SkillWhat it doesScripts
bug-repro-minimiserTurn a vague bug report into the smallest reliable reproduction: a single command or test that fails every time, with the environment, input and expected versus actual result pinned down.no
flaky-test-hunterFind tests that pass and fail without code changes by comparing JUnit XML reports from several runs with a bundled script, then classify each flaky test by cause (ordering, timing, shared state, resources, environment) and prescribe the fix.yes
log-triageReduce a large log file to its distinct message templates with counts, levels, first and last occurrence and attached stack traces using a bundled clustering script, then rank what to investigate.yes
memory-leak-checklistDiagnose a process whose memory grows over time with a fixed checklist: confirm it is a leak and not a cache or fragmentation, measure with the runtime's heap tools (tracemalloc, objgraph, Node heap snapshots, Go pprof heap, JVM histograms), find the retaining path, and fix the usual suspects (unbounded caches, listeners, closures, global registries, connection pools, large buffers).no
perf-profile-readerSummarise a captured CPU profile (py-spy collapsed stacks or dump, Go pprof text, Python cProfile output) into the few functions that hold the time, separate busy from waiting, and name the optimisation to try first, using a bundled script.yes
stack-trace-explainerRead a stack trace or crash report from any mainstream runtime (Python, JavaScript and Node, Java and JVM, Go, Rust, .NET, Ruby, PHP), identify the frame where the fault lives versus where it surfaced, explain the error type, and propose the next diagnostic step.no

Plugin README

Six skills for finding the cause of a failure: minimise a bug reproduction, cluster log lines, find flaky tests across JUnit reports, explain a stack trace, read a CPU profile, and work a memory leak checklist.

Install

/plugin marketplace add basitalisandhu/claude-dev-skills
/plugin install debugging@claude-dev-skills

Skills then appear as /debugging:<skill>. Scripts need Python 3.11 or newer on PATH as python3; they use the standard library only and make no network calls.

Skills

SkillTriggers onProduces
bug-repro-minimiser"sometimes", "on my machine", before a fixsmallest deterministic reproduction and a regression test
log-triagea log dump, CI log, "logs full of errors"log_triage.py templates with counts, the three things to investigate
flaky-test-hunterCI fails intermittently, "is this flaky?"flaky_test_hunter.py flaky list with cause and fix
stack-trace-explainera pasted trace, "what does this mean?"root cause in the chain, project frame, hypothesis, next check
perf-profile-readera py-spy, pprof or cProfile captureperf_profile_reader.py top frames, busy versus waiting, candidates
memory-leak-checklistmemory grows until restart, OOM killsconfirm, measure, retaining path, suspect, fix, verify

Tests for every script live in the repository's tests/ directory; run python3 -m pytest -q at the repository root.