✍️ Prompting

prompt-debugger

Diagnostique pourquoi un prompt produit des résultats indésirables et propose des corrections ciblées.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- prompt-debugger --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } prompt-debugger -Launch"

🚀 Déjà installé ?

claude "/prompt-debugger"

Ou tapez /prompt-debugger dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

mon prompt hallucinele LLM ignore mes instructionsrésultat incorrectformat non respecté

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/skills/prompt-debugger ~/.claude/skills/

Payload du plugin : skills/prompt-debugger · source éditable : prompt-skills/debugger

📖 Manuel

Prompt Debugger

Étape 1 — Collecte du contexte

Demander (ou inférer depuis la conversation) :

  1. Prompt actuel — coller le texte complet, pas un résumé.
  2. Résultat obtenu — extrait représentatif de la mauvaise sortie.
  3. Résultat attendu — description précise ou exemple concret.
  4. Modèle ciblé — GPT-4o, Claude Sonnet 3.7, Gemini 1.5 Pro… (certains bugs sont modèle-spécifiques).
  5. Température / paramètres — température > 0.8 → instabilité de format quasi-systématique.
  6. Contexte d'appel — API directe, playground, outil tiers, RAG, agent ?
Si l'utilisateur n'a que le symptôme, aller directement au tableau de diagnostic (Étape 2) et poser une question ciblée.

Étape 2 — Diagnostic par symptôme

Symptôme observéCauses probables (par ordre de fréquence)Correction prioritaire
Hallucinations factuellesQuestion ouverte sans ancrage ; données hors knowledge cutoffFournir les faits en contexte ; ajouter "Réponds uniquement à partir du texte fourni."
Format ignoré (JSON, Markdown, liste…)Format décrit en prose, non montréInclure un exemple de sortie verbatim dans le prompt
Instructions sautéesInstruction noyée au milieu ; trop d'instructions simultanéesMettre l'instruction critique en première ou dernière ligne ; réduire à 3 contraintes max
Réponse trop courtePas de contrainte de longueur ; modèle en mode "assistant concis""Développe en minimum 300 mots." ou "Fournis 5 points détaillés."
Réponse trop longue / rembourragePas de plafond ; modèle optimiste sur la verbosité"Réponse en 3 phrases max." + "N'explique pas ce que tu vas faire."
Ton/style inadaptéAucune directive de ton ; rôle absentDéfinir persona + donner 1 exemple de phrase cible
Résultat hors sujetAmbiguïté lexicale ; contrainte négative absenteReformuler + "Ne parle PAS de X." ; décomposer en sous-tâches
Incohérences entre paragraphesContradictions internes au prompt ; fenêtre context saturéeSupprimer les contradictions ; résumer le contexte avant de le passer
Refus non justifiéTrigger de safety sur un terme ambiguReformuler le terme sensible ; ajouter un contexte professionnel
Résultat non-déterministeTempérature > 0.7 + formulation ouverteBaisser temperature à 0–0.3 pour les tâches structurées

Étape 3 — Analyse Avant / Après

Pour chaque problème identifié, produire un bloc :

PROBLÈME : [symptôme précis]
CAUSE     : [mécanique sous-jacente]
AVANT     : <extrait du prompt fautif>
APRÈS     : <correctif minimal>
POURQUOI  : [explication d'une ligne]

Exemple concret :

PROBLÈME : Le modèle répond en anglais malgré la demande en français.
CAUSE     : La directive de langue arrive après 400 tokens d'instructions en anglais.
AVANT     : "... [long prompt anglais] ... Réponds en français."
APRÈS     : "LANGUE DE RÉPONSE : FRANÇAIS UNIQUEMENT.\n\n[reste du prompt]"
POURQUOI  : Les modèles pondèrent davantage les instructions en début de prompt
            (primacy bias) ; les instructions tardives sont souvent ignorées.

Étape 4 — Prompt corrigé complet

Fournir la version corrigée prête à copier-coller, avec :

Template de structure recommandé :

# RÔLE
Tu es [persona précis].

# CONTEXTE
[Informations factuelles nécessaires, données brutes, extraits de documents]

# TÂCHE
[Action unique et claire — un seul verbe principal]

# CONTRAINTES
- [Contrainte 1]
- [Contrainte 2]
- (3 max pour éviter la surcharge)

# FORMAT DE SORTIE
[Exemple verbatim de la sortie attendue — pas une description]

Étape 5 — Pièges courants et anti-patterns

❌ Anti-patterns à bannir

Anti-patternPourquoi ça échoueAlternative
"Fais de ton mieux"Objectif non défini → variance maximaleCritères de succès explicites
Instructions en prose continueLe modèle perd le fil entre règlesListes à puces ou sections titrées
Répéter la même contrainte 3 foisN'améliore pas l'obéissance, augmente la confusion1 fois, bien formulée, bien placée
Prompt > 2 000 tokens sans structureDégradation de l'attention au milieu (lost-in-the-middle)Diviser en appels chaînés
Mélanger langue du prompt et langue attendueAmbiguïté sur la langue de sortieDéclarer la langue en ligne 1
Température haute + format strict (JSON)Parsing failures fréquentstemperature: 0 pour la génération structurée
Négliger le system promptInstructions utilisateur plus faibles que system en poidsMettre les règles invariantes dans le system prompt

⚠️ Pièges spécifiques aux modèles (2026)


Étape 6 — Validation

Tester le prompt corrigé sur au moins 3 inputs représentatifs couvrant :

  1. Cas nominal (happy path)
  2. Cas limite (input vide, très court, ou ambigu)
  3. Cas adversarial (input qui pourrait déclencher le bug initial)

Checklist de validation rapide :