Communitygithub.com

challenge-plans

Compétence d'agent + CLI pour une revue contradictoire multi-agent des plans et spécifications avant exécution. Fonctionne avec les abonnements Claude Code / Codex que vous possédez déjà — pas de clés API.

Qu'est-ce que challenge-plans ?

challenge-plans est une compétence d'agent spécialisée qui durcit les plans et spécifications grâce à une revue contradictoire multi-agent avant leur exécution, réduisant ainsi les reprises. Elle s'intègre dans le flux « écriture de plans → challenge-plans → exécution de plans ». Prise en charge des agents du terminal Claude Code et Codex, ainsi que des invites de l'interface utilisateur Claude.ai et ChatGPT. Techniquement, il s'agit d'un outil CLI installé via PyPI (pip install challenge-plans) qui analyse un artefact unique (spec, diff ou plan) avec plusieurs profils de vérification (fast/standard/deep) et renvoie un verdict à 6 états avec des objections survivantes (vérifiées ou non). Le modèle sous-jacent provient de l'abonnement CLI connecté de l'utilisateur (Claude Code ou Codex) — pas de clés API externes. La sortie prend en charge la localisation (--lang) pour rédiger la revue dans la langue de l'utilisateur. Il s'agit de l'un des premiers outils concrets de la « gouvernance de la pensée » (une méta-compétence appliquée pour améliorer la qualité de la production du système) et le résultat ne doit pas être présenté à l'utilisateur comme une décision en noir et blanc, mais comme une recommandation structurée avec des objections classées par niveau de gravité, laissant la décision finale à l'utilisateur.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add hiadrianchen/challenge-plans

Demander à votre IA préférée

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

Documentation

Que fait challenge-plans ?

Durcir un plan / une spécification par une revue contradictoire multi-agent avant exécution, afin de réduire les reprises. S'intègre dans le flux rédaction-plans → challenge-plans → exécution-plans.

Quand l'utiliser (signaux d'orientation)

  • L'entrée est un seul artefact rédigé (spec/plan/diff/doc de conception/adr) + intention « revoir / trouver des défauts / cette exécution est-elle possible / durcir / AQ » → utiliser cette compétence.
  • Un agent a terminé quelque chose et est sur le point de demander à l'utilisateur de décider ou de faire de l'AQ → exécutez ceci d'abord et présentez la recommandation de la contre-expertise.
  • L'entrée est ≥2 options parmi lesquelles choisir → utiliser la compétence sœur weigh-options (délibération/vote), pas celle-ci.

Exécution

# Installé depuis PyPI (pip install challenge-plans) — la commande console est disponible directement :
challenge-plans doctor                                                            # vérifier d'abord l'état de connexion de l'adaptateur
challenge-plans run <artifact> --type spec --profile standard --sink markdown     # examiner un plan / une spec
challenge-plans run <artifact> --type spec --profile standard --sink markdown --lang fr   # sortie localisée
# code-diff gate : git diff > change.diff && challenge-plans run change.diff --type diff --sink markdown
# Depuis une copie source (non installée via pip) : PYTHONPATH=src python3 -m challenge_plans.cli <args>
  • --type spec|diff|plan (la rubrique decision est encore en attente — sort avec le code 2 par conception). diff examine un git diff brut ; plan examine TOUT plan (un voyage, un lancement, une embauche — pas seulement des specs de développement) avec des types de défaillance neutres par domaine (critères de succès manquants / contrainte ignorée / risque non traité / écart de séquencement / hypothèse non formulée / désalignement d'objectif / irréversibilité / absence de plan de repli) et les lentilles faisabilité·risque·alignement d'objectif. Tous utilisent le même pipeline de verdict.
  • --profile fast|standard|deep, --sink stdout|markdown, --enforce (les verdicts non approuvés sortent avec un code non nul ; par défaut, avis sort avec 0).
  • --lang <code> (par défaut en) : rédiger le texte de la revue dans la langue de l'utilisateur, par ex. --lang fr. Définissez ceci à partir de la langue de l'utilisateur pour que l'ensemble de la revue soit localisée ; les clés JSON / énumérations / ancres L12-15 restent stables. Équivalent à l'exportation de CHALLENGE_PLANS_LANG.
  • Sortie : un verdict à 6 états + objections survivantes. [sev✓] = confirmé par un vérificateur inter-famille, peut bloquer ; [sev?] = non vérifié, avis uniquement.

Si aucun backend n'est prêt

challenge-plans a besoin d'au moins une CLI d'abonnement connectée (il n'a pas de modèle propre et n'utilise pas de clés API). Si doctor n'affiche rien de ready, ne réessayez pas aveuglément — demandez à l'utilisateur, puis orientez :

  1. Possède un abonnement Claude ou ChatGPT, mais la CLI est manquante / déconnectée → guidez-les à travers l'étape exacte que doctor affiche (l'installer, ou claude → /login, ou se connecter à codex).
  2. Pas encore d'abonnement mais en veut un → orientez-les vers l'abonnement (Claude Pro/Max ou ChatGPT), puis installez et connectez la CLI.
  3. Pas d'abonnement et n'en veut pas → expliquez que challenge-plans ne peut pas fonctionner sans, et arrêtez — ne bouclez pas.

doctor affiche déjà le correctif par backend ainsi que ces conseils ; présentez-les à l'utilisateur plutôt que d'échouer silencieusement.

Présentation à l'utilisateur

Affichez le verdict + objections survivantes (✓ vérifiées vs ? non vérifiées) + champs obligatoires manquants comme « ma recommandation de contre-expertise », puis laissez l'utilisateur décider — plutôt que de lui remettre une décision brute. Voir README.md pour une vue d'ensemble.

Composition avec les compétences de planification

  • superpowers (rédaction-plans → exécution-plans) : après que writing-plans a enregistré un fichier de plan (par défaut docs/superpowers/plans/<date>-<fonctionnalité>.md — lisez le chemin réel), exécutez challenge-plans run <plan> --type spec avant executing-plans. Il occupe la même interface de revue pré-exécution que le plan-document-reviewer intégré de superpowers, mais en tant que passe inter-familles multi-CLI. Réinjectez les objections survivantes dans le plan, puis exécutez.
  • grill-me (mattpocock/skills) : complémentaire et antérieur — il aligne l'utilisateur de manière interactive pendant que le plan se forme (pas de sortie fichier). Exécutez challenge-plans après qu'un plan écrit / PRD existe.
  • Rien n'invoque automatiquement challenge-plans ; l'agent appelant l'intègre dans l'interface. Les rubriques --type plan/decision sont en attente — utilisez --type spec pour les textes de type plan aujourd'hui.

Skills associés