« Construisez l'outil que vous auriez aimé avoir la semaine dernière. »
Vous créez une application de zéro, en dialoguant avec un agent, dans l'IDE ou en CLI, au choix : Copilot en mode agent (configuré à l'atelier 1) ou Copilot CLI, tous deux gratuits avec Copilot Free. Si vous avez un abonnement, Claude Code, Codex ou Junie conviennent aussi.
Étapes 1 et 2 : l'agent seul, sans plugin. Pas de Superpowers, de Spec Kit, de grill-me ni d'autre méthode installée. Uniquement vos prompts et les fonctions natives de l'outil. Le but est de comprendre ce que ces outils automatisent, en le faisant à la main.
Étape 3 (bonus) : avec un plugin. Vous refaites une fonctionnalité avec Superpowers et vous comparez.
Si le temps manque, l'étape 1 suffit : elle vous donne une première version qui tourne. Les étapes 2 et 3 se font en fin de journée ou après la formation, avec cette fiche.
AGENTS.md et PLAN.md (ou un dossier vide, initialisé avec git init).PROMPTS.md vide : vous y notez vos prompts au fil de l'atelier, ceux qui ont marché et ceux qui n'ont pas marché.Si votre application a une interface, prenez 10 minutes pour en dessiner l'écran principal dans UX Pilot (offre gratuite) ou une alternative, puis faites une capture. Vous la joindrez au premier prompt de l'étape 1. Pour un outil en ligne de commande, écrivez plutôt un exemple de la sortie attendue.
Un jeu d'ambiance à jouer à plusieurs sur un seul téléphone, qu'on se passe de main en main. Chaque joueur découvre en secret un mot. Les civils ont tous le même mot, l'imposteur reçoit un mot proche (« chat » et « tigre », par exemple). À tour de rôle, chacun donne un indice d'un mot, puis tout le monde vote pour éliminer un suspect. Les civils gagnent s'ils éliminent l'imposteur ; l'imposteur gagne s'il reste en jeu jusqu'au duel final.
Le sujet se prête bien à l'atelier : les règles sont claires, il y a une interface, un état à suivre (tours, votes, éliminations) et des règles à tester (égalité au vote, conditions de victoire). Il se découpe aussi naturellement en trois étapes :
Le principe : ne jamais demander « code-moi l'application ». On passe d'abord par trois documents écrits, puis on code par petites étapes.
| Étape | Ce qu'on fait | Fichier produit |
|---|---|---|
| 1. Affiner l'idée | Le modèle vous interroge, une question à la fois | — |
| 2. Spécification | Le modèle compile vos réponses en une spec | spec.md |
| 3. Plan | La spec devient une suite de prompts courts, qui s'enchaînent | prompt_plan.md |
| 4. Checklist | Une liste de tâches à cocher | todo.md |
| 5. Exécution | Un prompt du plan à la fois : on code, on teste, on commite | le code |
Tout se fait dans l'agent. On pourrait faire les étapes 1 à 4 dans un chat en ligne et ne passer à l'outil de code qu'à l'étape 5. Ici, vous faites tout dans votre agent, directement dans le dossier du projet : les fichiers sont écrits au bon endroit, et l'agent les relira plus tard.
Remplacez la dernière ligne par votre idée, en une ou deux phrases. Si vous avez fait l'étape 0, joignez la capture du wireframe au prompt : l'agent s'en servira pour la spécification. Répondez aux questions jusqu'à ce que l'agent n'en ait plus, ou jusqu'à ce que vous estimiez en avoir assez dit.
Pose-moi une seule question à la fois pour que nous construisions ensemble une spécification complète et détaillée de cette idée. Chaque question doit s'appuyer sur mes réponses précédentes. L'objectif final est une spécification assez précise pour être confiée à un développeur. Avançons pas à pas et creusons chaque point important. Ne code rien pour l'instant. Rappel : une seule question à la fois. Voici l'idée : [VOTRE IDÉE]
Nous avons fini le brainstorming. Compile tout ce que nous avons décidé en une spécification complète, prête pour un développeur : besoins fonctionnels, choix d'architecture et de stack, données manipulées, gestion des erreurs, et plan de tests. Un développeur doit pouvoir commencer à coder immédiatement à partir de ce document. Écris-la dans spec.md.
Relisez spec.md. Corrigez ce qui ne vous convient pas, à la main ou en le demandant. C'est le dernier moment où changer d'avis ne coûte rien.
Deux variantes. Choisissez la variante TDD si vous voulez des tests dès la première étape (recommandé), la variante sans TDD pour un prototype rapide.
À partir de spec.md, rédige un plan de construction détaillé, étape par étape. Découpe ensuite ce plan en petits morceaux qui s'appuient les uns sur les autres. Repasse sur ces morceaux pour les découper encore. Vérifie que chaque étape est assez petite pour être implémentée sans risque, avec de vrais tests, mais assez grande pour faire avancer le projet. Recommence jusqu'à ce que la taille des étapes soit juste. Transforme enfin chaque étape en un prompt destiné à un agent de code, qui implémente l'étape en TDD : test d'abord, puis le code. Contraintes : bonnes pratiques, progression incrémentale, tests le plus tôt possible, aucun saut de complexité. Chaque prompt s'appuie sur les précédents et se termine en branchant le nouveau code sur l'existant : pas de code orphelin. Sépare chaque prompt dans sa propre section, en Markdown, et place le texte de chaque prompt dans un bloc de code. Écris le résultat dans prompt_plan.md.
À partir de spec.md, rédige un plan de construction détaillé, étape par étape. Découpe ensuite ce plan en petits morceaux qui s'appuient les uns sur les autres. Repasse sur ces morceaux pour les découper encore, jusqu'à ce que chaque étape soit assez petite pour être faite sans risque, mais assez grande pour faire avancer le projet. Transforme enfin chaque étape en un prompt destiné à un agent de code. Contraintes : bonnes pratiques, progression incrémentale, aucun saut de complexité. Chaque prompt s'appuie sur les précédents et se termine en branchant le nouveau code sur l'existant : pas de code orphelin. Sépare chaque prompt dans sa propre section, en Markdown, et place le texte de chaque prompt dans un bloc de code. Écris le résultat dans prompt_plan.md.
À partir de prompt_plan.md, crée un todo.md que je peux utiliser comme checklist, avec une case à cocher par tâche. Sois exhaustif.
Commitez les trois fichiers : spec.md, prompt_plan.md, todo.md. Ils sont la mémoire du projet : si vous fermez la session, l'agent repart d'eux.
Ouvrez une nouvelle session (bouton + du chat ; dans Claude Code, /clear). Le brainstorming n'a plus besoin d'être dans le contexte, tout est dans les fichiers. Puis bouclez :
todo.md et commitez. Sinon : corrigez avant de passer à la suite.Lis spec.md, prompt_plan.md et todo.md. Implémente la prochaine étape non cochée de todo.md, en suivant son prompt dans prompt_plan.md. Lance les tests et montre-moi leur résultat. Quand ils passent, coche la case dans todo.md et propose un message de commit. Arrête-toi après cette étape.
Avec un chat en ligne, qui ne voit pas votre projet, il faudrait regrouper tout le code dans un seul fichier (avec repomix, par exemple) et le lui renvoyer. Un agent de code lit déjà le dépôt : donnez-lui plutôt le message d'erreur exact et ce que vous attendiez. Si l'agent tourne en rond, revenez au dernier commit qui marchait et reformulez l'étape plus petite.
Trois autres prompts, pour un projet qui existe déjà. Ils vous serviront en fin d'étape 1, sur votre propre code.
Tu es un développeur senior. Fais une revue complète de ce projet, comme si tu la préparais pour un collègue. Pour chaque remarque, indique le fichier, les numéros de ligne et le contexte. N'invente rien : ne signale que ce que tu vois réellement dans le code. Écris la revue en Markdown dans code-review.md.
Tu es un développeur senior. Liste les principaux problèmes de ce projet : bugs, défauts de conception, code peu lisible. Rédige chacun comme un ticket GitHub : titre, description, fichier concerné, correction proposée. N'invente rien. Écris le résultat dans issues.md.
Tu es un développeur senior. Liste les cas de test qui manquent dans ce projet, en commençant par les plus risqués. Rédige chacun comme un ticket GitHub : ce qu'il faut tester, pourquoi, et le fichier concerné. Écris le résultat dans missing-tests.md.
PROMPTS.md.spec.md, prompt_plan.md et todo.md sont commités.PROMPTS.md les prompts que vous avez dû corriger.Source principale : la page Best practices for Claude Code d'Anthropic. Ses principes valent pour tout agent de code. Cette fiche les applique à Copilot en mode agent dans VS Code, l'outil gratuit de la journée ; les équivalents pour Claude Code et Junie sont en fin d'étape. Le point de départ de la documentation : dans la plupart des cas, un prompt simple dans une session neuve fait déjà la bonne chose. Les bonnes pratiques servent quand votre projet a des connaissances, des règles ou des contraintes que l'agent ne peut pas deviner en lisant le code.
Le travail de l'étape : appliquez ces pratiques à votre application, puis ajoutez une deuxième fonctionnalité en les utilisant.
En ping-pong TDD. Pour cette deuxième fonctionnalité, c'est vous qui gardez la définition de « correct » :
Des idées de règles : une échéance calculée sur des dates (créée un 31, elle révèle souvent un bug), le départage d'une égalité au vote pour le jeu façon Undercover, une entrée vide ou un argument invalide pour un outil en ligne de commande.
Quatre causes pour une session qui tourne mal, d'après la documentation :
La documentation distingue deux familles :
AGENTS.md, une skill. Le modèle lit et décide. Il suit presque toujours, sans garantie.Par défaut, laissez l'agent décider. Réservez le déterministe à ce qui doit arriver toujours (ou jamais). Si vous ajoutez « IMPORTANT » à une ligne d'AGENTS.md et qu'elle est encore ignorée, elle devrait être un hook.
Une demande d'approbation ne bloque rien. Dans VS Code, une entrée à false dans chat.tools.terminal.autoApprove vous fait demander votre accord ; la documentation précise qu'elle n'empêche pas la commande. En niveau « Allow all » ou en Autopilot, ces règles ne sont même plus consultées. Pour interdire, il faut un hook.
L'agent lit très bien un dépôt. Il ne peut pas connaître ce qui n'y est pas : une décision prise en réunion, une procédure qui est dans votre tête, une variable d'environnement. Avant d'écrire quelque chose pour lui, posez-vous deux questions : pourrait-il le trouver en lisant le code ? Irait-il vraiment chercher ? Si les deux réponses sont oui, ne l'écrivez pas.
Nommez le fichier, décrivez le symptôme, dites à quoi ressemble « réparé ».
| Au lieu de | Essayez |
|---|---|
| « corrige le bug de connexion » | « la connexion échoue après l'expiration de la session. Regarde le rafraîchissement du jeton dans src/auth/, écris un test qui échoue et reproduit le bug, puis corrige-le » |
| « ajoute un widget calendrier » | « suis le modèle de HotDogWidget.php et construis un widget calendrier qui permet de choisir un mois et de passer d'une année à l'autre. Aucune nouvelle bibliothèque » |
#file:chemin/du/fichier (ou glissez le fichier dans le chat), une capture d'écran collée dans le prompt (maquette, erreur), ou la sortie exacte d'une commande, copiée depuis le terminal.Construis la page de paramètres à partir de la maquette. Sois ambitieux : états vide et erreur, enregistrement branché, navigation au clavier, pas seulement la mise en page.
Pour explorer plutôt que corriger, un prompt vague comme « qu'est-ce que tu améliorerais dans ce fichier ? » convient très bien.
C'est l'équivalent natif des prompts 1 et 2 de l'étape 1. Utilisez-le pour votre deuxième fonctionnalité, de préférence avec l'agent Plan :
Je veux ajouter [VOTRE FONCTIONNALITÉ] mais je n'y ai pas encore bien réfléchi. Interroge-moi, une question à la fois, jusqu'à pouvoir écrire la spécification, puis écris-la dans SPEC.md.
Ensuite, ouvrez une nouvelle session (bouton + du chat) pour construire : le travail démarre avec un contexte propre et une définition écrite de « terminé ». Une session neuve consomme aussi moins de quota qu'une longue conversation.
Vous avez écrit AGENTS.md à l'atelier 1. Il est chargé à chaque requête : chaque ligne prend un peu d'attention, sur chaque tâche. Relisez-le et n'y gardez que :
# Commandes - Installer : pnpm install - Lancer un fichier de test : pnpm vitest run chemin/du/fichier.test.ts - Typecheck : pnpm tsc --noEmit # Conventions - Utiliser les helpers d'erreur de src/lib/errors.ts, jamais de chaîne brute # Pièges - Les tests d'intégration ont besoin de DATABASE_URL, voir .env.example
AGENTS.md apparaît dans les références de la réponse.CLAUDE.md (ou une seule ligne @AGENTS.md pour réutiliser le fichier). /init en génère une première version à partir du code, /context confirme qu'il est chargé, et vos préférences personnelles vont dans CLAUDE.local.md, ajouté au .gitignore..github/instructions/<nom>.instructions.md, avec un filtre applyTo: "src/api/**" dans l'en-tête..github/prompts/<nom>.prompt.md, appelé par /<nom> dans le chat. Une procédure que l'agent doit pouvoir déclencher seul va dans une skill : .github/skills/<nom>/SKILL.md.L'agent s'arrête quand le travail a l'air fini. Sans rien à lancer qui réponde « réussi » ou « échoué », c'est vous qui devenez la suite de tests. Avec une vérification, il boucle seul : il modifie, lance, lit l'erreur, corrige, relance.
La vérification peut être un fichier de test, le code de sortie d'un build, un linter, un script qui compare une sortie à une référence, ou une capture d'écran du navigateur à côté de la maquette.
| Niveau | Comment |
|---|---|
| Dans le prompt | « lance les tests d'authentification après, et continue jusqu'à ce qu'ils passent ». Aucune configuration. |
| Un relecteur neuf | Un agent personnalisé en lecture seule (ci-dessous), lancé dans une nouvelle session : il n'a pas vu le code s'écrire. |
| Un hook de fin | Un script lancé quand l'agent veut s'arrêter ; si les tests échouent, il le relance avec l'erreur. Imposé par l'outil. En aperçu dans VS Code. |
Demandez toujours des preuves : la commande lancée et sa sortie, ou la capture. « Tous les tests passent », seul, ne dit presque rien.
--- description: Relit les fichiers modifiés par rapport à la spec dont ils sont issus. À utiliser après une fonctionnalité, avant le commit. tools: ['search', 'read'] --- Tu relis du code que tu n'as pas écrit. Compare les fichiers modifiés à la spec fournie, vérifie que chaque exigence est implémentée et que les cas limites listés ont des tests, et ne signale que les écarts qui touchent à la correction. Ignore le style. Tu ne modifies aucun fichier.
--- name: reviewer description: Relit les fichiers modifiés par rapport à la spec dont ils sont issus. À utiliser après avoir implémenté une fonctionnalité, avant d'ouvrir la PR. tools: Read, Grep, Glob --- Tu relis du code que tu n'as pas écrit. Compare les fichiers modifiés à la spec fournie, vérifie que chaque exigence est implémentée et que les cas limites listés ont des tests, et ne signale que les écarts qui touchent à la correction. Ignore le style.
Avec Claude Code, demandez : « Utilise le sous-agent reviewer pour relire le diff de [FONCTIONNALITÉ] par rapport à SPEC.md. » /code-review fait une relecture comparable sans configuration.
Avec Copilot, ouvrez le fichier : le bouton Configurer les outils au-dessus de l'en-tête permet de vérifier que seuls des outils de lecture sont cochés. Puis, dans une nouvelle session, choisissez l'agent relecteur dans le sélecteur et envoyez :
Relis les modifications de [FONCTIONNALITÉ] (git diff) par rapport à SPEC.md : vérifie que chaque exigence est implémentée et que les cas limites listés ont des tests. Ne signale que les écarts qui touchent à la correction du code, ignore le style.
Gardez « ignore le style » : un relecteur à qui l'on demande des problèmes en trouvera toujours. Tout corriger mène à des couches d'abstraction en trop et à des tests de cas impossibles.
Les hooks de VS Code sont en aperçu : le format peut changer, testez-le sur votre version. Ce script demande Node.js ; remplacez npm test par votre commande (pytest, cargo test, mvn -q test…).
{
"version": 1,
"hooks": {
"agentStop": [
{ "type": "command", "command": "node .github/hooks/verifier.cjs", "timeoutSec": 120 }
]
}
}
const { execSync } = require('node:child_process');
let entree = '';
process.stdin.on('data', (morceau) => (entree += morceau));
process.stdin.on('end', () => {
// Déjà relancé une fois par ce hook : on laisse l'agent s'arrêter.
if (/"stop_hook_active"\s*:\s*true/.test(entree)) return;
try {
execSync('npm test', { stdio: 'pipe' });
} catch (erreur) {
const sortie = String(erreur.stdout || '') + String(erreur.stderr || '');
console.log(JSON.stringify({
decision: 'block',
reason: 'Les tests échouent. Corrige-les avant de terminer :\n' + sortie.slice(-2000)
}));
}
});
Le champ stop_hook_active évite une boucle sans fin quand les tests ne peuvent jamais passer : ici, l'agent est relancé une seule fois. Si le hook ne se déclenche pas sur votre version, la vérification dans le prompt suffit pour l'atelier.
« Ne jamais lire .env », « toujours formater après une modification », « ne pas toucher aux migrations » : l'agent les suit presque toujours. Quand « presque » ne suffit pas, sortez-les d'AGENTS.md.
Un hook preToolUse est lancé avant chaque outil. S'il répond deny, l'outil n'est pas appelé, quel que soit le niveau de permission. Ici, toute action qui mentionne un fichier .env est refusée.
{
"version": 1,
"hooks": {
"preToolUse": [
{ "type": "command", "command": "node .github/hooks/proteger-env.cjs", "timeoutSec": 10 }
]
}
}
let entree = '';
process.stdin.on('data', (morceau) => (entree += morceau));
process.stdin.on('end', () => {
if (/\.env\b/.test(entree)) {
console.log(JSON.stringify({
permissionDecision: 'deny',
permissionDecisionReason: "Les fichiers .env sont interdits à l'agent."
}));
}
});
Testez : « Affiche le contenu de .env ». L'agent doit recevoir le refus et vous l'expliquer. Si le script plante, l'appel est refusé ; s'il dépasse son délai, les permissions normales s'appliquent.
{
"chat.tools.terminal.autoApprove": {
"/^git (status|diff|log)\\b/": true,
"git push": false,
"rm": false
}
}
Les commandes à true passent sans demander, celles à false demandent toujours votre accord. Rappel : demander n'est pas interdire.
chat.agent.sandbox.enabled) limite l'accès des commandes au système de fichiers et au réseau, même en « Allow all ». En aperçu sur macOS, Linux et WSL2, expérimental sous Windows.AGENTS.md.Regardez la première minute. Arrêtez l'agent dès qu'il dérive. Après deux corrections ratées, une nouvelle session et un meilleur prompt plutôt qu'une troisième correction.
| Copilot (VS Code) | Claude Code | Effet |
|---|---|---|
| Bouton Arrêter du chat | Esc | Arrête l'agent en cours d'action, garde le travail fait. |
| Restaurer le point de contrôle (au survol d'une requête) | /rewind ou Esc deux fois | Revient avant cette requête. Permet de tenter l'approche audacieuse d'abord. |
| Bouton + (nouvelle session) | /clear | Repart de zéro, sans les tentatives ratées dans le contexte. |
| Historique des sessions | /rename puis claude --resume | Reprendre une session plus tard. |
| Menu Copilot de la barre d'état | /usage | Voir la consommation. |
Ne comptez pas sur les points de contrôle pour ce qu'une commande du terminal a modifié. Ils complètent git sans le remplacer : continuez à commiter.
| Ancien conseil | Pourquoi il ne sert plus |
|---|---|
| Gérer le contexte de façon agressive | Les agents résument la conversation quand elle devient longue. Une nouvelle session entre deux tâches reste utile, et économise le quota. |
| Ajouter IMPORTANT ou des majuscules | Les modèles actuels suivent une ligne simple ; l'insistance les fait sur-appliquer la règle. |
| Multiplier les sous-agents | Gardez-les pour la relecture par un regard neuf. |
| « think hard », « be thorough » | Ce n'est que du texte. Un prompt précis et une vérification à passer comptent davantage. |
| « continue jusqu'au bout, ne sois pas paresseux » | Provoque plutôt du sur-travail. Donnez une vérification à passer ; si ça s'arrête, dites « continue ». |
Décrire l'architecture dans AGENTS.md | L'agent lit le dépôt. N'écrivez que ce qui n'y est pas. |
Les principes restent les mêmes, seuls les noms changent.
| Copilot (VS Code) | Copilot CLI | Claude Code | Junie | |
|---|---|---|---|---|
| Instructions | AGENTS.md | AGENTS.md (lit aussi .github/copilot-instructions.md et CLAUDE.md) | CLAUDE.md (avec @AGENTS.md) | .junie/AGENTS.md |
| Mode plan | Agent Plan | Shift+Tab, mode plan | Shift+Tab, mode plan | Plan Mode |
| Vérification | Prompt, hook agentStop (aperçu) | Prompt, hook agentStop (mêmes fichiers .github/hooks/) | Prompt, /goal, hook Stop | Prompt |
| Règles imposées | Hook preToolUse, bac à sable | Hook preToolUse (décision deny), /sandbox | Règles deny, hooks, /sandbox | Réglages d'approbation |
| Relecteur | .github/agents/*.agent.md | .github/agents/*.agent.md, choisi avec /agent | .claude/agents/*.md, /code-review | Une nouvelle session |
| Retour arrière | Points de contrôle | /undo (alias /rewind), Esc deux fois | /rewind, Esc deux fois | Git |
/init génère un premier CLAUDE.md ; /context confirme qu'il est chargé. Vos préférences personnelles vont dans CLAUDE.local.md, ajouté au .gitignore./goal tous les tests de tests/auth passent et le lint est propre : un autre modèle vérifie la condition après chaque tour./code-review relit le diff dans un sous-agent qui n'a pas vu la conversation ; /verify fait construire, lancer et regarder l'application./effort low pour un premier jet, /effort high pour un bug difficile ; /usage montre la consommation ; /clear et /compact nettoient le contexte.{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command", "command": "pnpm tsc --noEmit 1>&2 || exit 2" }
]
}
]
},
"permissions": {
"allow": ["Bash(pnpm tsc --noEmit)"],
"ask": ["Bash(git push *)"],
"deny": ["Read(./.env)", "Read(./.env.local)", "Read(./secrets/**)"]
}
}
Si la vérification ne peut jamais passer, Claude Code relance l'agent jusqu'à huit fois de suite, puis rend la main avec un avertissement. Un script de hook peut lire stop_hook_active pour laisser Claude s'arrêter. Les règles deny s'appliquent dans tous les modes.
AGENTS.md court, avec au moins la commande de test.SPEC.md obtenu par interview.preToolUse (ou une règle deny dans Claude Code).Superpowers (Jesse Vincent, licence MIT) est un ensemble de skills pour les agents de code. Il automatise une bonne partie de ce que vous venez de faire à la main : le brainstorming, le plan découpé en petites tâches, le TDD, la relecture. Les skills se déclenchent seules, au bon moment.
Superpowers ne documente officiellement, côté Copilot, que Copilot CLI (copilot plugin marketplace add obra/superpowers-marketplace, puis copilot plugin install superpowers@superpowers-marketplace) : c'est la voie la plus sûre si vous travaillez en CLI. Dans VS Code, deux voies, à tester avant de s'y fier.
Voie 1 · le plugin, avec les plugins d'agent de VS Code (fonction en aperçu ; VS Code lit le format de plugin de Claude Code, sans garantir que tous ses composants fonctionnent). Dans les réglages :
"chat.plugins.enabled": true, "chat.plugins.marketplaces": ["obra/superpowers-marketplace"]
Puis installez Superpowers depuis la vue Extensions (filtre @agentPlugins) ou la commande « Chat: Plugins ». Autre possibilité : la commande « Chat: Install Plugin from Source », avec l'adresse https://github.com/obra/superpowers. Un plugin peut contenir des hooks qui exécutent du code sur votre machine : n'ajoutez que des sources que vous avez vérifiées.
Voie 2 · copier les skills (la plus simple, et la seule qui ne dépend d'aucune fonction en aperçu). Les skills de Superpowers suivent le format ouvert Agent Skills, que VS Code lit dans .github/skills/. Récupérez le dépôt à côté de votre projet, puis copiez ses skills :
git clone --depth 1 https://github.com/obra/superpowers ../superpowers mkdir -p .github/skills cp -r ../superpowers/skills/* .github/skills/
git clone --depth 1 https://github.com/obra/superpowers ../superpowers New-Item -ItemType Directory -Force .github/skills Copy-Item -Recurse ../superpowers/skills/* .github/skills/
À tester avant de s'y fier. Dans les deux voies, le hook de démarrage du plugin (qui rappelle à l'agent d'utiliser ses skills) n'est pas garanti dans VS Code : commencez votre prompt par « Utilise la skill brainstorming ». Certaines skills supposent les outils de Claude Code (sous-agents, worktrees) : Copilot les adapte, avec des écarts. Ajoutez .github/skills/ au .gitignore si vous ne voulez pas les garder dans le projet.
/plugin install superpowers@claude-plugins-official
/plugin marketplace add obra/superpowers-marketplace /plugin install superpowers@superpowers-marketplace
| Skill | Quand | Ce qu'elle fait | Équivalent à la main |
|---|---|---|---|
brainstorming | Avant de construire | Pose des questions sur ce que vous voulez et pourquoi, reformule, écrit un document de conception | Prompts 1 et 2 · interview → SPEC.md |
using-git-worktrees | Conception validée | Crée un espace isolé sur une nouvelle branche, vérifie que les tests passent au départ | Une branche à la main |
writing-plans | Conception validée | Découpe en tâches de 2 à 5 minutes, avec chemins de fichiers, code et vérifications | Prompts 3 et 4 · prompt_plan.md, todo.md |
subagent-driven-development ou executing-plans | Plan prêt | Un sous-agent neuf par tâche avec relecture après chacune, ou tout en ligne avec une relecture finale | Prompt 5, en boucle |
test-driven-development | Pendant l'implémentation | Impose le cycle rouge → vert → refactor ; supprime le code écrit avant son test | Variante TDD du plan |
requesting-code-review | Entre les tâches | Relit par rapport au plan, classe les problèmes par gravité ; les critiques bloquent | Revue contre la spec |
finishing-a-development-branch | Tâches terminées | Vérifie les tests, propose fusion, PR, conservation ou abandon, nettoie | Commit et fusion à la main |
La même idée, outillée autrement. GitHub Spec Kit (commandes /speckit.specify, /speckit.plan, /speckit.tasks, /speckit.implement, avec Copilot comme avec Claude Code), Kiro (l'IDE agentique d'AWS) et OpenSpec automatisent la démarche « spécification d'abord » de l'étape 1. À essayer après la formation.
Les autres skills : systematic-debugging, verification-before-completion, dispatching-parallel-agents, receiving-code-review, writing-skills, using-superpowers, diagnosing-superpowers.
brainstorming).brainstorming étaient-elles meilleures que les vôtres ? Plus nombreuses ?writing-plans est-il plus fin que votre prompt_plan.md ?/usage dans Claude Code) par rapport à l'étape 2 ?| Spec, plan, checklist | Bonnes pratiques de l'agent | Superpowers | |
|---|---|---|---|
| Cadrage | Une question à la fois → spec.md | Interview → SPEC.md, mode plan | Skill brainstorming |
| Plan | prompt_plan.md + todo.md | Pas de format imposé | Skill writing-plans |
| Vérification | Tests à chaque étape, vous les lancez | Vérification lancée par l'agent, relecteur, hook de fin | TDD imposé, relecture entre les tâches |
| Garde-fous | Vos commits | Hook preToolUse, approbations, bac à sable | Worktree isolé, revues bloquantes |
| Outil | N'importe quel LLM | Copilot, Claude Code, Junie… | Plugin à installer |
| Qui pilote | Vous, à chaque prompt | Vous, avec des contrôles automatiques | Les skills, vous validez |
spec.md, prompt_plan.md, todo.md (étape 1) et SPEC.md, AGENTS.md, .github/hooks/ (étape 2).PROMPTS.md : vos prompts, ceux qui ont marché et ceux qui non.