Agent skill · Documentation

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.

zscolegithub.com/zscoleGitHub ↗
claude-codecan modify filesships scriptsMIT
Install
npx skills add zscole/adversarial-spec --skill adversarial-spec --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 18
SKILL.md size: 32 KB
Bundled scripts: yes
Allowed tools: BashReadWriteAskUserQuestion
Path: skills/adversarial-spec/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 553
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# 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

What's inside
Steps it walks through
  1. Requirements
  2. Supported Providers
  3. Troubleshooting Auth Conflicts
  4. AWS Bedrock Support
  5. Bedrock Setup
  6. Bedrock Model Names
  7. Bedrock Configuration Location
  8. Bedrock Error Handling
  9. Document Types
  10. PRD (Product Requirements Document)
  11. Technical Specification / Architecture Document
  12. Process
  13. Step 0: Gather Input and Offer Interview Mode
  14. Step 0.5: Interview Mode (If Selected)
Ships with 17 files
  • scripts/__init__.py
  • scripts/debate.py
  • scripts/models.py
  • scripts/mutmut_config.py
  • scripts/prompts.py
  • scripts/providers.py
  • scripts/py.typed
  • scripts/session.py
  • scripts/telegram_bot.py
  • scripts/tests/__init__.py
  • scripts/tests/test_cli.py
  • scripts/tests/test_model_calls.py
  • scripts/tests/test_models.py
  • scripts/tests/test_prompts.py
  • scripts/tests/test_providers.py
  • scripts/tests/test_session.py
  • scripts/tests/test_telegram_bot.py
Commands it runs
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)
About this skill
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.

Keep going