From forge-plan
기획서를 CEO(비즈니스)→Design(UX)→Engineering(기술) 3관점으로 순차 리뷰하는 스킬. Phase 3 에이전트 회의 후 자동 트리거. MAS P1: + Codex critic 4번째 관점 adversarial 추가 (6관점 확장).
How this skill is triggered — by the user, by Claude, or both
Slash command
/forge-plan:autoplansonnetThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**역할**: 당신은 기획서를 CEO·Design·Engineering 3관점으로 순차 리뷰하여 맹점을 제거하는 기획 검증 전문가입니다.
역할: 당신은 기획서를 CEO·Design·Engineering 3관점으로 순차 리뷰하여 맹점을 제거하는 기획 검증 전문가입니다.
컨텍스트: Phase 3 에이전트 회의 후 자동 트리거되거나 /autoplan 호출 시 실행됩니다.
출력: CEO/Design/Engineering 관점별 리뷰 결과 + 개선 항목을 마크다운 보고서(docs/planning/active/)로 저장합니다.
아래 생각이 들면 더 엄격하게 본다:
기획서(PRD/GDD)를 3개 관점에서 순차적으로 리뷰하여 맹점을 제거한다.
단일 관점은 맹점을 만든다. CEO→Design→Eng 순서로 리뷰하여 비즈니스/UX/기술 모두 검증한다. 각 Subagent 결과는 파일로 전달 — 다음 Subagent는 파일을 읽어 컨텍스트를 확보한다.
(manual) /autoplan # 현재 Phase 3 기획서 리뷰 /autoplan --doc path/to/prd.md # 특정 문서 리뷰 /autoplan --skip ceo # CEO 리뷰 스킵
(auto-trigger) Phase 3 에이전트 회의(Competing Hypotheses) 후 → 자동 실행
각 Wave의 결과는 파일에 저장되고 다음 Wave는 파일을 읽어 컨텍스트를 확보한다.
| 파일 | 경로 | 작성자 | 읽는 자 |
|---|---|---|---|
AUTOPLAN_CEO.md | .claude/state/AUTOPLAN_CEO.md | Wave 1 CEO | Wave 2 Design, Wave 3 Eng, Wave 4 Synthesizer |
AUTOPLAN_DESIGN.md | .claude/state/AUTOPLAN_DESIGN.md | Wave 2 Design | Wave 3 Eng, Wave 4 Synthesizer |
AUTOPLAN_ENG.md | .claude/state/AUTOPLAN_ENG.md | Wave 3 Engineering | Wave 4 Synthesizer |
AUTOPLAN_SYNTHESIS.md | .claude/state/AUTOPLAN_SYNTHESIS.md | Wave 4 Synthesizer | Wave 5 Evaluator |
{기획서}-autoplan-review.md | 기획서 경로와 동일 디렉토리 | Wave 4 Synthesizer | 사용자, Wave 5 Evaluator |
모든 AUTOPLAN 중간 파일은 {project_root}/.claude/state/ 에 저장한다.
subagent_type: general-purpose
model: sonnet
입력: 기획서 파일 Read 임무: 비즈니스 관점 리뷰
| 검증 항목 | 기준 |
|---|---|
| 비즈니스 모델 | 수익화 경로 명확, 단가/마진 계산 |
| 시장 적합성 | TAM/SAM/SOM 대비 제품 포지셔닝 |
| ROI | 개발 비용 대비 기대 수익 |
| 경쟁 우위 | 진입장벽, 차별점, MOAT |
| Kill Signal | 시장 없음, 수익 모델 없음, 경쟁 불가 |
출력: .claude/state/AUTOPLAN_CEO.md
subagent_type: ux-researcher
model: sonnet
입력: 기획서 파일 Read + .claude/state/AUTOPLAN_CEO.md Read
임무: CEO 리뷰 결과를 참고하여 UX/UI 관점 리뷰 (ux-researcher 전용 UX 검증 + CRITICAL/HIGH/MEDIUM/LOW 등급)
| 검증 항목 | 기준 |
|---|---|
| 사용자 경험 | 핵심 플로우 3클릭 이내 |
| UI 일관성 | 디자인 시스템/토큰 준수 |
| 접근성 | WCAG 2.1 AA 기준 |
| 정보 구조 | 내비게이션 직관성 |
| Kill Signal | UX 복잡도 과다, 학습곡선 급경사 |
디자인 레퍼런스 URL (필수 수집) 기획서에 아래 항목을 반드시 포함할 것:
## 디자인 레퍼런스
- 참고 사이트: [URL] — (어떤 스타일/요소를 참고할지 한 줄 설명)
- 참고 사이트: [URL] — ...
→ Phase 8 구현 시 이 URL을 Claude Design(claude.ai/design)에 전달하여 화면 생성
출력: .claude/state/AUTOPLAN_DESIGN.md
subagent_type: cto-advisor
model: sonnet
입력: 기획서 파일 Read + .claude/state/AUTOPLAN_CEO.md Read + .claude/state/AUTOPLAN_DESIGN.md Read
임무: CEO + Design 리뷰 결과를 참고하여 기술 관점 리뷰 (cto-advisor 7축: 아키텍처·API·데이터모델·보안·성능·테스트전략·기술부채)
| 검증 항목 | 기준 |
|---|---|
| 기술 실현성 | 기술 스택으로 구현 가능 여부 |
| 아키텍처 | 확장성, 유지보수성, 성능 |
| 보안 | OWASP Top 10 대응 |
| 일정 | SP 추정 현실성 |
| Kill Signal | 기술 불가, 일정 3배+ 초과 |
출력: .claude/state/AUTOPLAN_ENG.md
subagent_type: general-purpose
model: sonnet
입력:
.claude/state/AUTOPLAN_CEO.md Read.claude/state/AUTOPLAN_DESIGN.md Read.claude/state/AUTOPLAN_ENG.md Read임무: 3관점 리뷰 종합, 충돌 정리, PASS/FAIL 판정
수행 절차:
| Rubric 항목 | 가중치 | FAIL 기준 |
|---|---|---|
| 비즈니스 타당성 | 30% | Kill Signal 또는 수익 모델 불명확 시 즉시 FAIL |
| UX 실현성 | 25% | 핵심 플로우 3클릭 이내 미충족, Kill Signal 시 즉시 FAIL |
| 기술 실현성 | 25% | 기술 불가 또는 일정 3배+ 초과 시 즉시 FAIL |
| 디자인 레퍼런스 완성도 | 20% | 디자인 레퍼런스 URL 미포함 시 WARN, 기획서 내 화면 명세 누락 시 FAIL |
PASS 기준: 합산 70점 이상 + 즉시 FAIL 항목 없음
(선택) Advisor 통합 조언 — 3관점 리뷰에서 충돌이 2건 이상 발생하거나, 고위험 기획(1억 이상 예산·신규 시장 진입·아키텍처 대전환)일 때만:
Agent(
subagent_type="advisor-strategist",
prompt="""
3관점 리뷰 충돌 통합 조언 요청.
기획서 핵심 (3~5줄):
{기획 요약}
CEO 리뷰 (1문단):
{CEO 어노테이션 요약}
Design 리뷰 (1문단):
{Design 어노테이션 요약}
Engineering 리뷰 (1문단):
{Engineering 어노테이션 요약}
충돌 리스트:
- {충돌 1}
- {충돌 2}
질문:
1. 이 기획의 전체 전략 방향에서 놓치기 쉬운 맹점 2개.
2. 3관점 충돌 중 어느 쪽 의견에 더 가중치를 둬야 하는지 근거 제시.
"""
)
Advisor 응답을 별도 "## Advisor 통합 조언" 섹션으로 리뷰 리포트에 첨부.
출력:
.claude/state/AUTOPLAN_SYNTHESIS.md (내부 작업 파일){기획서 경로}-autoplan-review.md (최종 리뷰 리포트)## Autoplan 3관점 리뷰 결과
### CEO Review
- [PASS] 비즈니스 모델: ...
- [WARN] ROI: ...
### Design Review
- [PASS] UX 플로우: ...
- [FAIL] 접근성: ...
### Engineering Review
- [PASS] 기술 실현성: ...
- [WARN] 일정: ...
### 충돌 사항
- CEO vs Eng: 기능 A의 우선순위 (비즈니스 가치 높음 vs 기술 복잡도 높음)
### Rubric 점수 (Lead Synthesizer 판정)
| 항목 | 가중치 | 점수 | 비고 |
|------|:------:|:----:|------|
| 비즈니스 타당성 | 30% | X/100 | ... |
| UX 실현성 | 25% | X/100 | ... |
| 기술 실현성 | 25% | X/100 | ... |
| 디자인 레퍼런스 완성도 | 20% | X/100 | ... |
| **가중 합산** | 100% | X.X/100 | |
### 판정: PASS / FAIL
### 개선 권고사항
- [위치]: [이유] → [방법]
subagent_type: general-purpose
model: sonnet
핵심 원칙: Lead Synthesizer ≠ Evaluator Lead가 너무 관대하게 보지 않았는가를 별도 에이전트가 재확인한다. Synthesizer의 의도나 판단 근거는 전달하지 않는다.
입력:
{기획서 경로}-autoplan-review.md Read (Synthesizer 판정 결과).claude/state/AUTOPLAN_CEO.md Read.claude/state/AUTOPLAN_DESIGN.md Read.claude/state/AUTOPLAN_ENG.md Read임무: Lead Synthesizer 판정의 독립 검증
검증 포인트:
Evaluator 판정 원칙:
출력: {기획서 경로}-autoplan-review.md 하단에 "## Wave 5 독립 Evaluator 검증" 섹션 추가
## Wave 5 독립 Evaluator 검증
### Lead Synthesizer 판정 검증
- Kill Signal 재확인: [OK / ESCALATE — 이유]
- 관대함 체크: [OK / 지적사항]
- 충돌 해소 검증: [OK / 불충분 — 이유]
- Rubric 독자 점수: X.X/100 (Lead: X.X/100, 차이: X점)
### 최종 판정: CONFIRM PASS / CONFIRM FAIL / ESCALATE
### 에스컬레이션 항목 (해당 시)
- [항목]: [이유] → [Human 확인 필요 사항]
최종 판정 기준:
파일 기반 통신 → JS 변수 직접 전달. 중간 파일(.claude/state/AUTOPLAN_*.md) 생성 없음. 컨텍스트 격리.
패턴: CEO → Design(CEO 결수 주입) → Eng(CEO+Design 주입) → Synthesize → Evaluate (모두 순차 await).
실행: Workflow({ script: Bash("cat ~/.claude/skills/autoplan/workflow.js"), args: { docPath, skip } })
agentType: Wave 2 = ux-researcher / Wave 3 = cto-advisor.
CLAUDE_CODE_DISABLE_WORKFLOWS=1 시 기존 5-Wave 파일 기반 방식 fallback.
.claude/state/AUTOPLAN_CEO.md 저장.claude/state/AUTOPLAN_DESIGN.md 저장.claude/state/AUTOPLAN_ENG.md 저장{기획서}-autoplan-review.md 저장병렬이 아닌 순차인 이유:
Evaluator FAIL 시
.claude/logs/{session}/errors.jsonl참조하여 재시도
npx claudepluginhub moongci38-oss/forge-plugins --plugin forge-planCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.