Synthèse automatique
Ce skill fournit une grille de revue de code couvrant la correction, la sécurité, la lisibilité, la conception, les tests et la performance, avec une convention d'étiquetage des commentaires pour prioriser les retours.
Points forts
- Convention d'étiquetage claire (BLOCKER, CONCERN, SUGGESTION, NOTE) qui rend explicite l'action attendue de l'auteur
- Checklist structurée par thèmes, avec des questions concrètes sur les cas limites, les requêtes SQL paramétrées, les secrets ou les requêtes en boucle
- Exemple avant/après montrant comment transformer un commentaire vague en retour spécifique et actionnable
- Règles explicites de discipline de contexte pour un relecteur IA : citer des numéros de ligne plutôt que de gros blocs de code
Limites
- Aucune règle spécifique à un langage ou un framework : les critères restent génériques
- Purement heuristique, sans outillage d'analyse statique ni détection automatique de problèmes
- Certains seuils (30 secondes par fonction, profondeur d'imbrication ≤ 3) sont des repères indicatifs, non des règles objectives
À utiliser lorsqu'il faut relire une pull request ou un diff et produire des retours structurés et hiérarchisés plutôt qu'une liste d'impressions.
À ne pas utiliser comme substitut à un linter, à une analyse statique de sécurité ou à un guide de style propre à un langage.
Analyse de sécurité
SûrThe skill is a plain-language code review checklist. Its declared tools (Read, Write, Edit, Glob, Grep) are all file-scoped with no shell, network, or credential access, and the body contains no executable instructions, no curl/pipe-to-shell, no deletion commands, and no secret handling. The only mildly notable point is that Write/Edit are granted for what is essentially an advisory document, but nothing in the text directs destructive or exfiltrating behavior.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Review this pull request diff for correctness, security, and test coverage. Label each finding as BLOCKER, CONCERN, SUGGESTION, or NOTE, and reference line numbers instead of quoting large blocks.I left the comment 'this function is too long' on a PR. Rewrite it as actionable feedback using the SUGGESTION label, explaining what to split and why.Check this API route against the security checklist: input validation, parameterized queries, secrets handling, auth checks before business logic, and OWASP API Top 10 concerns.name: code-review-checklist description: Code review guidelines covering code quality, security, and best practices. allowed-tools: Read, Write, Edit, Glob, Grep version: 1.0.0 last-updated: 2026-03-12 applies-to-model: gemini-2.5-pro, claude-3-7-sonnet routing: domain: general tier: basic
Code Review Standards
Review Mindset
Reviews are collaborative. The goal is better code — not proof that the reviewer is smarter.
Before commenting:
- Understand what the code is trying to do before judging how it does it
- Distinguish between personal preference and objective problems
- Label your findings so the author understands the expected action
Comment label convention:
BLOCKER:— must be fixed before merge (bug, security issue, broken behavior)CONCERN:— likely problem that needs discussion before proceedingSUGGESTION:— would improve the code but is not requiredNOTE:— observation or question, no action needed
What to Check
Correctness
- Does the code do what it claims to do?
- Are edge cases handled? (empty input, null, max value, concurrent execution)
- Does error handling cover realistic failure modes?
- Are there off-by-one errors? Integer overflow risks?
Security
- Is user input validated before it's used?
- Are SQL queries parameterized — never string-concatenated?
- Are secrets in environment variables — not in code?
- Are auth checks happening before business logic executes?
- Is the OWASP API Top 10 considered for any API routes?
Readability
- Can you understand the intent in under 30 seconds per function?
- Are names self-documenting at the right level of abstraction?
- Are complex sections commented with why, not what?
- Is nesting kept to a manageable depth (≤3 levels)?
Design
- Is this code easy to change? Or would changing one thing break five others?
- Are there clear boundaries between concerns?
- Is logic duplicated anywhere that should be shared?
- Is the new code consistent with how the rest of the codebase does similar things?
Tests
- Are tests testing behavior or implementation details?
- Do tests cover the happy path, edge cases, and known failure modes?
- Do test names describe the expected behavior in plain language?
- Would these tests catch a regression if someone broke this code?
Performance
- Are there database queries inside loops?
- Are large datasets loaded into memory when they could be streamed?
- Are expensive operations (network, file I/O) done unnecessarily?
Review Process
- Read the PR description first — understand intent before reading code
- Read tests first — they tell you what the code is supposed to do
- Read the implementation — verify it matches what the tests describe
- Run it locally for significant changes — static reading misses runtime behavior
Giving Feedback
Effective feedback is:
- Specific — references the exact line and the exact concern
- Actionable — tells the author what to change, not just that something is wrong
- Explanatory — gives the reasoning, not just the verdict
# ❌ Unhelpful
This function is too long.
# ✅ Helpful
SUGGESTION: This function handles both data fetching and data transformation.
Splitting into `fetchUserData()` and `transformUserData()` would make each
half easier to test independently and reuse elsewhere.
Receiving Feedback
- "We disagree" is not the same as "they're wrong"
- If a comment is unclear, ask for clarification before defending
- BLOCKER and CONCERN comments need resolution, not just a response
- SUGGESTION and NOTE are optional — you can explain why you're not acting on them
🛑 Context Window Discipline
When an AI acts as a reviewer, context bloat ruins reasoning:
- Never quote massive blocks of code back to the user. Use line numbers or tiny 1-3 line snippets.
- Never attach the entire project context to a single file review.
- Keep reviews scoped. Do not suggest a full architecture rewrite if the PR is fixing a typo in a CSS class.
🤖 LLM-Specific Review Traps
AI reviewers frequently fail by focusing on the wrong things. Avoid these strict anti-patterns:
- Syntax Nitpicking: Commenting on formatting, semicolons, or line length. Let
eslintor Prettier handle this. Only comment if logic is affected. - "Clean Code" Hallucinations: Telling the author to extract a perfectly readable 10-line function into 3 separate abstract classes.
- Invented Methods: Suggesting the author use
.toSortedMap()when that method literally does not exist in the language or framework used. - False Bottlenecks: Claiming an
O(n^2)loop is a performance critical error whennis a configuration array guaranteed to be < 10 items. - The Compliment Sandwich: You do not need to soften every critique with "Great job on the rest of the code!" Be direct, professional, and concise.
Output Format
When this skill completes a task, structure your output as:
━━━ Code Review Checklist Output ━━━━━━━━━━━━━━━━━━━━━━━━
Task: [what was performed]
Result: [outcome summary — one line]
─────────────────────────────────────────────────
Checks: ✅ [N passed] · ⚠️ [N warnings] · ❌ [N blocked]
VBC status: PENDING → VERIFIED
Evidence: [link to terminal output, test result, or file diff]
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
- Over-engineering: Proposing complex abstractions or distributed systems when a simpler approach suffices.
- Hallucinated Libraries/Methods: Using non-existent methods or packages. Always
// VERIFYor checkpackage.json/requirements.txt. - Skipping Edge Cases: Writing the "happy path" and ignoring error handling, timeouts, or data validation.
- Context Amnesia: Forgetting the user's constraints and offering generic advice instead of tailored solutions.
- Silent Degradation: Catching and suppressing errors without logging or re-raising.
Slash command: /review or /tribunal-full
Active reviewers: logic-reviewer · security-auditor
❌ Forbidden AI Tropes
- Blind Assumptions: Never make an assumption without documenting it clearly with
// VERIFY: [reason]. - Silent Degradation: Catching and suppressing errors without logging or handling.
- Context Amnesia: Forgetting the user's constraints and offering generic advice instead of tailored solutions.
Review these questions before confirming output:
✅ Did I rely ONLY on real, verified tools and methods?
✅ Is this solution appropriately scoped to the user's constraints?
✅ Did I handle potential failure modes and edge cases?
✅ Have I avoided generic boilerplate that doesn't add value?
🛑 Verification-Before-Completion (VBC) Protocol
CRITICAL: You must follow a strict "evidence-based closeout" state machine.
- ❌ Forbidden: Declaring a task complete because the output "looks correct."
- ✅ Required: You are explicitly forbidden from finalizing any task without providing concrete evidence (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
Pre-Flight Checklist
- [ ] Have I reviewed the user's specific constraints and requests?
- [ ] Have I checked the environment for relevant existing implementations?
VBC Protocol (Verification-Before-Completion)
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
🤖 LLM-Specific Traps
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
- Over-engineering: Proposing complex abstractions or distributed systems when a simpler approach suffices.
- Hallucinated Libraries/Methods: Using non-existent methods or packages. Always
// VERIFYor checkpackage.json/requirements.txt. - Skipping Edge Cases: Writing the "happy path" and ignoring error handling, timeouts, or data validation.
- Context Amnesia: Forgetting the user's constraints and offering generic advice instead of tailored solutions.
- Silent Degradation: Catching and suppressing errors without logging or re-raising.
🏛️ Tribunal Integration (Anti-Hallucination)
Slash command: /review or /tribunal-full
Active reviewers: logic-reviewer · security-auditor
❌ Forbidden AI Tropes
- Blind Assumptions: Never make an assumption without documenting it clearly with
// VERIFY: [reason]. - Silent Degradation: Catching and suppressing errors without logging or handling.
- Context Amnesia: Forgetting the user's constraints and offering generic advice instead of tailored solutions.
✅ Pre-Flight Self-Audit
Review these questions before confirming output:
✅ Did I rely ONLY on real, verified tools and methods?
✅ Is this solution appropriately scoped to the user's constraints?
✅ Did I handle potential failure modes and edge cases?
✅ Have I avoided generic boilerplate that doesn't add value?
🛑 Verification-Before-Completion (VBC) Protocol
CRITICAL: You must follow a strict "evidence-based closeout" state machine.
- ❌ Forbidden: Declaring a task complete because the output "looks correct."
- ✅ Required: You are explicitly forbidden from finalizing any task without providing concrete evidence (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
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/code-review-checklist-ms2s7bzl/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/code-review-checklist-ms2s7bzl' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/code-review-checklist-ms2s7bzl/download' --output '.skill-downloads/code-review-checklist-ms2s7bzl/SKILL.md.part' && mv '.skill-downloads/code-review-checklist-ms2s7bzl/SKILL.md.part' '.skill-downloads/code-review-checklist-ms2s7bzl/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) : Read, Write, Edit, Glob, Grep
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/code-review-checklist-ms2s7bzl/SKILL.md' && test -s '.skill-downloads/code-review-checklist-ms2s7bzl/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/code-review-checklist' && cp -R '.skill-downloads/code-review-checklist-ms2s7bzl' '.claude/skills/code-review-checklist'Cursor
test -f '.skill-downloads/code-review-checklist-ms2s7bzl/SKILL.md' && test -s '.skill-downloads/code-review-checklist-ms2s7bzl/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/code-review-checklist' && cp -R '.skill-downloads/code-review-checklist-ms2s7bzl' '.cursor/skills/code-review-checklist'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/code-review-checklist-ms2s7bzl'openskills read 'code-review-checklist-ms2s7bzl'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/code-review-checklist-ms2s7bzl/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.