CommunityRédaction et éditiongithub.com

ohm41321/luciazero

Discipline de vérification pour agents de codage (Claude Code + Codex CLI) : doctrine en 9 règles, six compétences, agent réviseur adversarial, hooks d'application à échec ouvert. « Fait » est prouvé par une commande, pas par opinion.

Qu'est-ce que luciazero ?

Ce skill implémente une discipline de vérification rigoureuse pour les agents de codage comme Claude Code et Codex CLI. Il définit un processus en six étapes obligatoires avant de déclarer une tâche comme « faite » : exécution complète de la vérification, relecture de diff hostile, révision indépendante selon le risque (sécurité, contrat, général), vérification du périmètre, rétrospective sur les impasses, et enfin un rapport structuré. Le système inclut un agent réviseur adversarial obligatoire pour les changements à risque et un mécanisme de « fail-open » via des hooks qui bloquent la progression tant que toutes les étapes ne sont pas validées. Son utilité principale est d'éliminer les déclarations subjectives de complétion en les remplaçant par des preuves objectives et reproductibles (commandes, sorties).

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add ohm41321/luciazero

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

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

Documentation

Fait

1. Vérification complète

Exécutez le niveau complet maintenant : verify-full si présent, sinon verify. Citez la ligne décisive la plus courte.

  • Rouge → vous n'êtes pas encore là. Revenez à la boucle.
  • Aucune commande de vérification n'existe → utilisez /ready ; ne déclarez pas « fait ».
  • Il doit réellement avoir été exécuté maintenant, pas plus tôt dans la session.

2. Passage diff sceptique

Relisez le diff final en tant que réviseur hostile. Vérifiez :

  • Cas limites : vide, zéro, unicode, limites, concurrence.
  • Chemins d'erreur : échecs, fichiers manquants, réseau perdu, nettoyage.
  • Contrats modifiés : API, formats, schémas, configuration, anciens consommateurs.
  • Contenu accidentel : fichiers non liés, code de débogage, secrets, dépendances lâches.
  • Honnêteté des tests : les tests modifiés échoueraient-ils si l'implémentation était annulée ?

Le cas échéant, exécutez <ce-dossier-de-skill>/scripts/revert-probe.sh "<commande-de-verification>". Les vérifications affaiblies sont des constats. Corrigez les constats et répétez la vérification complète.

3. Révision indépendante orientée risque

Choisissez le focus :

  • sécurité : auth, permissions, entrée, chemins, commandes, secrets, endpoints.
  • contrat : API/CLI publique, schéma, configuration, migration, consommateurs.
  • général : argent, concurrence, ressources, ou un diff large et incertain.

Préférez la commande de révision intégrée du harnais ; sinon, utilisez un agent réviseur. Si la sécurité et le contrat s'appliquent tous les deux, demandez deux passages indépendants ciblés. Le réviseur lit les appelants et les consommateurs.

Corrigez et revérifiez chaque bloquant ou majeur, sauf si l'utilisateur accepte explicitement le risque nommé. Un mineur peut être différé uniquement lorsqu'il est signalé. Un diff petit et bien compris sans risque routé peut s'arrêter après le passage sceptique.

4. Vérification du périmètre

Relisez la demande originale. Chaque élément est livré, ou nommé comme laissé de côté avec une raison. Ne supprimez jamais le périmètre en silence. Une tâche de bus que vous avez réclamée via /lucia-bus doit être complétée ou bloquée, avec son résultat publié, sauf si l'utilisateur l'a annulée.

5. Leçons

Pour une impasse, un piège ou une approche réfutée, exécutez /retro. Si un état inachevé doit être transféré, utilisez /lucia-relay à la place.

6. Rapport

Fait : <ce qui a changé, une ligne>
Preuve : <commande de vérification> → <ligne décisive>
Non couvert : <lacune de vérification>
Laissé de côté : <périmètre omis + raison, ou rien>

Pas de biais : rapporter « fait » seulement après que chaque étape réussisse. La sortie machine reflète les mêmes faits ; la sortie bloquée utilise "status": "blocked" et sa ligne en échec.

{
  "status": "done",
  "verify": {"command": "./test.sh", "exit_code": 0, "decisive_line": "PASS  all checks green"},
  "not_covered": "<lacune de vérification>",
  "left_out": "nothing"
}

Skills associés