적대적 스펙 작성기 (Adversarial Spec)
GPT·Gemini·Grok 등 여러 LLM과 Claude가 서로 반박하며 PRD·기술 스펙을 합의될 때까지 다듬어 주는 스킬입니다.
문서·오피스고급★ 553⑂ 48AI 점수 8/10마지막 업데이트: 2026. 1. 22.
무엇을 해주나
제품 요구사항 문서(PRD)나 기술 설계 문서를 여러 LLM과의 '적대적 토론'으로 완성도까지 끌어올립니다.
- 문서 유형 선택: PRD(문제 정의·페르소나·유저 스토리·성공 지표·범위) 또는 기술 스펙(아키텍처·API 스키마·데이터 모델·보안·관측성·배포)
- 인터뷰 모드: 토론 전에 문제·사용자·제약·트레이드오프·리스크·성공 기준을 8개 영역으로 깊게 질문해 초안을 만듭니다.
- 다중 모델 비평: litellm으로 OpenAI·Anthropic·Google·xAI·Mistral·Groq·DeepSeek·OpenRouter, 또는 codex/gemini CLI, AWS Bedrock 경유 호출을 병렬 실행합니다.
- 게으른 합의 방지: 1~2라운드에
[AGREE]가 나오면--press플래그로 실제로 읽었는지 검증합니다. - 부가 기능:
--focus(security/scalability/performance/ux/reliability/cost),--persona(보안 엔지니어·온콜·QA·법무 등),--context로 기존 API 문서·스키마 주입, 세션 저장·재시작, 라운드별 체크포인트,--preserve-intent(의도적 설계 선택 보호), 토큰·비용 집계, Telegram 알림. - 합의되면 최종 문서를
spec-output.md로 저장하고, PRD였다면 이어서 기술 스펙까지 생성할 수 있습니다.
이런 분께 추천
- 스펙 리뷰어가 부족한 1인 창업자·소규모 팀의 PM
- 착수 전에 설계 허점과 엣지 케이스를 미리 털어내고 싶은 테크리드
- 보안·규제 관점의 사전 점검이 필요한 엔터프라이즈 팀(Bedrock 모드 지원)
활용 예시
- "결제 정산 서비스 PRD를 만들고 싶어. 인터뷰 모드로 시작해줘" → 심층 질문 후 초안 작성, gpt-4o와 gemini가 지표·범위의 모호함을 지적하며 3~4라운드 개선.
- 기존
./docs/auth-spec.md를 넣고--focus security --persona security-engineer로 돌려 인증·인가·입력 검증 누락을 집중 점검. - 1차 라운드는 저렴한 모델로 구조·완결성 검증, 2차 사이클은 o1·opus 같은 강한 모델로 재검증하는 2단 리뷰.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/zscole/adversarial-spec/HEAD/skills/adversarial-spec/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 zscole/adversarial-spec 의 skills/adversarial-spec 폴더를 내 ~/.claude/skills/adversarial-spec/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/zscole/adversarial-spec.git /tmp/adversarial-spec && mkdir -p ~/.claude/skills && cp -r /tmp/adversarial-spec/skills/adversarial-spec ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 사전 준비: Python 3.10 이상을 설치하고
pip install litellm을 실행합니다. (Simon Willison의llm패키지는 설치하지 마세요.) - 인증 준비: 최소 한 곳의 API 키를 환경변수로 등록합니다. 예:
export OPENAI_API_KEY=sk-...,export GEMINI_API_KEY=.... 구독 기반을 쓰려면npm install -g @openai/codex && codex login또는npm install -g @google/gemini-cli && gemini auth. - 스킬 설치: 터미널에서 아래를 실행합니다.
git clone https://github.com/zscole/adversarial-spec.git /tmp/adversarial-spec mkdir -p ~/.claude/skills cp -r /tmp/adversarial-spec/skills/adversarial-spec ~/.claude/skills/ - 키 인식 확인:
python3 "$(find ~/.claude -name debate.py -path '*adversarial-spec*' | head -1)" providers로 어떤 제공자가 준비됐는지 확인합니다. - 인증 충돌 해결: "Both a token and an API key are set" 오류가 나면
unset ANTHROPIC_API_KEY하거나claude /logout중 하나를 선택합니다. - 실행: Claude Code를 재시작한 뒤 "적대적 방식으로 PRD를 다듬어줘"처럼 요청하면 스킬이 문서 유형과 모델 선택을 물어봅니다.
- (선택) 알림: Telegram 알림을 원하면 @BotFather로 봇을 만들고
TELEGRAM_BOT_TOKEN,TELEGRAM_CHAT_ID를 등록한 뒤--telegram을 사용합니다.
GitHub에서 원본 보기 ↗라이선스: MIT