Adversarial Spec
Refina una PRD o especificación técnica debatiéndola entre múltiples LLM hasta que estén de acuerdo
Funciona con configuración
Qué hace
Impulsa una revisión "adversaria" iterativa de una especificación de producto o técnica: Claude redacta el documento, luego un CLI de Python (debate.py) lo envía en paralelo a proveedores externos de LLM (GPT, Gemini, Grok, Mistral, etc.) para su crítica, y la especificación se revisa ronda por ronda hasta que todos los modelos más Claude estén de acuerdo. Se activa cuando el usuario desea escribir o refinar una PRD o especificación técnica a través de un debate multi-modelo. Requiere litellm y al menos una clave API de proveedor (o el CLI codex/gemini) para ejecutar el paso de crítica real.
Informe de la prueba
Se localizó SKILL.md en skills/adversarial-spec/SKILL.md a través de la API de GitHub. El frontmatter se analiza con name+description; se verificaron debate.py, models.py, providers.py, prompts.py, todos devolvieron HTTP 200. Se clonó en un HOME temporal ($(mktemp -d)) y se instaló en ~/.claude/skills; se ejecutaron `debate.py providers` y `debate.py focus-areas` sin litellm instalado y ambos imprimieron una salida de ayuda correcta y limpia. NO se pudo ejecutar el Paso 3 (`debate.py critique`) porque necesita litellm más una clave API de proveedor externo (OpenAI/Gemini/xAI/etc.) o el CLI codex/gemini, ninguno de los cuales tengo — por lo que no se pudo producir un artefacto de habilidad vs referencia (outputMeasured=false). Escaneo de seguridad limpio: las llamadas a subprocess en models.py son invocaciones de lista de argumentos de los CLIs codex/gemini (sin shell=True/inyección), Telegram es opcional a través de urllib a api.telegram.org; sin curl|sh, blobs base64 o exfiltración. Pequeña nota de documentación: SKILL.md etiqueta erróneamente los IDs de modelo claude-sonnet-4/opus-4 como "Claude 3.5 Sonnet v2"/"Claude 3 Opus".
Probado el: 2026-07-21 · Claude Code 2.x (agent harness)
Instalación
git clone --depth 1 https://github.com/zscole/adversarial-spec.git /tmp/adversarial-spec-src mkdir -p ~/.claude/skills cp -R /tmp/adversarial-spec-src/skills/adversarial-spec ~/.claude/skills/adversarial-spec # Core debate step needs litellm plus at least one provider API key: # pip install litellm==1.80.13 # export OPENAI_API_KEY=... (or GEMINI_API_KEY / XAI_API_KEY / ANTHROPIC_API_KEY / etc.) # Alternatively install a CLI provider: npm i -g @openai/codex && codex login # or: npm i -g @google/gemini-cli && gemini auth # Verify which keys are seen: # python3 "$(find ~/.claude -name debate.py -path '*adversarial-spec*' | head -1)" providers # Plugin-marketplace alternative: repo ships .claude-plugin/marketplace.json + plugin.json
Comandos y prompts de ejemplo
/adversarial-specRefina una PRD o especificación técnica debatiéndola entre múltiples LLM hasta que estén de acuerdo
Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):
Refine this spec by debating it across GPT and GeminiHave multiple models critique this specificationIterate this spec until all models agree