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.

majiayu000github.com/majiayu000GitHub ↗
claude-codecan modify filesMIT
Install
npx skills add majiayu000/claude-skill-registry --skill adversarial-spec --agent claude-code

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

Facts
Files in the skill folder: 2
SKILL.md size: 32 KB
Bundled scripts: none
Allowed tools: BashReadWriteAskUserQuestion
Path: skills/ai-llm/adversarial-spec/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

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 1 file
  • metadata.json
Commands it runs
unset ANTHROPIC_API_KEY
claude /logout
Enable Bedrock mode with a region
python3 ~/.claude/skills/adversarial-spec/scripts/debate.py bedrock enable --region us-east-1
Add models that are enabled in your Bedrock account
python3 ~/.claude/skills/adversarial-spec/scripts/debate.py bedrock add-model claude-3-sonnet
python3 ~/.claude/skills/adversarial-spec/scripts/debate.py bedrock add-model claude-3-haiku
Check current configuration
python3 ~/.claude/skills/adversarial-spec/scripts/debate.py bedrock status
Disable Bedrock mode (revert to direct API keys)
More from claude-skill-registry
All skills →
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 majiayu000/claude-skill-registry --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 majiayu000/claude-skill-registry, a repository with 534 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