Go debug
My personal pi harness configuration.
npx -y skills add nyquistwilder/personal-pi --skill go-debugAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Go debugging workflow for reproducing failures, panics, errors, flaky tests, data races, deadlocks, goroutine leaks, and targeted fixes with regression tests.
SKILL.md
1.9 KB, as published. Nobody here has run it
Go Debug
Rule
Reproduce first, identify root cause, then make the smallest targeted fix. Prefer concrete commands, logs, traces, race detector evidence, and regression tests over speculative rewrites.
Hard Stops
Stop before:
- Touching live systems, real credentials, production data, or destructive operations.
- Suppressing a panic, error, race, flaky test, or linter finding without understanding the root cause.
- Changing public API or error semantics just to make a failure disappear.
- Adding sleeps as a concurrency fix.
Workflow
- Capture the failing command, input, panic, stack trace, log, race report, or hang symptoms.
- Reproduce with the narrowest
go test, executable command, or integration harness. - Isolate root cause with table tests,
-run,-count,-race,-trace, pprof, logs, Delve, or targeted instrumentation. - For flakes, run repeated tests with
go test -count=Nand remove shared state/order assumptions. - For races/deadlocks, identify goroutine ownership, channel close responsibility, cancellation, and lock order.
- Add a regression test when practical.
- Apply a minimal fix.
- Run the original failing command, targeted tests,
go test ./..., relevant race checks, andjust check.
Diagnostics Defaults
- Use
GOTRACEBACK=allor goroutine dumps for hangs. - Use
go test -racefor shared memory bugs. - Use
go test -run TestName -count=100for flakes. - Use
go test -bench ... -run '^$' -cpuprofileonly when performance is implicated. - Add temporary logs only during investigation; remove or convert them to intentional
slogdiagnostics before completion.
Completion
Report reproduction, root cause, fix, regression tests, commands run, and remaining risks or unreproduced symptoms.