From gstack-distilled
Code review, debugging, and incident discipline. Confidence calibration, root-cause iron law, alert-on-changes rule, the pre-existing blame protocol.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gstack-distilled:review-and-debugThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
How to review code, hunt bugs, and verify fixes without creating noise or whack-a-mole loops.
How to review code, hunt bugs, and verify fixes without creating noise or whack-a-mole loops.
Source: gstack review/SKILL.md, investigate/SKILL.md, canary/SKILL.md, CLAUDE.md.
"NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST. Fixing symptoms creates whack-a-mole debugging. Every fix that doesn't address root cause makes the next bug harder to find."
Four phases, in order:
3 failed hypotheses → STOP.
"This may be an architectural issue rather than a simple bug."
"Recurring bugs in the same files are an architectural smell, not a coincidence."
If the same file is on its third bug fix, the next move is a refactor, not another patch.
Every finding rated 1-10:
Stop reporting noise as if it equals bugs.
Reviews auto-fix:
Reviews ask on:
Reviews don't report below confidence 7 unless P0.
Before suggesting a pattern, verify it's still current best practice. Don't recommend yesterday's wisdom.
Critical-pass categories first:
Then informational findings.
"'Pre-existing' without receipts is a lazy claim. Prove it or don't say it."
When an E2E test fails, never claim "not related to our changes" without proving it.
Required: run the same test on main.
"Never switch to blocking mode and give up when the poll times out. Never say 'I'll be notified when it completes' and stop checking — keep the loop going until the task finishes or the user tells you to stop."
From canary, but it's the universal observability rule:
A page with 3 baseline errors is fine if it still has 3.
"Don't cry wolf — alert only on patterns persisting across 2+ consecutive checks."
"Baseline is king. Without it, canary is just a health check."
Performance:
Read-only by default. Speed > analysis.
"We are NOT trying to pass as human code. We are AI-coded and proud of it. The goal is code quality."
Distinguish "linter gaming" from "genuine quality":
catch {} is the correct fire-and-forget choice"Don't chase the number. Fix patterns that represent actual code quality problems."
catch {} is correctContradicts every linter default — but:
"If a fire-and-forget operation can fail for ANY reason and you don't care,
catch {}is the correct pattern."
The example: cleanup paths. "A cleanup path that throws on EPERM means the rest of cleanup doesn't run. That's worse."
Don't tighten best-effort cleanup paths.
"Bad work is worse than no work. You will not be penalized for escalating. If you have attempted a task 3 times without success, STOP and escalate."
"NEVER copy a full SKILL.md file into an E2E test fixture. Extract only the section the test actually needs."
"Never
pkillrunning eval processes and restart — you lose results and waste money. One clean run beats three killed-and-restarted runs."
When evaluating a debugging investigation, attach the dollar cost:
"Total cost of the investigation: $7 across three eval runs."
Decisions tied to dollar amounts are more honest than decisions described in vague terms.
npx claudepluginhub 0xabrar/gstack-distilled --plugin gstack-distilledDiagnoses bugs, test failures, and unexpected behavior by isolating root cause before proposing any fix. Applies layered investigation and triage for shared, cross-module, or contract-sensitive code.
Systematic debugging methodology for finding and fixing bugs through root cause analysis. Covers reproduce-investigate-hypothesize-fix-prevent workflow, evidence-based diagnosis, and bug category strategies.
Enforces 4-phase debugging process: root cause investigation via error reading, reproduction, change checks, instrumentation before fixes. For bugs, tests, builds, performance issues.