receiving-code-review
obra/superpowers
Fournit un protocole structuré pour la réception et l'évaluation des commentaires issus de la révision de code, en privilégiant la vérification technique plutôt que l'accord de pure forme.
...Développer toutRéception de la revue de code
Présentation
La revue de code nécessite une évaluation technique, et non une performance émotionnelle.
Principe fondamental : vérifier avant de mettre en œuvre. Demander avant de supposer. Privilégier l’exactitude technique au confort social.
Le modèle de réponse
LORSQUE vous recevez des retours suite à une révision de code :
1. LIRE : Lisez l’intégralité des retours sans réagir
2. COMPRENDRE : Reformulez l’exigence avec vos propres mots (ou posez des questions)
3. VÉRIFIER : Vérifiez la conformité avec la réalité du code
4. ÉVALUER : Est-ce techniquement valable pour CETTE base de code ?
5. RÉPONDRE : Reconnaissance technique ou réfutation argumentée
6. METTRE EN ŒUVRE : Un élément à la fois, tester chacun d’entre eux
Réponses à éviter
JAMAIS :
- « Tu as tout à fait raison ! » (violation flagrante du guide de communication)
- « Très bonne remarque ! » / « Excellent retour ! » (réaction purement formelle)
- « Je vais mettre ça en œuvre tout de suite » (avant vérification)
À LA PLACE :
- Reformulez l'exigence technique
- Posez des questions pour clarifier les choses
- Contestez avec un raisonnement technique si c’est erroné
- Se mettre simplement au travail (les actes priment sur les paroles)
Gérer les retours d’information peu clairs
SI un élément n'est pas clair :
ARRÊTEZ-VOUS – ne mettez encore rien en œuvre
DEMANDEZ des précisions sur les éléments peu clairs
POURQUOI : Les éléments peuvent être liés. Une compréhension partielle = une mise en œuvre erronée.
Exemple :
votre partenaire humain : « Corrigez les points 1 à 6 »
Vous comprenez les points 1, 2, 3 et 6. Vous n’êtes pas sûr des points 4 et 5.
❌ MAUVAIS : Mettre en œuvre les points 1, 2, 3 et 6 maintenant, demander des précisions sur les points 4 et 5 plus tard
✅ BON : « Je comprends les points 1, 2, 3 et 6. J'ai besoin de précisions sur les points 4 et 5 avant de continuer. »
Traitement spécifique à la source
De la part de votre partenaire humain
- Fiable – mettez en œuvre après avoir bien compris
- Demandez tout de même des précisions si le champ d’application n’est pas clair
- Pas d’accord de forme
- Passez directement à l'action ou à la validation technique
De la part des réviseurs externes
AVANT la mise en œuvre :
1. Vérifier : Est-ce techniquement correct pour CETTE base de code ?
2. Vérifier : Cela perturbe-t-il les fonctionnalités existantes ?
3. Vérifier : Quelle est la raison de la mise en œuvre actuelle ?
4. Vérifier : Cela fonctionne-t-il sur toutes les plateformes/versions ?
5. Vérifier : Le réviseur comprend-il pleinement le contexte ?
SI la suggestion semble erronée :
Contestez-la en vous appuyant sur des arguments techniques
SI vous ne pouvez pas vérifier facilement :
Dites-le : « Je ne peux pas vérifier cela sans [X]. Dois-je [vérifier/demander/poursuivre] ? »
SI cela entre en conflit avec les décisions antérieures de votre partenaire humain :
Arrêtez-vous et discutez-en d'abord avec votre partenaire humain
Règle de votre partenaire humain : « Retour externe : soyez sceptique, mais vérifiez soigneusement »
Vérification YAGNI pour les fonctionnalités « professionnelles »
SI le relecteur suggère de « l’implémenter correctement » :
Recherchez dans la base de code si elle est réellement utilisée
SI elle n’est pas utilisée : « Ce point de terminaison n’est pas appelé. Faut-il le supprimer (YAGNI) ? »
SI elle est utilisée : alors implémentez-la correctement
Règle de votre partenaire humain : « Vous et le relecteur relevez tous deux de moi. Si nous n’avons pas besoin de cette fonctionnalité, ne l’ajoutez pas. »
Ordre de mise en œuvre
EN CAS de commentaires portant sur plusieurs éléments :
1. Clarifiez d'abord tout ce qui n'est pas clair
2. Puis implémentez dans cet ordre :
- Problèmes bloquants (dysfonctionnements, sécurité)
- Corrections simples (fautes de frappe, importations)
- Corrections complexes (refactoring, logique)
3. Testez chaque correction individuellement
4. Vérifiez qu’il n’y a pas de régressions
Quand faire preuve de réserve
Refuser lorsque :
- La suggestion perturbe le fonctionnement des fonctionnalités existantes
- Le relecteur ne dispose pas de toutes les informations nécessaires
- Elle enfreint le principe YAGNI (fonctionnalité inutilisée)
- La suggestion est techniquement incorrecte pour cette pile
- Il existe des raisons liées à l'héritage ou à la compatibilité
- En conflit avec les décisions architecturales de votre partenaire humain
Comment riposter :
- Utilisez des arguments techniques, sans adopter une attitude défensive
- Posez des questions précises
- Faites référence à des tests ou à du code fonctionnel
- Impliquez votre partenaire humain s’il s’agit d’une question d’architecture
Si vous ne vous sentez pas à l’aise pour contester à voix haute : identifiez cette tension, puis expliquez à votre partenaire le problème que vous avez constaté. Il appréciera votre honnêteté.
Reconnaître un retour d’expérience pertinent
Lorsque le retour d'information EST pertinent :
✅ « C'est corrigé. [Brève description des modifications apportées] »
✅ « Bien vu – [problème spécifique]. Corrigé à [emplacement]. »
✅ [Corrigez simplement le problème et montrez-le dans le code]
❌ « Tu as tout à fait raison ! »
❌ « Excellente remarque ! »
❌ « Merci de l’avoir repéré ! »
❌ « Merci pour [n’importe quoi] »
❌ TOUTE expression de gratitude
Pourquoi ne pas dire merci : les actes parlent d’eux-mêmes. Contentez-vous de corriger le problème. Le code lui-même montre que vous avez pris en compte le commentaire.
Si vous vous surprenez à écrire « Merci » : SUPPRIMEZ-LE. Indiquez plutôt la correction apportée.
Répondre avec tact à une objection
Si vous avez contesté et que vous aviez tort :
✅ « Tu avais raison — j’ai vérifié [X] et ça fait bien [Y]. Je m’en occupe tout de suite. »
✅ « J'ai vérifié et vous avez raison. Ma compréhension initiale était erronée car [raison]. Je corrige ça. »
❌ Longues excuses
❌ Justifier pourquoi vous avez contesté
❌ Trop d'explications
Exposez la correction de manière factuelle et passez à autre chose.
Erreurs courantes
| Erreur | Solution |
|---|---|
| Accord de pure forme | Exprimer une exigence ou simplement agir |
| Mise en œuvre aveugle | Vérifier d'abord par rapport au code source |
| Traitement par lots sans test | Tester chacun à tour de rôle |
| Partir du principe que le relecteur a raison | Vérifier si cela provoque des dysfonctionnements |
| Éviter les réticences | Exactitude technique > confort |
| Mise en œuvre partielle | Clarifier d'abord tous les points |
| Impossible de vérifier, continuer quand même | Indiquer les limites, demander des instructions |
Exemples concrets
Accord de forme (mauvais) :
Réviseur : « Supprimez le code hérité »
❌ « Vous avez tout à fait raison ! Je vais m'en occuper... »
Vérification technique (bon exemple) :
Réviseur : « Supprimez le code hérité »
✅ « Vérification en cours… La cible de compilation est 10.15+, cette API nécessite la version 13+. Le code hérité est nécessaire pour la rétrocompatibilité. L’implémentation actuelle possède un identifiant de bundle incorrect : faut-il le corriger ou abandonner la prise en charge des versions antérieures à 13 ? »
YAGNI (bon exemple) :
Réviseur : « Implémentez un suivi des métriques correct avec une base de données, des filtres de date et l'exportation au format CSV »
✅ « J’ai parcouru le code à la recherche de cette API : aucun appel n’est effectué vers ce point de terminaison. Dois-je le supprimer (YAGNI) ? Ou y a-t-il une utilisation qui m’échappe ? »
Élément peu clair (Bon) :
Votre partenaire humain : « Corrigez les points 1 à 6. »
Vous comprenez les points 1, 2, 3 et 6. Vous n’êtes pas sûr des points 4 et 5.
✅ « Je comprends les points 1, 2, 3 et 6. J’ai besoin d’éclaircissements sur les points 4 et 5 avant de les implémenter. »
Réponses dans le fil de discussion GitHub
Lorsque vous répondez à des commentaires de révision intégrés sur GitHub, répondez dans le fil de discussion (gh api repos/{propriétaire}/{répositoire}/pulls/{pr}/comments/{id}/replies), et non sous forme de commentaire de pull request de premier niveau.
Conclusion
Les retours externes sont des suggestions à évaluer, pas des ordres à suivre.
Vérifiez. Remettez en question. Puis mettez en œuvre.
Pas d’accord de pure forme. Toujours faire preuve de rigueur technique.
---
name: receiving-code-review
description: Provides a structured protocol for receiving and evaluating code review feedback, emphasizing technical verification over performative agreement.
---
# Code Review Reception
## Overview
Code review requires technical evaluation, not emotional performance.
**Core principle:** Verify before implementing. Ask before assuming. Technical correctness over social comfort.
## The Response Pattern
```
WHEN receiving code review feedback:
1. READ: Complete feedback without reacting
2. UNDERSTAND: Restate requirement in own words (or ask)
3. VERIFY: Check against codebase reality
4. EVALUATE: Technically sound for THIS codebase?
5. RESPOND: Technical acknowledgment or reasoned pushback
6. IMPLEMENT: One item at a time, test each
```
## Forbidden Responses
**NEVER:**
- "You're absolutely right!" (explicit instruction-file violation)
- "Great point!" / "Excellent feedback!" (performative)
- "Let me implement that now" (before verification)
**INSTEAD:**
- Restate the technical requirement
- Ask clarifying questions
- Push back with technical reasoning if wrong
- Just start working (actions > words)
## Handling Unclear Feedback
```
IF any item is unclear:
STOP - do not implement anything yet
ASK for clarification on unclear items
WHY: Items may be related. Partial understanding = wrong implementation.
```
**Example:**
```
your human partner: "Fix 1-6"
You understand 1,2,3,6. Unclear on 4,5.
❌ WRONG: Implement 1,2,3,6 now, ask about 4,5 later
✅ RIGHT: "I understand items 1,2,3,6. Need clarification on 4 and 5 before proceeding."
```
## Source-Specific Handling
### From your human partner
- **Trusted** - implement after understanding
- **Still ask** if scope unclear
- **No performative agreement**
- **Skip to action** or technical acknowledgment
### From External Reviewers
```
BEFORE implementing:
1. Check: Technically correct for THIS codebase?
2. Check: Breaks existing functionality?
3. Check: Reason for current implementation?
4. Check: Works on all platforms/versions?
5. Check: Does reviewer understand full context?
IF suggestion seems wrong:
Push back with technical reasoning
IF can't easily verify:
Say so: "I can't verify this without [X]. Should I [investigate/ask/proceed]?"
IF conflicts with your human partner's prior decisions:
Stop and discuss with your human partner first
```
**your human partner's rule:** "External feedback - be skeptical, but check carefully"
## YAGNI Check for "Professional" Features
```
IF reviewer suggests "implementing properly":
grep codebase for actual usage
IF unused: "This endpoint isn't called. Remove it (YAGNI)?"
IF used: Then implement properly
```
**your human partner's rule:** "You and reviewer both report to me. If we don't need this feature, don't add it."
## Implementation Order
```
FOR multi-item feedback:
1. Clarify anything unclear FIRST
2. Then implement in this order:
- Blocking issues (breaks, security)
- Simple fixes (typos, imports)
- Complex fixes (refactoring, logic)
3. Test each fix individually
4. Verify no regressions
```
## When To Push Back
Push back when:
- Suggestion breaks existing functionality
- Reviewer lacks full context
- Violates YAGNI (unused feature)
- Technically incorrect for this stack
- Legacy/compatibility reasons exist
- Conflicts with your human partner's architectural decisions
**How to push back:**
- Use technical reasoning, not defensiveness
- Ask specific questions
- Reference working tests/code
- Involve your human partner if architectural
**If you're uncomfortable pushing back out loud:** Name that tension, then tell your partner about the issue you've seen. They'll appreciate your honesty.
## Acknowledging Correct Feedback
When feedback IS correct:
```
✅ "Fixed. [Brief description of what changed]"
✅ "Good catch - [specific issue]. Fixed in [location]."
✅ [Just fix it and show in the code]
❌ "You're absolutely right!"
❌ "Great point!"
❌ "Thanks for catching that!"
❌ "Thanks for [anything]"
❌ ANY gratitude expression
```
**Why no thanks:** Actions speak. Just fix it. The code itself shows you heard the feedback.
**If you catch yourself about to write "Thanks":** DELETE IT. State the fix instead.
## Gracefully Correcting Your Pushback
If you pushed back and were wrong:
```
✅ "You were right - I checked [X] and it does [Y]. Implementing now."
✅ "Verified this and you're correct. My initial understanding was wrong because [reason]. Fixing."
❌ Long apology
❌ Defending why you pushed back
❌ Over-explaining
```
State the correction factually and move on.
## Common Mistakes
| Mistake | Fix |
|---------|-----|
| Performative agreement | State requirement or just act |
| Blind implementation | Verify against codebase first |
| Batch without testing | One at a time, test each |
| Assuming reviewer is right | Check if breaks things |
| Avoiding pushback | Technical correctness > comfort |
| Partial implementation | Clarify all items first |
| Can't verify, proceed anyway | State limitation, ask for direction |
## Real Examples
**Performative Agreement (Bad):**
```
Reviewer: "Remove legacy code"
❌ "You're absolutely right! Let me remove that..."
```
**Technical Verification (Good):**
```
Reviewer: "Remove legacy code"
✅ "Checking... build target is 10.15+, this API needs 13+. Need legacy for backward compat. Current impl has wrong bundle ID - fix it or drop pre-13 support?"
```
**YAGNI (Good):**
```
Reviewer: "Implement proper metrics tracking with database, date filters, CSV export"
✅ "Grepped codebase - nothing calls this endpoint. Remove it (YAGNI)? Or is there usage I'm missing?"
```
**Unclear Item (Good):**
```
your human partner: "Fix items 1-6"
You understand 1,2,3,6. Unclear on 4,5.
✅ "Understand 1,2,3,6. Need clarification on 4 and 5 before implementing."
```
## GitHub Thread Replies
When replying to inline review comments on GitHub, reply in the comment thread (`gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies`), not as a top-level PR comment.
## The Bottom Line
**External feedback = suggestions to evaluate, not orders to follow.**
Verify. Question. Then implement.
No performative agreement. Technical rigor always.
Tous les fichiers
0 fichiersInstaller receiving-code-review
Téléchargez et décompressez les fichiers de compétences dans votre répertoire .claude/skills/.
Télécharger le ZIPClonez le dépôt et copiez les fichiers de compétence dans votre projet.
git clone https://github.com/obra/superpowers/tree/main/skills/receiving-code-review # Copy SKILL.md to your .claude/skills/ directory
Copier





Maison
