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 rubriquedecisionest encore en attente — sort avec le code 2 par conception).diffexamine ungit diffbrut ;planexamine 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éfauten) : 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 / ancresL12-15restent stables. Équivalent à l'exportation deCHALLENGE_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 :
- Possède un abonnement Claude ou ChatGPT, mais la CLI est manquante / déconnectée → guidez-les à travers l'étape exacte que
doctoraffiche (l'installer, ouclaude→/login, ou se connecter àcodex). - Pas encore d'abonnement mais en veut un → orientez-les vers l'abonnement (Claude Pro/Max ou ChatGPT), puis installez et connectez la CLI.
- 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 quewriting-plansa enregistré un fichier de plan (par défautdocs/superpowers/plans/<date>-<fonctionnalité>.md— lisez le chemin réel), exécutezchallenge-plans run <plan> --type specavantexecuting-plans. Il occupe la même interface de revue pré-exécution que leplan-document-reviewerinté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/decisionsont en attente — utilisez--type specpour les textes de type plan aujourd'hui.