Synthèse automatique
Une compétence de revue de code qui allège les noms, les commentaires et la structure d'une branche sans changer le comportement, en appliquant des règles de prose à la Orwell et une liste anti-sur-ajustement.
Points forts
- Des règles concrètes et vérifiables (un mot par concept, suppression des mots déjà portés par le contexte, élimination de l'état dérivable) plutôt que des injonctions vagues du type « écrire du code propre ».
- Un tri explicite des commentaires : conserver la contrainte non évidente, supprimer la narration d'historique et la paraphrase du code.
- Un cadrage net du périmètre : ne toucher qu'à la zone indiquée, lancer les vérifications existantes, ne pas modifier le comportement.
- La règle « pas de rétrocompatibilité avec du code jamais livré » élimine une source fréquente de code mort en fin de branche.
Limites
- Entièrement qualitatif : le résultat dépend du jugement du relecteur, sans règle de lint ni vérification automatisée.
- Renommer une API exportée ou publique peut casser des consommateurs malgré la promesse de « aucun changement de comportement » ; la compétence ne distingue pas les noms internes des noms déjà livrés.
- Le déclencheur (« quand vous jugez le code prêt ») reste subjectif et la compétence ne prévoit rien si aucun test n'existe.
À utiliser avant de demander une relecture humaine, ou pour nettoyer les noms, les commentaires et la découpage des fichiers d'une branche.
À éviter pendant le prototypage ou lorsque le code est consommé par des tiers et qu'un renommage constituerait une rupture d'API.
Analyse de sécurité
SûrThis is a prose style-and-structure guide for code review. It declares no tools, executes nothing, touches no network or filesystem, and contains no destructive, exfiltrating, or obfuscated instructions. The only imperative of note is an auto-invocation hint in the frontmatter description, which is normal skill metadata rather than a manipulation of the auditor.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Review the changes on this branch and simplify names, comments, and structure without changing behavior. Run the tests afterwards.These comments just narrate what the code does and some mention our conversation. Clean them up using the simplify criteria and keep only the non-obvious constraints.This module uses three different names for the same concept and stores a value that can be derived from what's already in scope. Consolidate the vocabulary, merge the overlapping types, and drop the derivable state.name: simplify description: Use this skill automatically when you feel your code is ready for human review, and whenever writing or reviewing code comments. Ready means the code works and achieves a stated goal, verified by your own tests and/or, if you deem it necessary, human testing.
Review changes in the current branch, or in the scope the user specifies. Apply these criteria without changing behavior. Only touch code in that scope, and run the relevant existing checks after changes.
Word choice in code and comments
Variable names, function names, and comments are all prose. Apply Orwell's rules ("Politics and the English Language") to each:
Never use a long word where a short one will do.
If it is possible to cut a word out, always cut it out.
Never use the passive where you can use the active.
Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent.
Latinate vocabulary (reconcile, coalesce, normalize, reconciliation) sounds technical and abstract; Anglo-Saxon words (prune, run, watch, stop, drop, walk) are short and physical. Prefer the Saxon word.
Names
- One word per concept, one concept per word. Keep a vocabulary. If
syncnames "pulling remote changes," it cannot also name "flushing edits to disk;" rename one of them. - Cut words the context already carries. A module named
workspaceWatcherdoes not needstartNativeWorkspaceWatcher;watchWorkspacesays the same thing. - A compound name is usually a hedge:
- ❌
lastObservedDiskContentis a specification to defend - ✅
baselineis a readable description
Comments
State, in plain English, the constraint the code cannot show: why the non-obvious exists.
- ✅ If code is complex and the implementation is non-obvious, add a comment.
- ✅ If a function contains complex behaviors or side effects, add a doc comment.
- 🗑️ If a comment narrates change history from the conversation, delete it.
- 🗑️ If a comment restates code whose behavior is self-evident, delete it.
Code structure
- Inverted pyramid. Within a file, lead with the exported or significant functions and push helpers below them. Don't bury the lead.
- Related concepts over monoliths. Break a large file into modules that each own one concept.
- Combine overlapping concepts. If two types, functions, or constants overlap significantly, merge them. The fewer distinct concepts a reader must hold in their head, the better.
- Use shared code. Common utilities (ex. file path parsing) may exist in the codebase already. Check for library or utility functions before inlining.
- Derivability. If a value can be computed from values already in scope, don't pass or store it separately. Removing derivable state often simplifies signatures, types, and control flow in one move. Example: an
isDirtyparameter that is alwayseditorContent !== baselinecan be dropped.
Overfitting
Code must stand on its own. If a change only makes sense to someone who watched it happen (this conversation, this PR), it is overfitted. Write for the reader who arrives with no history.
- If a name or comment needs the conversation to be understood, rewrite it against the codebase's own vocabulary.
- No backwards compatibility with unshipped code. Supporting an old signature, alias, or data shape that only existed earlier in the same branch is compatibility with something that was never deployed. Delete the old path and update its callers.
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-and-comment-simplification-mverao35/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-and-comment-simplification-mverao35' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/code-and-comment-simplification-mverao35/download' --output '.skill-downloads/code-and-comment-simplification-mverao35/SKILL.md.part' && mv '.skill-downloads/code-and-comment-simplification-mverao35/SKILL.md.part' '.skill-downloads/code-and-comment-simplification-mverao35/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.
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-and-comment-simplification-mverao35/SKILL.md' && test -s '.skill-downloads/code-and-comment-simplification-mverao35/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/simplify' && cp -R '.skill-downloads/code-and-comment-simplification-mverao35' '.claude/skills/simplify'Cursor
test -f '.skill-downloads/code-and-comment-simplification-mverao35/SKILL.md' && test -s '.skill-downloads/code-and-comment-simplification-mverao35/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/simplify' && cp -R '.skill-downloads/code-and-comment-simplification-mverao35' '.cursor/skills/simplify'Codex
test -f '.skill-downloads/code-and-comment-simplification-mverao35/SKILL.md' && test -s '.skill-downloads/code-and-comment-simplification-mverao35/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/simplify' && cp -R '.skill-downloads/code-and-comment-simplification-mverao35' '.agents/skills/simplify'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-and-comment-simplification-mverao35'openskills read 'code-and-comment-simplification-mverao35'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-and-comment-simplification-mverao35/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.