Diagnostic de bugs

Trouve les causes profondes des bugs complexes, des tests instables et des régressions de performance grâce à une boucle de reproduction serrée. À utiliser lorsqu'un bug résiste à une correction rapide ou ne se reproduit pas. Pas pour les erreurs évidentes.

Qu'est-ce que Diagnostic de bugs ?

Cette compétence est spécialisée dans le diagnostic systématique des bugs difficiles, des tests flaky et des régressions de performance. Elle guide l'utilisateur à travers une boucle de reproduction rapide et spécifique avant de former une hypothèse forte, réduisant ainsi les conjectures et les correctifs hasardeux. La compétence met l'accent sur la construction d'un signal pass/fail fiable, la minimisation des entrées et des étapes, l'élaboration d'hypothèses falsifiables, et l'utilisation d'instrumentation ciblée. Elle impose des règles strictes : arrêter et réévaluer après deux tentatives de correction échouées, mesurer une base de référence pour les régressions de performance, et ne revendiquer le succès qu'après disparition du symptôme original et validation par test de régression. La compétence est conçue pour être utilisée avec des agents IA et des outils de développement comme Claude Code, Cursor ou Codex, et elle s'appuie sur des fichiers de référence comme `references/feedback-loop.md` pour guider l'utilisateur en l'absence de reproducer.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Statusnone420/agent-skills/tree/HEAD/adapters/claude/plugins/agent-skills/skills/diagnosing-bugs

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Diagnostiquer les bugs

Construire un signal pass/fail rapide et spécifique avant de former une théorie solide. Masquer les secrets dans les commandes, la sortie, les traces et les artefacts sauvegardés.

Boucle

  1. Reproduire. Écrire une commande qui atteint le symptôme exact de l'utilisateur et peut échouer sur ce bug. S'il n'existe pas de reproducer serré, lire references/feedback-loop.md.
  2. Minimiser. Supprimer les entrées, les étapes, les appelants et la configuration un par un. Ne conserver que ce dont l'échec a besoin.
  3. Hypothèse. Écrire 3 à 5 causes falsifiables classées par ordre de probabilité. Pour chacune, nommer l'observation qui la confirmerait ou l'infirmerait.
  4. Sonder. Modifier une variable à la fois. Privilégier un débogueur ou une instrumentation ciblée aux limites. Marquer les logs temporaires avec un préfixe unique [DEBUG-...].
  5. Verrouiller la correction. Transformer la plus petite reproduction réelle en un test de régression qui échoue, au bon point d'interface public. Appliquer la plus petite correction. Relancer le test et la reproduction originale.
  6. Nettoyer. Supprimer l'instrumentation temporaire et les harnais. Signaler la cause, les preuves, la correction et toute lacune de couverture restante.

Règles

  • Après deux tentatives de correction échouées, s'arrêter. Revérifier l'hypothèse ou la conception avant d'essayer un autre correctif. Ne pas empiler les suppositions.
  • Pour une régression de performance, mesurer une base de référence et profiler ou bissecter avant de modifier le code. Les logs seuls ne constituent pas un diagnostic de performance.
  • S'il n'existe pas de correct test seam, le dire. Après la correction, utiliser $codebase-design pour juger si l'absence de point d'interface nécessite un travail structurel.
  • Ne revendiquer le succès que lorsque le symptôme original a disparu et que le test de régression est passé.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Skills associés