Communitygithub.com

hériter-style-legacy

Compétence pour hériter du style des projets legacy. À utiliser lorsque l'utilisateur tape /inherit-legacy-style, ou lors de l'intégration d'un agent IA de codage dans un projet legacy écrit à la main, afin d'éviter la dérive stylistique.

Qu'est-ce que hériter-style-legacy ?

Cette compétence permet de capturer et de codifier les conventions de style implicites d'un projet legacy, empêchant ainsi l'IA de générer un code qui dérive du style existant. Elle analyse le code source selon quatre dimensions méta-architecturales : anatomie des fichiers, flux d'état et de contrôle, infrastructure et gestion des erreurs. L'outil réduit le bruit grâce à un seuil de signal, puis résout les conflits de style avec l'utilisateur un par un via un protocole de questionnement ciblé. En fin de processus, il génère un fichier `.ai-style-rules.md` contenant des fichiers d'exemple, des règles de nommage et des contre-patterns à éviter, et propose d'installer un hook persistant (via `CLAUDE.md` ou une configuration plus stricte) pour garantir le respect des règles à chaque tâche de codage. La compétence prend en charge à la fois les analyses initiales complètes et les mises à jour incrémentales, s'adapte à la taille du projet, et est totalement agnostique en termes de langage et de framework.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/inherit-legacy-style

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Hériter le Style Legacy

Empêche la dérive stylistique du code généré par IA dans les projets legacy en scannant le codebase à la recherche de conventions implicites selon 4 dimensions méta-architecturales, en résolvant les conflits avec l'utilisateur un par un, et en cristallisant le consensus dans un fichier .ai-style-rules.md exécutable. Totalement agnostique en matière de langage et de framework.

Quand Activer

  • L'utilisateur tape /inherit-legacy-style
  • L'utilisateur mentionne l'intégration de l'IA dans un projet legacy écrit à la main
  • L'utilisateur craint que le code généré par IA ne « dérive » des conventions existantes du projet
  • L'utilisateur souhaite extraire et codifier les règles de codage implicites de son projet

Quand Utiliser

Utilisez cette compétence lorsque vous devez préserver le style d'un projet legacy et empêcher la dérive stylistique générée par l'IA. Voir Quand Activer ci-dessus pour les conditions de déclenchement.

Prérequis

  • Git (recommandé ; les projets sans Git utilisent les horodatages des fichiers en mode incrémental)
  • Accès en lecture/écriture à la racine du projet (génère .ai-style-rules.md et éventuellement CLAUDE.md)

Flux de Travail

Étape 0 — Mode de Détection Automatique

Vérifiez silencieusement la présence de .ai-style-rules.md à la racine du projet :

Fichier existe ?Mode
NonBranche A — Analyse complète initiale
OuiBranche B — Vérification incrémentale

Annoncez le mode en une ligne et poursuivez — ne demandez jamais à l'utilisateur de choisir.

Branche A — Analyse Complète Initiale

1. Mesurer l'échelle, choisir un niveau de scan

git ls-files | grep -cE '\.(js|ts|jsx|tsx|vue|py|go|rs|java|kt|rb|php|cs|swift|c|cpp|h)$'
NiveauFichiers sourcesStratégie
Petit≲ 50Lecture complète de chaque source
Moyen50–500Couche infrastructure = lecture complète ; couche métier = échantillon de 2–3 par dimension
Grand≳ 500Échantillonnage strict + limite de budget ; d'abord un résumé --stat, puis lectures ciblées

2. Scannage selon 4 dimensions

  1. Anatomie du Fichier — ordre de déclaration dans le fichier (imports → types → logique principale → helpers → export)
  2. État et Flux de Contrôle — conventions de nommage pour l'état asynchrone, la pagination, les indicateurs
  3. Infrastructure — emplacement des utilitaires transversaux (intercepteurs, formateurs, middleware)
  4. Gestion des Erreurs — try/catch vs intercepteur global vs retour Result ; habitudes de vérification de nullité

3. Appliquer la réduction de bruit par seuil de signal

Avant d'interrompre l'utilisateur, évaluez la force du signal :

  • Signal faible → auto-suppression : minorité <5 % ET nombre <10 → la majorité gagne, la minorité va dans les DONTs
  • Signal fort → questionner : répartition quasi-égale, ou divergence sémantique sur une dimension centrale
  • Exception petit projet : sources ≲50, « 3 contre 2 » n'est PAS une majorité → questionner

4. Résoudre les conflits un par un (Protocole de Questionnement)

Pour chaque conflit à signal fort, présentez EXACTEMENT UNE question avec 4 options :

Preuve : pathA utilise le style X, pathB utilise le style Y AVERTISSEMENT : Risque : mélanger les deux fragmente le style du projet Choisissez : 1 suivre X 2 suivre Y 3 c'est une évolution, mettre à jour les règles 4 J'ai une nouvelle règle

Suspendre jusqu'à ce que l'utilisateur réponde, puis passer au conflit suivant. N'empilez jamais les questions.

