Adversarial Spec

Verfijn een PRD of tech spec door het te debatteren over meerdere LLM's totdat ze overeenkomen

Door zscole · zscole/adversarial-spec

Werkt met setup ★ 7.6/10

Adversarial Spec — Verfijn een PRD of tech spec door het te debatteren over meerdere LLM's totdat ze overeenkomen

Wat het doet

Stuurt een iteratieve "adversarial" review van een product- of technische specificatie: Claude stelt het document op, waarna een Python CLI (debate.py) het parallel naar externe LLM-providers (GPT, Gemini, Grok, Mistral, etc.) stuurt voor kritiek, en de specificatie wordt ronde na ronde herzien totdat elk model plus Claude het eens is. Activeert wanneer de gebruiker een PRD of technische specificatie wil schrijven of verfijnen via multi-model debat. Vereist litellm en ten minste één provider API key (of de codex/gemini CLI) om de daadwerkelijke kritiekstap uit te voeren.

Testrapport

SKILL.md gevonden op skills/adversarial-spec/SKILL.md via de GitHub API. Frontmatter parset met name+description; steekproefsgewijs gecontroleerd dat debate.py, models.py, providers.py, prompts.py allemaal HTTP 200 retourneren. Gekloond naar een tijdelijke HOME ($(mktemp -d)) en geïnstalleerd in ~/.claude/skills; `debate.py providers` en `debate.py focus-areas` uitgevoerd zonder geïnstalleerde litellm en beide printten correcte help output schoon. Kon de kern Stap 3 (`debate.py critique`) NIET uitvoeren omdat het litellm plus een externe provider API key (OpenAI/Gemini/xAI/etc.) of de codex/gemini CLI nodig heeft, waarvan ik geen heb — dus er kon geen skill-vs-baseline artefact worden geproduceerd (outputMeasured=false). Beveiligingsscan schoon: subprocess aanroepen in models.py zijn argument-lijst aanroepen van de codex/gemini CLI's (geen shell=True/injectie), Telegram is opt-in via urllib naar api.telegram.org; geen curl|sh, base64 blobs, of exfiltration. Kleine doc nit: SKILL.md labelt claude-sonnet-4/opus-4 model ID's verkeerd als "Claude 3.5 Sonnet v2"/"Claude 3 Opus".

Getest op: 2026-07-21 · Claude Code 2.x (agent harness)

Installatie

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

Commando's en voorbeeldprompts

  • /adversarial-specVerfijn een PRD of tech spec door het te debatteren over meerdere LLM's totdat ze overeenkomen

Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):

  • Refine this spec by debating it across GPT and Gemini
  • Have multiple models critique this specification
  • Iterate this spec until all models agree