Adversarial Spec

Forfin en PRD eller tech spec ved at debattere den på tværs af flere LLM'er, indtil de er enige

Af zscole · zscole/adversarial-spec

Virker med opsætning ★ 7.6/10

Adversarial Spec — Forfin en PRD eller tech spec ved at debattere den på tværs af flere LLM'er, indtil de er enige

Hvad det gør

Driver en iterativ "adversarial" gennemgang af en produkt- eller teknisk spec: Claude udarbejder dokumentet, derefter sender en Python CLI (debate.py) det parallelt til eksterne LLM-udbydere (GPT, Gemini, Grok, Mistral osv.) til kritik, og spec'en revideres runde efter runde, indtil hver model plus Claude er enige. Udløses når brugeren ønsker at skrive eller forfine en PRD eller teknisk specifikation gennem multi-model debat. Kræver litellm og mindst én udbyder API-nøgle (eller codex/gemini CLI) for at køre det faktiske kritiktrin.

Testrapport

Fandt SKILL.md på skills/adversarial-spec/SKILL.md via GitHub API. Frontmatter parses med name+description; stikprøvekontrollerede debate.py, models.py, providers.py, prompts.py alle returnerer HTTP 200. Klonede til en temp HOME ($(mktemp -d)) og installerede til ~/.claude/skills; kørte `debate.py providers` og `debate.py focus-areas` uden litellm installeret, og begge udskrev korrekt hjælp-output rent. Kunne IKKE udføre kernetrin 3 (`debate.py critique`), fordi det kræver litellm plus en ekstern udbyder API-nøgle (OpenAI/Gemini/xAI/etc.) eller codex/gemini CLI, hvoraf jeg ingen har — så ingen skill-vs-baseline artefakt kunne produceres (outputMeasured=false). Sikkerhedsscanning ren: subprocess kald i models.py er argument-liste kald af codex/gemini CLI'erne (ingen shell=True/injection), Telegram er opt-in via urllib til api.telegram.org; ingen curl|sh, base64 blobs eller exfiltration. Mindre doc nit: SKILL.md fejlmarkerer claude-sonnet-4/opus-4 model ID'er som "Claude 3.5 Sonnet v2"/"Claude 3 Opus".

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

Installation

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

Kommandoer og eksempelprompter

  • /adversarial-specForfin en PRD eller tech spec ved at debattere den på tværs af flere LLM'er, indtil de er enige

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

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