O que challenge-plans faz?
Reforce um plano/especificação com revisão adversarial multi-agente antes da execução, para reduzir retrabalho. Encaixa-se no fluxo writing-plans → challenge-plans → executing-plans.
Quando usar (sinais de roteamento)
- A entrada é um único artefato rascunhado (especificação/plano/diff/documento de design/ADR) + intenção "revisar / encontrar falhas / isto pode ser executado / reforçar / QA" → use este skill.
- Um agente terminou algo e está prestes a pedir que o usuário decida ou faça QA → execute isto primeiro e apresente a recomendação da revisão cruzada.
- A entrada tem ≥2 opções para escolher → use o skill irmão
weigh-options(deliberação/votação), não este.
Execução
# Instalado via PyPI (pip install challenge-plans) — o comando de console está disponível diretamente:
challenge-plans doctor # verifique primeiro o estado de login do adaptador
challenge-plans run <artifact> --type spec --profile standard --sink markdown # revise um plano/especificação
challenge-plans run <artifact> --type spec --profile standard --sink markdown --lang zh # saída localizada
# porta de diff de código: git diff > change.diff && challenge-plans run change.diff --type diff --sink markdown
# A partir de um checkout da fonte (não instalado via pip): PYTHONPATH=src python3 -m challenge_plans.cli <args>
--type spec|diff|plan(a rubricadecisionainda está pendente — sai com código 2 por design).diffrevisa umgit diffbruto;planrevisa QUALQUER plano (uma viagem, um lançamento, uma contratação — não apenas especificações de desenvolvimento) com tipos de falha neutros em relação ao domínio (critérios de sucesso ausentes / restrição ignorada / risco não abordado / lacuna de sequenciamento / pressuposto não declarado / desalinhamento de meta / irreversibilidade / sem plano de contingência) e as lentes de viabilidade, risco e alinhamento de objetivo. Todos executam o mesmo pipeline de veredito.--profile fast|standard|deep,--sink stdout|markdown,--enforce(vereditos não aprovados saem com código não-zero; modo consultivo padrão sai com 0).--lang <code>(padrãoen): escreva o texto da revisão no idioma do usuário, ex.:--lang zh. Defina isto a partir do idioma do usuário para que toda a revisão retorne localizada; as chaves JSON / enumerações / âncorasL12-15permanecem estáveis. Equivalente a exportarCHALLENGE_PLANS_LANG.- Saída: um veredito de 6 estados + objeções sobreviventes.
[sev✓]= confirmado pelo Verificador entre famílias, pode barrar rigidamente;[sev?]= não verificado, apenas consultivo.
Se nenhum backend estiver pronto
O challenge-plans precisa de pelo menos uma CLI de assinatura logada (não tem modelo próprio e não usa chaves de API). Se doctor mostrar nada como ready, não tente novamente cegamente — pergunte ao usuário, então direcione:
- Tem uma assinatura Claude ou ChatGPT, mas a CLI está faltando / desconectada → guie-o pelo passo exato que
doctorimprime (instale-a, ouclaude→/login, ou faça login nocodex). - Ainda não tem assinatura, mas quer uma → oriente-o a assinar (Claude Pro/Max ou ChatGPT), depois instale e faça login na CLI.
- Não tem assinatura e não quer uma → explique que o challenge-plans não pode ser executado sem uma, e pare — não entre em loop.
O doctor já imprime a correção por backend além desta orientação; apresente-a ao usuário em vez de falhar silenciosamente.
Apresentação ao usuário
Apresente o veredito + objeções sobreviventes (✓ verificado vs ? não verificado) + campos obrigatórios ausentes como "minha recomendação de revisão cruzada", então deixe o usuário decidir — em vez de entregar uma decisão nua. Veja README.md para o quadro completo.
Composição com skills de planejamento
- superpowers (
writing-plans → executing-plans): depois quewriting-planssalva um arquivo de plano (padrãodocs/superpowers/plans/<date>-<feature>.md— leia o caminho real), executechallenge-plans run <plan> --type specantes deexecuting-plans. Ele ocupa a mesma costura de revisão pré-execução que oplan-document-reviewerembutido do superpowers, mas como uma passagem multi-CLI entre famílias. Direcione as objeções sobreviventes de volta ao plano, depois execute. - grill-me (mattpocock/skills): complementar e anterior — alinha interativamente o usuário enquanto o plano se forma (sem saída de arquivo). Execute challenge-plans após a existência de um plano/PRD escrito.
- Nada invoca automaticamente o challenge-plans; o agente chamador o conecta na costura. As rubricas
--type plan/decisionestão pendentes — use--type specpara prosa estilo plano hoje.