Communitygithub.com

luci-efe/skills

À utiliser lorsqu'une fonctionnalité, un refactoring ou un design est sous-spécifié ou présente des approches concurrentes — avant d'écrire du code pour un travail touchant à la forme des données, aux limites de sécurité, aux interfaces publiques ou à plus de quelques fichiers. Pas pour les corrections de typos.

Qu'est-ce que skills ?

Cette compétence guide l'agent IA à travers un processus structuré d'analyse et de décision avant d'écrire du code. Elle est conçue pour les tâches complexes où plusieurs approches sont possibles ou lorsque les spécifications sont vagues. Le processus suit cinq étapes : d'abord, lire le code existant pour établir des faits, puis parcourir une échelle de décision (supprimer, réutiliser, utiliser une bibliothèque standard, ou écrire du code minimal), analyser cinq axes (portée, invariants des données, modes de défaillance, sécurité, et vérification), poser des questions ciblées à l'humain uniquement sur les points ouverts, et enfin enregistrer la décision dans un fichier structuré. La compétence insiste sur le fait de ne pas commencer à coder tant que tous les axes ne sont pas réglés, et encourage la réutilisation du code existant plutôt que d'en écrire du nouveau. Elle est utile pour tout agent IA travaillant sur des bases de code où la clarté et la documentation des décisions architecturales sont cruciales.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/luci-efe/skills/tree/HEAD/skills/crucible

Demander à votre IA préférée

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

Documentation

/crucible

Lisez d'abord, demandez ensuite. L'humain ne répond qu'à ce que le code ne peut pas décider.

Étape 1 : Lire (pas de questions pour l'instant)

Écrivez ce que le code décide déjà comme faits avec path:line. Chaque question ultérieure doit être une chose que ces faits ne pouvaient pas répondre.

Étape 2 : L'échelle (avant de proposer quoi que ce soit de nouveau)

Pour chaque élément de la modification demandée, arrêtez-vous au premier « oui » :

  1. Pouvons-nous l'ignorer ou le supprimer ? L'exigence est-elle déjà satisfaite, ou inutile ? → dites-le.
  2. Est-ce déjà dans le dépôt ? Un helper, composant ou motif existant → réutilisez-le (citez path:line).
  3. Est-ce dans la bibliothèque standard ou une dépendance existante ? → utilisez-le.
  4. Alors seulement : le code nouveau minimal, sans options spéculatives ni abstractions.

Étape 3 : Cinq axes

Pour chaque axe, marquez-le comme réglé (citez le code ou la demande) ou ouvert :

  1. Périmètre : ce qui est inclus, et explicitement ce qui est exclu.
  2. Invariants des données et d'état : ce qui doit toujours être vrai. Migrations ?
  3. Modes de défaillance : que se passe-t-il en cas de mauvaise entrée, délai d'attente, échec partiel, nouvelle tentative.
  4. Limites de sécurité et de confiance : qui peut appeler ceci, avec quelles données, et où se trouve la validation.
  5. Preuve de vérification : quel test prouvera que c'est terminé (alimente /proof).

Étape 4 : Ne demander que ce qui est ouvert

  • Un axe est-il ouvert, et la réponse change-t-elle la conception ? → demandez. Maximum 3 questions par lot. Chacune donne votre réponse recommandée et son compromis, pour que l'humain puisse simplement dire « oui ».
  • Est-il ouvert mais sans conséquence majeure ? → décidez, et enregistrez-le comme assumé.
  • Tout est-il réglé ? → ne demandez rien. Passez à l'étape 5.
  • Une véritable fourche architecturale mérite-t-elle l'avis d'autres modèles ? → /council avec cet enregistrement comme artefact.

Étape 5 : Enregistrer

Écrivez .ramos/decisions/<sujet>.md :

# <sujet> (<date>)
## Faits (depuis le code)        - … (path:line)
## Résultat de l'échelle          - réutilisation X / biblio std Y / nouveau Z (pourquoi)
## Axes                           | axe | réglé/assumé/répondu | décision | source |
## Hors périmètre                 - …
## Preuve                         - commande(s) exacte(s) que /proof exécutera

Terminé quand

Chaque axe est réglé, assumé ou répondu, l'enregistrement existe, et la commande de preuve est nommée. Questions non résolues modifiant la conception → arrêtez-vous et signalez bloqué à l'humain. Ne commencez pas à coder.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés