Communitygithub.com

challenge-plans

Habilidad para agente + CLI de revisión adversarial multi-agente de planes y especificaciones antes de ejecutarlos. Funciona con las suscripciones de Claude Code / Codex que ya tienes, sin necesidad de claves API.

¿Qué es challenge-plans?

challenge-plans es una habilidad para agentes de IA (Claude Code, Codex, etc.) que ejecuta una revisión adversarial multi-agente de planes, especificaciones, diffs de código o documentos de diseño antes de que comiences a implementarlos. El objetivo es detectar fallos temprano, reducir retrabajo y endurecer el plan antes de pasar a la ejecución. Se integra naturalmente en el flujo writing-plans → challenge-plans → executing-plans. No tiene modelo propio ni requiere claves API; en su lugar, utiliza las CLI de suscripciones existentes (Claude, Codex, ChatGPT) como backends de verificación. Ofrece tres perfiles de revisión (fast, standard, deep) y produce un veredicto de 6 estados con objeciones verificadas (✓) y no verificadas (?). Soporta tipos de artefactos como spec, diff (para revisar cambios de código) y plan (para cualquier tipo de plan, no solo técnico). La salida se puede localizar al idioma del usuario mediante la opción --lang. Si no hay backend listo, guía al usuario para que inicie sesión o instale la CLI necesaria, sin fallar silenciosamente.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace challenge-plans?

Endurece un plan/especificación mediante revisión adversarial multi-agente antes de la ejecución, para reducir retrabajo. Se inserta en el flujo writing-plans → challenge-plans → executing-plans.

Cuándo usarlo (señales de enrutamiento)

  • La entrada es un único artefacto redactado (especificación/plan/diff/documento de diseño/ADR) + la intención "revisar / encontrar fallos / se puede ejecutar / endurecer / QA" → usa esta habilidad.
  • Un agente ha terminado algo y está a punto de pedir al usuario que decida o haga QA → ejecuta esto primero y presenta la recomendación de la revisión cruzada.
  • La entrada es ≥2 opciones para elegir → usa la habilidad hermana weigh-options (deliberación/votación), no esta.

Ejecución

# Instalado desde PyPI (pip install challenge-plans) — el comando de consola está disponible directamente:
challenge-plans doctor                                                            # verificar primero el estado de inicio de sesión del adaptador
challenge-plans run <artefacto> --type spec --profile standard --sink markdown     # revisar un plan/especificación
challenge-plans run <artefacto> --type spec --profile standard --sink markdown --lang es   # salida localizada
# puerta de diff de código:  git diff > cambio.diff && challenge-plans run cambio.diff --type diff --sink markdown
# Desde un checkout del código fuente (no instalado con pip): PYTHONPATH=src python3 -m challenge_plans.cli <args>
  • --type spec|diff|plan (la rúbrica decision aún está pendiente — sale con código 2 por diseño). diff revisa un git diff sin procesar; plan revisa CUALQUIER plan (un viaje, un lanzamiento, una contratación — no solo especificaciones de desarrollo) con tipos de fallo independientes del dominio (criterios de éxito faltantes / restricción ignorada / riesgo no abordado / brecha de secuenciación / suposición no declarada / desalineación de objetivos / irreversibilidad / sin plan de contingencia) y las perspectivas de viabilidad·riesgo·alineación con objetivos. Todos ejecutan el mismo pipeline de veredicto.
  • --profile fast|standard|deep, --sink stdout|markdown, --enforce (los veredictos no aprobados salen con código distinto de cero; el modo de asesoramiento por defecto sale con 0).
  • --lang <código> (por defecto en): escribe la reseña de la revisión en el idioma del usuario, p. ej. --lang es. Establécelo según el idioma del usuario para que toda la revisión se devuelva localizada; las claves JSON / enumeraciones / los anclajes L12-15 se mantienen estables. Equivalente a exportar CHALLENGE_PLANS_LANG.
  • Salida: un veredicto de 6 estados + objeciones supervivientes. [sev✓] = confirmado por Verificador de la familia cruzada, puede bloquear estrictamente; [sev?] = no verificado, solo asesoramiento.

Si no hay backend listo

challenge-plans necesita al menos una CLI de suscripción con inicio de sesión (no tiene modelo propio y no usa claves API). Si doctor muestra que nada está ready, no lo reintentes ciegamente — pregunta al usuario, luego enruta:

  1. Tiene una suscripción a Claude o ChatGPT, pero la CLI falta / no ha iniciado sesión → guíalo paso a paso con el paso exacto que doctor imprime (instalarla, o claude → /login, o iniciar sesión en codex).
  2. No tiene suscripción aún pero quiere una → indícale que se suscriba (Claude Pro/Max o ChatGPT), luego instale e inicie sesión en la CLI.
  3. No tiene suscripción y no quiere una → explica que challenge-plans no puede ejecutarse sin una, y detente — no entres en bucle.

doctor ya imprime la solución por backend más esta guía; preséntasela al usuario en lugar de fallar en silencio.

Presentación al usuario

Muestra el veredicto + objeciones supervivientes (✓ verificadas vs ? no verificadas) + los campos obligatorios faltantes como "mi recomendación de revisión cruzada", luego deja que el usuario decida — en lugar de entregarle una decisión en bruto. Consulta README.md para la imagen completa.

Composición con habilidades de planificación

  • superpowers (writing-plans → executing-plans): después de que writing-plans guarde un archivo de plan (por defecto docs/superpowers/plans/<fecha>-<funcionalidad>.md — lee la ruta real), ejecuta challenge-plans run <plan> --type spec antes de executing-plans. Ocupa el mismo espacio de revisión previa a la ejecución que el plan-document-reviewer integrado de superpowers, pero como un pase de familia cruzada multi-CLI. Realimenta las objeciones supervivientes al plan, luego ejecuta.
  • grill-me (mattpocock/skills): complementario y más temprano — alinea interactivamente al usuario mientras se forma el plan (sin salida a archivo). Ejecuta challenge-plans después de que exista un plan/PRD escrito.
  • Nada invoca automáticamente challenge-plans; el agente llamante lo conecta en el espacio adecuado. Las rúbricas --type plan/decision están pendientes — usa --type spec para texto similar a un plan hoy.

Skills relacionados