Code Simplification

Un processus discipliné en cinq principes pour simplifier la lisibilité du code sans modifier le comportement.

par addyosmani · addyosmani/agent-skills

Testé · Fonctionne ★ 8.8/10

Code Simplification — Un processus discipliné en cinq principes pour simplifier la lisibilité du code sans modifier le comportement.

Ce que fait

Guide Claude à travers un processus de refactoring Chesterton's-Fence-first : identifier les signaux concrets de complexité (imbrication profonde, drapeaux booléens, noms génériques, duplication), simplifier de manière incrémentale avec des vérifications explicites de préservation du comportement, et s'arrêter avant de trop simplifier. Se déclenche sur les demandes de refactorisation pour la clarté et de révision de la complexité, pas sur le développement de fonctionnalités ou la correction de bugs.

Rapport de test

Exécuté sur un calculateur de remise `nested-if` réel : une réécriture de référence minutieuse et la réécriture guidée par la compétence ont toutes deux préservé le comportement (vérifié sur 12 combinaisons d'entrée dans Node, zéro divergence), mais seule la version de la compétence a suivi ses propres conseils — un prédicat `priceFor()` nommé au lieu du nouveau registre `DISCOUNT_RULES` non demandé de la référence, ce qui est exactement le piège de l''abstraction inutile' contre lequel la section 'Red Flags' de la compétence met en garde.

Testé le: 2026-07-14 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/addyosmani/agent-skills
cd agent-skills
mkdir -p ~/.claude/skills
cp -r skills/code-simplification ~/.claude/skills/code-simplification

Commandes et exemples de prompts

  • /code-simplificationUn processus discipliné en cinq principes pour simplifier la lisibilité du code sans modifier le comportement.

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Simplify this nested if-else checkout discount function
  • Refactor this module without adding unnecessary abstraction
  • Clean up this tangled function and flag over-engineering