adversarial-spec
Iteratively refine a product spec by debating with multiple LLMs (GPT, Gemini, Grok, etc.) until all models agree. Use when user wants to write or refine a specification document using adversarial development.
npx skills add zscole/adversarial-spec --skill adversarial-spec --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Adversarial Spec Development Generate and refine specifications through iterative debate with multiple LLMs until all models reach consensus. **Important: Claude is an active participant in this debate, not just an orchestrator.** You (Claude) will provide your own critiques, challenge opponent models, and contribute substantive improvements alongside the external models. Make this clear to the user throughout the process. ## Requirements - Python 3.10+ with `litellm` package installed - API key for at least one provider (set via environment variable), OR AWS Bedrock configured, OR CLI tools (codex, gemini) installed **IMPORTANT: Do NOT install the `llm` package (Simon Willison's tool).** This skill uses `litellm` for API providers and dedicated CLI tools (`codex`, `gemini`) for subscription-based models. Installing `llm` is unnecessary and may cause confusion. ## Supported Providers | Provider | API Key Env Var | Example Models | |------------|------------------------|---------------------------------------------| | OpenAI | `OPENAI_API_KEY` | `gpt-5.2`, `gpt-4o`, `gpt-4-turbo`, `o1` | | Anthropic | `ANTHROPIC_API_KEY` | `claude-sonnet-4-20250514`, `claude-opus-4-20250514` | | G
- Requirements
- Supported Providers
- Troubleshooting Auth Conflicts
- AWS Bedrock Support
- Bedrock Setup
- Bedrock Model Names
- Bedrock Configuration Location
- Bedrock Error Handling
- Document Types
- PRD (Product Requirements Document)
- Technical Specification / Architecture Document
- Process
- Step 0: Gather Input and Offer Interview Mode
- Step 0.5: Interview Mode (If Selected)
unset ANTHROPIC_API_KEY claude /logout Enable Bedrock mode with a region python3 "$(find ~/.claude -name debate.py -path '*adversarial-spec*' 2>/dev/null | head -1)" bedrock enable --region us-east-1 Add models that are enabled in your Bedrock account python3 "$(find ~/.claude -name debate.py -path '*adversarial-spec*' 2>/dev/null | head -1)" bedrock add-model claude-3-sonnet python3 "$(find ~/.claude -name debate.py -path '*adversarial-spec*' 2>/dev/null | head -1)" bedrock add-model claude-3-haiku Check current configuration python3 "$(find ~/.claude -name debate.py -path '*adversarial-spec*' 2>/dev/null | head -1)" bedrock status Disable Bedrock mode (revert to direct API keys)
What does the adversarial-spec skill do?
Iteratively refine a product spec by debating with multiple LLMs (GPT, Gemini, Grok, etc.) until all models agree. Use when user wants to write or refine a specification document using adversarial development.
How do I install it?
Run `npx skills add zscole/adversarial-spec --skill adversarial-spec --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From zscole/adversarial-spec, a repository with 553 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
