Synthèse automatique
Une stratégie de débogage structurée utilisant un arbre de décision et un tableau des causes racines courantes pour reproduire, isoler et tracer systématiquement les bugs.
Points forts
- Fournit un arbre de décision clair pour les scénarios de débogage courants
- Inclut un tableau reliant les symptômes aux causes probables et aux vérifications
- Met en garde contre les anti-patrons comme le débogage au hasard et la correction des symptômes
Limites
- Suppose qu'il est possible de reproduire le bug, ce qui n'est pas toujours le cas
- Le tableau des causes racines n'est pas exhaustif ; les bugs novices peuvent nécessiter une analyse plus approfondie
- Nécessite une familiarité de base avec les outils de débogage (journalisation, points d'arrêt, instantanés de tas)
Lors de l'investigation d'un bug, d'un crash ou d'un comportement inattendu pour suivre un processus de diagnostic méthodique.
Lorsque le problème est déjà bien compris et qu'un correctif connu peut être appliqué directement, ou pour une exploration de code sans erreur spécifique.
Analyse de sécurité
SûrThe skill provides a debugging guide with a decision tree, common root causes, and strategies. It only allows Bash and Read, which are safe in this context. There are no destructive commands, network calls, or data exfiltration risks.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
I have a test that passes locally but fails intermittently in CI. It's a race condition, so I need to add timestamps to logs and isolate the issue. Use the debugging decision tree and root cause table to help me diagnose and fix it.I'm getting a 'Cannot read property of null' error. I need to trace the data flow backwards from the error point to find where the null value originates. Apply the systematic debugging strategy with binary search isolation.My application's memory usage keeps growing over time. I suspect unclosed resources or event listener leaks. Use the debugging guide to take heap snapshots before and after, identify the leak, and fix it.name: debugging description: Systematic diagnostic strategy with decision tree for reproducing, isolating, and tracing bugs. Use when investigating bugs, crashes, or unexpected behavior. Complements systematic-debugging workflow with concrete diagnostic patterns. metadata: version: "1.0" allowed-tools: Bash Read
Debugging
Decision Tree
Bug reported → Can you reproduce it?
├─ Yes → Is it consistent?
│ ├─ Yes → Add breakpoint/logging at suspected location → Trace
│ └─ No (intermittent) → Race condition or timing issue → Add timestamps to logs
└─ No → Check environment differences
├─ Works locally, fails in CI → Compare env vars, paths, timezone
├─ Works for others, fails for me → Check local config, versions, OS
└─ Cannot reproduce anywhere → Get reproduction steps from reporter
Common Root Causes
| Symptom | Likely Cause | Check | |---------|-------------|-------| | Works locally, fails in CI | Env vars, file paths, timezone | Compare environments | | Intermittent failure | Race condition, flaky test, timeout | Add logging, increase timeout | | Null/undefined error | Missing null check, async ordering | Trace data flow backwards | | Memory growing | Unclosed resources, event listener leaks | Heap snapshot before/after | | Slow response | N+1 queries, missing index, large payload | Profile, check query count | | CORS error | Missing headers, wrong origin, preflight | Check server response headers | | 403/401 | Token expired, wrong scope, missing header | Inspect request headers | | "It worked yesterday" | Dependency update, config change, data change | Check git log, dep diff, recent deploys | | Passes alone, fails in suite | Shared state between tests, order dependency | Run in isolation, check setup/teardown |
Strategy
- Reproduce - Get a reliable reproduction case first
- Isolate - Binary search: remove half the variables, see if it still fails
- Trace - Follow data flow from input to failure point
- Verify - Fix should explain the symptom, not just suppress it
Anti-Patterns
- Shotgun debugging - Changing random things hoping it works. Understand first, fix second.
- Fix the symptom - Adding a null check without understanding why it's null. Find the root cause.
- "It works now" - Can't explain why it broke or why the fix works. Keep investigating.
- Printf and pray - Adding one log, running, adding another. Plan your instrumentation.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/systematic-debugging-mm8o51pj/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/systematic-debugging-mm8o51pj' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/systematic-debugging-mm8o51pj/download' --output '.skill-downloads/systematic-debugging-mm8o51pj/SKILL.md.part' && mv '.skill-downloads/systematic-debugging-mm8o51pj/SKILL.md.part' '.skill-downloads/systematic-debugging-mm8o51pj/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash Read
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/systematic-debugging-mm8o51pj/SKILL.md' && test -s '.skill-downloads/systematic-debugging-mm8o51pj/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/debugging' && cp -R '.skill-downloads/systematic-debugging-mm8o51pj' '.claude/skills/debugging'Cursor
test -f '.skill-downloads/systematic-debugging-mm8o51pj/SKILL.md' && test -s '.skill-downloads/systematic-debugging-mm8o51pj/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/debugging' && cp -R '.skill-downloads/systematic-debugging-mm8o51pj' '.cursor/skills/debugging'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/systematic-debugging-mm8o51pj'openskills read 'systematic-debugging-mm8o51pj'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/systematic-debugging-mm8o51pj/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.