debug-methodical
/debug-methodical
Debugging méthodique en 4 phases (reproduce → isolate → fix → verify). Use when investigating a bug, regression, flaky test, or unexpected behavior.
- Author
- TheBeardedBearSAS ↗
- Repository
- claude-craft ↗
- Licence
- MIT
- Last repository change
- 27.10.2026
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 2
No signals detected. Repository changed on 27.10.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
Debugging méthodique en 4 phases (reproduce → isolate → fix → verify). Use when investigating a bug, regression, flaky test, or unexpected behavior.
Original author description
Debugging méthodique en 4 phases (reproduce → isolate → fix → verify). Use when investigating a bug, regression, flaky test, or unexpected behavior.
How it works
- Les 4 phases (strictes, dans l'ordre)
- Anti-patterns critiques
- Techniques avancées
- Intégration Claude Craft
- Ressources
SKILL.md preview
--- name: debug-methodical description: Debugging méthodique en 4 phases (reproduce → isolate → fix → verify). Use when investigating a bug, regression, flaky test, or unexpected behavior. context: fork --- # Debug-Methodical — Debugging en 4 phases Skill inspiré de [obra/superpowers](https://github.com/obra/superpowers). **Objectif :** forcer une méthode rigoureuse au lieu de "try random fixes until it works". **Règle d'or :** un bug sans reproduction stable est un bug mal compris. Ne JAMAIS fixer avant de reproduire. ## Les 4 phases (strictes, dans l'ordre) ### Phase 1 : REPRODUCE **Objectif :** exécuter le bug à volonté, dans un environnement contrôlé. **Checklist :** - [ ] Étapes de reproduction documentées (Given/When/Then) - [ ] Reproduction déterministe (>= 3 runs consécutifs identiques) - [ ] Environnement isolé (local, container, test env) - [ ] Inputs minimaux (le moins de données/steps possible) - [ ] Version/commit exacts identifiés **Sortie :** test automatisé qui **échoue** en exposant le bug (test de régression). **Signal rouge :** "ça marche sur ma machine" / "parfois ça fail" → reproduction insuffisante, retour Phase 1. ### Phase 2 : ISOLATE **Objectif :** identifier la **cause racine**, pas juste un symptôme. **Techniques :** - **Bisect** : `git bisect` pour trouver le commit fautif - **Binary search** dans le code : commenter la moitié, puis itérer - **Print-driven debugging** : logs aux frontières (entrée/sortie fonctions) - **Debugger** : breakpoints, step-through, variable watch - **Diff environnements** : que diffère-t-il entre "qui marche" et "qui casse" ? - **Question the premise** : l'hypothèse initiale est-elle correcte ? **Checklist :** - [ ] Cause identifiée (ligne / condition / input exact) - [ ] Explication du **pourquoi** (pas juste le **quoi**) - [ ] Chaîne de causalité documentée (A cause B cause C) - [ ] Autres manifestations potentielles du même bug identifiées **Signal rouge :** "je pense que c'est X" sans preuve → retour isolate avec instrumentation. ### Phase 3 : FIX **Objectif :** corriger la cause racine avec le minimum de changement. **Checklist :** - [ ] Fix au bon niveau (cause racine, pas symptôme) - [ ] Changement minimal (KISS, voir rule 05) - [ ] Pas d'effet de bord sur autres features - [ ] Pas de fix "au cas où" / spéculatif (voir rule 23 Karpathy) - [ ] Fix dans le bon layer (domain / infra / UI) **Signaux rouges :** - Fix qui ajoute un `try/catch` pour masquer l'erreur → traite le symptôme, pas la cause - Fix qui nécessite de modifier les tests existants de façon suspecte - Fix qui "marche" sans que tu saches pourquoi ### Phase 4 : VERIFY **Objectif :** prouver que le fix marche ET n'a rien cassé d'autre. **Checklist :** - [ ] Test de régression (Phase 1) passe maintenant - [ ] Suite de tests complète passe - [ ] Reproduction manuelle ne montre plus le bug - [ ] Scénarios adjacents testés (edge cases proches) - [ ] Performance non dégradée - [ ] Logs / monitoring vérifiés en staging si critique **Règle de régression :** le test écrit en Phase 1 reste dans la codebase **pour toujours**. Un bug fixé ne doit JAMAIS réapparaître (voir `/qa:regression`). ## Anti-patterns critiques | Anti-pattern | Pourquoi c'est mal | |--------------|---------------------| | **Shotgun debugging** | Changer 10 trucs au hasard, aucun apprentissage | | **Fix du symptôme** | Bug revient sous une autre forme | | **Skip reproduction** | Fix impossible à valider | | **Skip verification** | "ça devrait marcher" — preuve ou pas fini | | **Pas de test de régression** | Bug réapparaît dans 3 mois | | **Fix avec `catch (Exception)` générique** | Masque d'autres bugs | | **Commit mélangé fix + refactor** | `git bisect` impossible | ## Techniques avancées ### Pour bugs de concurrence - Forcer les interleavings (sleep stratégique, stress test) - Thread dumps / profiler - Vérifier les invariants atomiquement ### Pour bugs d'intégration - Snapshot du payload exact (HAR, logs) - Reproduire avec `curl` ou client minimal - Vérifier versions exactes des dépendances ### Pour flaky tests - Run 100x pour mesurer le taux de flakiness - Identifier la dépendance (temps, ordre, ressource partagée) - Ne JAMAIS marquer un test `@Flaky` sans ticket de correction ## Intégration Claude Craft - **`/qa:tdd`** — bug fix en mode TDD (test qui échoue d'abord) - **`/qa:fix`** — correction automatisée des bugs QA - **`/qa:regression`** — registre des tests de régression - **Skill `atomic-tasks`** — découper le debug en phases atomiques - **Rule 07 (testing)** — bug fix = test de régression obligatoire ## Ressources - [obra/superpowers](https://github.com/obra/superpowers) - Rule `.claude/rules/07-testing.md` - Command `/qa:tdd`, `/qa:regression` --- **Date de dernière mise à jour :** 2026-04-15 **Version :** 1.0.0
Versions
The database has no other skills named debug-methodical.
Database snapshot: 13.11.2026 · package version 504f5dbdf79c (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100debugging
Systematic 5-step workflow (Reproduce → Isolate → Identify → Fix → Verify) for finding and fixing bugs in code. Use when the user reports a crash, error, stack trace, unexpected output, regression ("used to work"), flaky behavior, or performance issue — in JavaScript, Java, or… - 100whip-debug
Systematic debugging loop — reproduce, analyze root cause, fix, then challenge with a fresh verification pass to distinguish fundamental fixes from workarounds. Use when debugging issues or when unexpected behavior needs a methodical approach. - 100whip-debug
Systematic debugging loop — reproduce, analyze root cause, fix, then challenge with a fresh verification pass to distinguish fundamental fixes from workarounds. Use when debugging issues or when unexpected behavior needs a methodical approach. - 100debug
Use when encountering a bug, test failure, unexpected behavior, or when the user asks for help debugging. Hypothesis-driven — reproduce, investigate, fix, verify. Standalone — works outside the plan/spec/build workflow. - 100debug
Systematic debugging workflow: reproduce first, write failing test, then fix. Use when encountering bugs, unexplained errors, or unexpected behavior. - 100workflow-fix-and-ship
One bug-fix lifecycle: triage, reproduce, debug, regression test, fix, live check, PR, optional deploy verify. Use when "fix this bug and close the ticket", "patch this and ship", or a named production error. Many reports → workflow-feedback-to-closure.