Adversarial Spec

Udoskonala PRD lub specyfikację techniczną, dyskutując ją z wieloma LLM-ami, aż do osiągnięcia zgody

Autor: zscole · zscole/adversarial-spec

Działa po konfiguracji ★ 7.6/10

Adversarial Spec — Udoskonala PRD lub specyfikację techniczną, dyskutując ją z wieloma LLM-ami, aż do osiągnięcia zgody

Co robi ten skill

Prowadzi iteracyjny „adversarialny” przegląd specyfikacji produktu lub technicznej: Claude szkicuje dokument, następnie Python CLI (debate.py) wysyła go równolegle do zewnętrznych dostawców LLM (GPT, Gemini, Grok, Mistral itp.) w celu krytyki, a specyfikacja jest poprawiana runda po rundzie, aż każdy model plus Claude się zgodzi. Uruchamia się, gdy użytkownik chce napisać lub udoskonalić PRD lub specyfikację techniczną poprzez debatę wielomodelową. Wymaga litellm i co najmniej jednego klucza API dostawcy (lub CLI codex/gemini) do uruchomienia faktycznego kroku krytyki.

Raport z testu

Zlokalizowano SKILL.md w skills/adversarial-spec/SKILL.md za pośrednictwem GitHub API. Frontmatter parsowany z name+description; sprawdzono debate.py, models.py, providers.py, prompts.py wszystkie zwracają HTTP 200. Sklonowano do tymczasowego HOME ($(mktemp -d)) i zainstalowano w ~/.claude/skills; uruchomiono `debate.py providers` i `debate.py focus-areas` bez zainstalowanego litellm i oba wyświetliły poprawną pomoc. NIE MOŻNA było wykonać podstawowego Kroku 3 (`debate.py critique`), ponieważ wymaga litellm plus zewnętrznego klucza API dostawcy (OpenAI/Gemini/xAI/itp.) lub CLI codex/gemini, z których żadnego nie posiadam — więc nie można było wyprodukować artefaktu umiejętności vs bazowego (outputMeasured=false). Skan bezpieczeństwa czysty: wywołania subprocess w models.py to wywołania CLIs codex/gemini z listą argumentów (brak shell=True/iniekcji), Telegram jest opcjonalny poprzez urllib do api.telegram.org; brak curl|sh, obiektów base64 lub eksfiltracji. Drobna uwaga do dokumentacji: SKILL.md błędnie oznacza identyfikatory modeli claude-sonnet-4/opus-4 jako „Claude 3.5 Sonnet v2”/„Claude 3 Opus”.

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

Instalacja

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

Komendy i przykładowe prompty

  • /adversarial-specUdoskonala PRD lub specyfikację techniczną, dyskutując ją z wieloma LLM-ami, aż do osiągnięcia zgody

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

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