5. Générer .ai-style-rules.md avec trois sections obligatoires :

  • [Fichiers d'Or] — chemins d'exemples réels annotés avec ce qu'ils démontrent
  • [Règles de Nommage et de Contrôle d'État] — conventions concrètes et vérifiables
  • [DONTs] — anti-patrons qui ne doivent pas se propager

6. Installer le hook persistant

Demandez à l'utilisateur la force de l'application (utilisez AskUserQuestion) :

OptionMécanisme
1 Hook doux (recommandé)Écrire une référence @.ai-style-rules.md dans le fichier CLAUDE.md du projet
2 Hook durHook doux + Hook `PreToolUse[Write
3 Pas de hookConserver le fichier de règles ; l'utilisateur s'y réfère manuellement

Branche B — Vérification Incrémentale

  1. Lire le fichier .ai-style-rules.md existant ; s'il contient une empreinte de commit, git diff <last_hash> HEAD --stat pour identifier le delta
  2. Lire les modifications Git récentes (git log -3 --stat → inspecter les fichiers suspects à la demande)
  3. Pour les diffs surdimensionnés (>des centaines de fichiers) : résumé --stat uniquement + échantillonner les plus gros changements
  4. Comparer le nouveau code avec les règles enregistrées → les conflits passent par le Protocole de Questionnement
  5. Ajouter un journal d'évolution à la fin de .ai-style-rules.md (ne jamais écraser les anciennes règles)

Application par Tâche

Lorsque .ai-style-rules.md est dans le contexte (chargé via CLAUDE.md), chaque tâche d'écriture de code doit commencer par une déclaration de conformité dans la chaîne de raisonnement, nommant l'exemplaire suivi et les DONTs évités.

Comment ça Marche

Cette compétence détecte automatiquement s'il s'agit d'une exécution initiale ou incrémentale via la présence de .ai-style-rules.md :

  • Première fois (Branche A) — Mesure l'échelle du projet, scanne le codebase selon 4 dimensions méta-architecturales (Anatomie du Fichier, État et Flux de Contrôle, Infrastructure, Gestion des Erreurs), applique la réduction de bruit par seuil de signal pour supprimer les conflits faibles, résout les conflits à signal fort un par un avec l'utilisateur, génère .ai-style-rules.md avec Fichiers d'Or / Règles de Nommage / DONTs, et propose des hooks d'application optionnels.
  • Incrémentale (Branche B) — Lit les règles existantes, vérifie les diffs Git récents pour de nouveaux modèles ou des conflits, exécute le même protocole de questionnement un par un pour chaque conflit trouvé, et ajoute des journaux d'évolution sans écraser les règles existantes.
  • Application par Tâche — Lorsque le hook est activé via CLAUDE.md, chaque tâche d'écriture de code commence par une déclaration de conformité nommant l'exemplaire suivi et les DONTs évités.

Spécification de Sortie

  • .ai-style-rules.md à la racine du projet (avec empreinte de commit + niveau d'échelle dans l'en-tête)
  • Éventuellement CLAUDE.md avec une référence @.ai-style-rules.md
  • Journaux d'évolution ajoutés sous forme d'entrées ### [YYYY-MM-DD] Journal d'Évolution du Style

Anti-Patrons

  • ÉCHEC : Ne PAS sauter l'étape de mesure d'échelle — échantillonner un projet de 30 fichiers « l'affame » ; scanner intégralement un dépôt de 5 000 fichiers explose le temps
  • ÉCHEC : Ne PAS empiler plusieurs questions de conflit à la fois — le questionnement est strictement un par un
  • ÉCHEC : Ne PAS écraser les anciennes règles en mode incrémental — toujours ajouter des journaux d'évolution
  • ÉCHEC : Ne PAS par défaut au « hook dur » sans demander — la force de l'application est le choix de l'utilisateur
  • ÉCHEC : Ne PAS juger la syntaxe ou la qualité de la pile technique — cette compétence aligne uniquement la méta-architecture
  • ÉCHEC : Ne PAS copier les bogues des fichiers d'exemple — réutiliser la structure, signaler les défauts

Bonnes Pratiques

  • Annoncez le mode détecté (première fois vs incrémental) et le niveau d'échelle en une ligne avant le scan
  • Pour les grands projets, lisez d'abord les résumés --stat, puis des lectures ciblées sur les fichiers suspects
  • Laissez le seuil de signal gérer le bruit — une divergence de nommage 843 contre 8 doit se résoudre automatiquement sans interruption de l'utilisateur
  • En cas de doute sur la force du signal, penchez-vous vers la demande
  • Le hook doux CLAUDE.md (@.ai-style-rules.md) est généralement suffisant ; le hook dur seulement si l'utilisateur souhaite une application mécanique

Compétences Associées

  • init — initialiser un nouveau CLAUDE.md avec une documentation du codebase
  • code-review — passer en revue les diffs pour la correction et les problèmes de style
  • simplify — passer en revue le code pour détecter les opportunités de réutilisation et de simplification

Exemples

  1. Première intégration

    • Utilisateur : « Aidez-moi à intégrer l'IA dans cette ancienne base de code sans changer son style. »
    • Action : Exécuter la Branche A analyse complète → mesurer l'échelle → scanner les 4 dimensions → questionner les conflits → générer .ai-style-rules.md → proposer la force du hook (doux/dur/aucun).
  2. Mise à jour incrémentale après des changements d'équipe

    • Utilisateur : « Nous avons ajouté un nouveau module ; conservez les règles de style existantes intactes. »
    • Action : Exécuter la Branche B vérification incrémentale → comparer les deltas Git avec les règles enregistrées → questionner les nouveaux conflits → ajouter un journal d'évolution sans écrasement.
  3. Application des DONTs via CLAUDE.md

    • Utilisateur : « Assurez-vous que tout nouveau code reste cohérent avec les règles du projet. »
    • Action : Hook doux installé → .ai-style-rules.md chargé automatiquement à chaque session → chaque tâche d'écriture de code commence par une déclaration de conformité, en réutilisant les motifs des exemplaires et en évitant les DONTs.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Skills associés