Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Systematic Debugging

ASecurity

Root-cause a bug before touching a fix: reproduce, isolate, form and test a hypothesis, confirm the cause, then fix and verify. Stops guess-driven patching. For persistent, intermittent, or "already tried a few things" bugs.

24 stars
0 votes
0 copies
0 views
Added 10/3/2026
ai-agentsgodebugginggit

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 10/3/2026

$npx -y skills add crewforth/crewforth --skill systematic-debugging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Systematic Debugging?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Systematic Debugging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/crewforth-systematic-debugging/badge)](https://www.skillsdirectory.com/skills/crewforth-systematic-debugging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: systematic-debugging
description: |
  Root-cause a bug before touching a fix: reproduce, isolate, form and test a hypothesis, confirm the cause,
  then fix and verify. Stops guess-driven patching. For persistent, intermittent, or "already tried a few things" bugs.
---

# Systematic Debugging

<!-- routing-eval reads the next line; why it sits in the body: AGENT_TEMPLATE.md -->
Trigger phrases: "debug", "root cause", "why is this failing", "intermittent bug", "can't reproduce", "is broken", "crashes"

One rule holds the whole skill together: **no fix without a confirmed root cause.** A patch that makes the symptom
disappear without a proven cause is not a fix — it's a coin flip that hides the bug until it returns somewhere worse.
This skill is the discipline that turns "try things until it works" into "understand, then change one thing."

> **Crewforth adaptation (local, .claude/):** Distinct from `iterate` (a self-correction loop over a *task*) and `reflect`
> (meta-review of an approach) — this skill is for a *defect*. §4 Prohibitions apply; a fix still goes through the
> project's review/test gates. Don't disable a test or a gate to make a symptom pass (that is masking, not fixing).

## The loop (do them in order — skipping a step is why bugs come back)
1. **Reproduce** — a reliable, minimal repro. Can't reproduce → that IS the first problem; see `references/techniques.md` (intermittent/heisenbug).
2. **Isolate** — shrink the surface until the failure is in the smallest possible slice (bisect commits, halve the input, disable half the system).
3. **Hypothesize** — state ONE falsifiable cause: "X fails because Y." Write it down. A vague hunch is not a hypothesis.
4. **Test the hypothesis** — the cheapest observation that would *disprove* it (a log, a breakpoint, a probe). If it survives, you have the cause; if not, back to 3.
5. **Confirm the root cause** — you can explain the full chain symptom←…←cause, and you can turn the bug on and off by touching the cause.
6. **Fix** — the smallest change at the cause (not the symptom). Consider what else shares that cause.
7. **Verify** — the original repro now passes, a regression test locks it, and nothing nearby broke.

## Checklist
- [ ] Reliable repro captured (exact steps/input/env)
- [ ] Failure isolated to the smallest slice
- [ ] One falsifiable hypothesis written down
- [ ] Hypothesis tested by observation (not by applying a fix and seeing)
- [ ] Root cause confirmed (can toggle the bug via the cause; full chain explained)
- [ ] Fix at the cause + regression test added
- [ ] Original repro passes; no new failures

## Anti-patterns (each is guess-driven patching wearing a disguise)
- **Shotgun debugging** — changing several things at once; now you can't tell what mattered. One change at a time.
- **Symptom patching** — a `try/catch`, a null-guard, a retry that swallows the failure without explaining it.
- **"It works now"** without knowing *why* it broke — the bug is dormant, not dead.
- **Blaming the environment/flake** before isolating — sometimes true, but only *after* step 2, never as the first move.
- **Deleting/skipping the failing test** to go green — that is masking; the gate exists to catch exactly this.

---

## Techniques by symptom
Bisecting (git + input + system), instrumentation vs. debugger, intermittent/heisenbugs (timing, state, ordering,
resource), the hypothesis log, and when to stop and ask for a second pair of eyes: **`references/techniques.md`**.

## Invariant rules
1. **No fix without a confirmed root cause** — the one rule; everything else serves it.
2. **One change at a time** — isolate cause and effect; never shotgun.
3. **Fix the cause, not the symptom** — a guard that hides the failure is not a fix.
4. **Lock it with a regression test** — the repro becomes a test so it can't silently return.
5. **Never mask to go green** — don't disable a test/gate/assertion to make the symptom pass.

Attribution

crewforthcrewforth
View sourceSee grades on GitHubMore from crewforth →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →