humanize

Par polyarch · humanize

Développement itératif avec révision par IA. Fournit le RLCR (Ralph-Loop with Codex Review) pour la planification d'implémentation et les boucles de révision de code.

npx skills add https://github.com/polyarch/humanize --skill humanize

Humanize - Développement itératif avec relecture par IA

Humanize crée une boucle de rétroaction où une IA implémente votre plan tandis qu'une autre IA examine indépendamment le travail, garantissant la qualité par un perfectionnement continu.

Runtime Root

L'installateur hydrate cette skill avec un chemin absolu de runtime root :

{{HUMANIZE_RUNTIME_ROOT}}

Tous les exemples de commandes ci-dessous utilisent {{HUMANIZE_RUNTIME_ROOT}}.

Philosophie fondamentale

L'itération plutôt que la perfection : Au lieu de s'attendre à un résultat parfait en une seule tentative, Humanize exploite une boucle de rétroaction itérative où :

  • Une IA implémente votre plan
  • Une autre IA examine indépendamment la progression
  • Les problèmes sont détectés et résolus rapidement
  • Le travail continue jusqu'à ce que tous les critères d'acceptation soient satisfaits

Workflows disponibles

1. RLCR Loop - Développement itératif avec relecture

La boucle RLCR (Ralph-Loop with Codex Review) comporte deux phases :

Phase 1 : Implémentation

  • Une IA travaille sur le plan d'implémentation
  • L'IA rédige un résumé du travail effectué
  • Codex examine le résumé pour vérifier la complétude et la justesse
  • Si des problèmes sont trouvés → la boucle de rétroaction continue
  • Si Codex affiche « COMPLETE » → entrée en phase de relecture

Phase 2 : Relecture de code

  • codex review --base <branch> vérifie la qualité du code
  • Les problèmes sont marqués avec des marqueurs de sévérité [P0-9]
  • Si des problèmes sont trouvés → l'IA les corrige et continue
  • Si aucun problème → la boucle se termine avec la phase de finalisation
  • Sur Codex CLI 0.114.0+ avec codex_hooks activé, Humanize installe un hook Stop natif pour que la sortie de gating s'exécute automatiquement

2. Generate Plan - Plan structuré à partir d'un brouillon

Transforme un document brouillon approximatif en plan d'implémentation structuré contenant :

  • Description claire de l'objectif
  • Critères d'acceptation au format AC-X avec tests de style TDD positifs/négatifs
  • Limites de chemin (bornes supérieures/inférieures, choix autorisés)
  • Indications de faisabilité et approche conceptuelle
  • Dépendances et séquençage des jalons

Référence des commandes

Démarrer la boucle RLCR

# Avec un fichier de plan
"{{HUMANIZE_RUNTIME_ROOT}}/scripts/setup-rlcr-loop.sh" path/to/plan.md

# Ou sans plan (mode relecture uniquement)
"{{HUMANIZE_RUNTIME_ROOT}}/scripts/setup-rlcr-loop.sh" --skip-impl

Après chaque tour, écrivez le résumé requis et arrêtez-vous/terminez normalement. Le hook Stop natif de Codex Humanize gère automatiquement la gestion de relecture.

Options courantes :

  • --max N - Nombre maximum d'itérations avant arrêt automatique (par défaut : 42)
  • --codex-model MODEL:EFFORT - Modèle Codex et effort de raisonnement pour codex exec (par défaut : gpt-5.5:high)
  • La phase de relecture codex review utilise gpt-5.5:high
  • --codex-timeout SECONDS - Délai d'expiration pour chaque relecture Codex (par défaut : 5400)
  • --base-branch BRANCH - Branche de base pour la relecture de code (détection automatique si non spécifié)
  • --full-review-round N - Intervalle pour les vérifications d'alignement complet (par défaut : 5)
  • --skip-impl - Ignorer la phase d'implémentation, aller directement à la relecture de code
  • --track-plan-file - Appliquer l'immuabilité du fichier de plan quand suivi dans git
  • --push-every-round - Exiger un git push après chaque tour
  • --claude-answer-codex - Laisser Claude répondre directement aux questions ouvertes de Codex (par défaut : AskUserQuestion)
  • --agent-teams - Activer le mode Agent Teams
  • --yolo - Ignorer le quiz de compréhension du plan et activer --claude-answer-codex
  • --skip-quiz - Ignorer uniquement le quiz de compréhension du plan
  • --privacy - Désactiver l'analyse de méthodologie à la sortie de boucle (par défaut : analyse activée)

Annuler la boucle RLCR

"{{HUMANIZE_RUNTIME_ROOT}}/scripts/cancel-rlcr-loop.sh"
# ou forcer l'annulation pendant la phase de finalisation
"{{HUMANIZE_RUNTIME_ROOT}}/scripts/cancel-rlcr-loop.sh" --force

Générer un plan à partir d'un brouillon

"{{HUMANIZE_RUNTIME_ROOT}}/scripts/validate-gen-plan-io.sh" --input path/to/draft.md --output path/to/plan.md

Suivez ensuite le workflow de cette skill pour générer le contenu du plan structuré.

Consulter Codex (consultation ponctuelle)

"{{HUMANIZE_RUNTIME_ROOT}}/scripts/ask-codex.sh" [--codex-model MODEL:EFFORT] [--codex-timeout SECONDS] "votre question"

Structure du fichier de plan

Un bon fichier de plan doit inclure :

# Titre du plan

## Description de l'objectif
Description claire de ce qui doit être réalisé

## Critères d'acceptation

- AC-1 : Premier critère
  - Tests positifs (supposés RÉUSSIR) :
    - Cas de test qui doit réussir
  - Tests négatifs (supposés ÉCHOUER) :
    - Cas de test qui doit échouer

## Limites de chemin

### Limite supérieure (portée maximale)
Implémentation acceptable la plus complète

### Limite inférieure (portée minimale)
Implémentation viable minimale

### Choix autorisés
- Peut utiliser : technologies, approches autorisées
- Ne peut pas utiliser : technologies interdites

## Dépendances et séquençage

### Jalons
1. Jalon 1 : Description
   - Phase A : ...
   - Phase B : ...

## Notes d'implémentation
- Le code ne doit PAS contenir de terminologie de plan comme « AC- », « Milestone », « Step »

Système de suivi des objectifs

La boucle RLCR utilise un Goal Tracker pour prévenir la dérive des objectifs :

  • SECTION IMMUABLE : Objectif ultime et critères d'acceptation (définis au tour 0, jamais modifiés)
  • SECTION MUTABLE : Tâches actives, éléments complétés, éléments reportés, journal d'évolution du plan

Principes clés

  1. Critères d'acceptation : Chaque tâche correspond à un AC spécifique
  2. Journal d'évolution du plan : Documenter tout changement de plan avec justification
  3. Reports explicites : Les tâches reportées exigent une justification solide
  4. Vérifications d'alignement complet : Tous les N tours (par défaut : 5), audit complet d'alignement des objectifs

Règles importantes

  1. Rédiger des résumés : Toujours écrire un résumé du travail dans le fichier spécifié avant de quitter
  2. Maintenir le Goal Tracker : Garder goal-tracker.md à jour avec la progression
  3. Être complet : Inclure les détails sur l'implémentation, les fichiers modifiés, les tests ajoutés
  4. Ne pas tricher : Ne pas essayer de quitter en modifiant les fichiers d'état ou en exécutant des commandes d'annulation
  5. Utiliser le hook Stop natif de Codex : Après avoir écrit le résumé requis, arrêtez-vous/terminez normalement pour que Codex exécute le hook Stop de Humanize
  6. Faire confiance au processus : L'examen externe aide à améliorer la qualité de l'implémentation

Prérequis

  • codex - OpenAI Codex CLI (pour la relecture)

Structure du répertoire

Humanize stocke toutes les données dans .humanize/ :

.humanize/
├── rlcr/           # Données de boucle RLCR
│   └── <timestamp>/
│       ├── state.md
│       ├── goal-tracker.md
│       ├── round-N-summary.md
│       ├── round-N-review-result.md
│       ├── finalize-state.md
│       ├── finalize-summary.md
│       ├── methodology-analysis-state.md
│       ├── methodology-analysis-report.md
│       ├── methodology-analysis-done.md
│       └── complete-state.md
└── skill/          # Résultats de skill ponctuels
    └── <timestamp>/
        ├── input.md
        ├── output.md
        └── metadata.md

Surveillance

Utilisez le script de surveillance pour suivre la progression de la boucle :

source "{{HUMANIZE_RUNTIME_ROOT}}/scripts/humanize.sh"
humanize monitor rlcr   # Surveiller la boucle RLCR

Codes de sortie

ask-codex.sh

  • 0 - Succès
  • 1 - Erreur de validation
  • 124 - Délai d'expiration dépassé

validate-gen-plan-io.sh

  • 0 - Succès
  • 1 - Fichier d'entrée non trouvé
  • 2 - Fichier d'entrée vide
  • 3 - Répertoire de sortie n'existe pas
  • 4 - Fichier de sortie existe déjà
  • 5 - Pas de permission en écriture
  • 6 - Arguments invalides
  • 7 - Fichier modèle de plan non trouvé

Skills similaires