Multi-perspective review of a plan or design document. Up to ten viewpoints deliberate in 3 rounds; the main session orchestrates, with a sequential path for harnesses without subagents.
Installs into .claude/skills of the current project.
Are you the author of Multi Perspective Review?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/this-hw-multi-perspective-review-hiway-kit)
---
name: multi-perspective-review
description: Multi-perspective review of a plan or design document. Up to ten viewpoints deliberate in 3 rounds; the main session orchestrates, with a sequential path for harnesses without subagents.
---
# multi-perspective-review: 다관점 협업 리뷰
> Deliberation Pattern 기반 문서 검토 — 관점별 독립 의견 → 상호 검토 → 합의
---
## 개요
복잡한 기획·설계 문서를 여러 관점이 **독립적으로** 검토한 뒤, 서로의 의견을 보고 재검토하고,
충돌을 트레이드오프로 정리해 합의안을 낸다. 단순 체크리스트가 아니라 **의견 교류와 합의**가 산출물이다.
**조율은 이 스킬을 실행하는 메인 세션이 한다.** 관점 선택·종합·충돌 분석·영향도 분석은
별도 에이전트가 아니라 아래 절차의 **스킬 단계**다. 관점 검토만 서브에이전트에 맡길 수 있고,
서브에이전트가 없는 하네스에서는 메인 세션이 순차로 수행한다(아래 [실행 경로](#실행-경로)).
---
## 10개 관점 (Perspectives)
| 관점 | 역할 | 맡길 수 있는 에이전트 | 포커스 |
| -------------------- | --------------- | --------------------- | ----------------------------------------- |
| **Requirements** | 기획자 | clarify-requirements | P0 모호함, 엣지 케이스, 비기능 요구사항 |
| **Technical** | 개발자 | plan-implementation | 기술적 실현가능성, 개발 기간, 시스템 충돌 |
| **Security** | 보안 | security-scan | 인증/권한, 민감 데이터, 공격 벡터 |
| **UX/Flow** | UX 디자이너 | design-user-journey | 사용자 흐름, 상호작용, 접근성 |
| **Business Logic** | 비즈니스 분석가 | define-business-logic | 비즈니스 규칙, 도메인 로직, 정책 |
| **Dependencies** | 아키텍트 | analyze-dependencies | 외부 연동, 라이브러리, 시스템 간 의존성 |
| **Code Quality** | 리뷰어 | review-code | 코드 품질, 유지보수성, 테스트 가능성 |
| **Metrics** | 데이터 엔지니어 | — (관점 프롬프트) | 성능 지표, 모니터링, SLA |
| **Data/Schema** | DB 설계자 | — (관점 프롬프트) | 스키마 설계, 데이터 모델, 마이그레이션 |
| **Devil's Advocate** | 전략 비평가 | devils-advocate | 실패 시나리오, 설계 약점, 리스크 정량화 |
"맡길 수 있는 에이전트"는 **선택**이다. 에이전트가 없거나(—), 설치돼 있지 않거나, 하네스가
서브에이전트를 지원하지 않으면 그 관점은 **관점 프롬프트**(perspectives-guide.md 의 해당 절:
역할·책임·질문 항목)로 수행한다. 에이전트 이름은 호스트가 노출하는 이름을 쓴다(플러그인 접두사가
붙을 수 있다).
**상세:** [perspectives-guide.md](perspectives-guide.md)
---
## 두 가지 규칙 — 거짓 합의 방어
여러 관점이 "동의"만 쌓으면 합의처럼 보이는 **증거 없는 합의**가 된다. 관점을 늘려도 이 문제는 줄지
않는다는 외부 보고가 있다(arxiv 2608.18167 «Adversarial Review», 2026-08 — 이 킷의 외부 동향 감사가
인용한 것이고 원문은 재검증 전이다). 그래서 이 스킬은 두 규칙을 **모든 실행 경로에서** 강제한다:
1. **근거 필수.** 관점이 내는 모든 이슈·주장에는 근거가 붙는다 — `파일:라인`(대상 문서 포함,
인용 한 줄 병기) · 명령과 그 출력 · URL(확인일). **근거 없는 주장은 집계에서 제외한다**
(Critical/Important 개수·합의율에 넣지 않는다). 지우지는 않는다 — 최종 리포트의
"집계 제외" 절에 한 줄로 남긴다.
2. **명시적 반대 라운드.** Round 2 마지막에 **반대자**가 종합 1 의 합의 초안에 *반대하는* 역할을
맡는다. 합의 항목은 반대자가 **근거를 내고** 그것이 근거로 반박되거나, 반대자가 "근거 있는 반대를
찾지 못함 — 시도한 검증: …" 을 쓴 뒤에만 통과한다. "동의한다"만 쓰는 반대는 무효다. 반박되지 않은
근거 있는 반대는 Round 3 의 충돌 목록으로 간다.
상세 절차·프롬프트·리포트 형식: [deliberation-pattern.md](deliberation-pattern.md).
---
## 워크플로우 (3-Round Deliberation)
```
Round 0 관점 선택 (메인 세션)
→ 문서 유형·복잡도·도메인 파악, 필요한 관점과 관점별 초점 영역 결정
→ 공통 컨텍스트 수집: 대상 문서 + 프로젝트 에이전트 지침 파일(CLAUDE.md·AGENTS.md 중 있는 것)
↓
Round 1 독립 의견 (관점마다 — 병렬 가능)
→ 각 관점은 공통 컨텍스트 + 자기 초점 영역만 받는다. 다른 관점 의견은 주지 않는다
→ 모든 이슈에 근거를 붙인다
↓
종합 1 중복·충돌 식별 (메인 세션)
→ 근거 없는 주장 분리(집계 제외) → Critical / Important / Nice-to-have 분류, 동일 이슈 통합
→ 관점 간 충돌 목록 + 합의 초안
↓
Round 2 상호 검토 + 반대 (관점마다 순차 → 마지막에 반대자)
→ 관점별: 종합 1 + 자기 의견 + 다른 관점 의견을 보고 유지/변경/추가/충돌 해결 제안
→ 반대자: 합의 초안에 근거를 들어 반대한다 (생략 불가 — 비용 조절은 관점별 재검토만 줄인다)
↓
Round 3 합의 + 영향도 (메인 세션)
→ 충돌·미반박 반대별 근본 원인·트레이드오프·합의안 (conflict-resolution.md)
→ Hard Constraint 충돌은 사용자 결정으로 올린다 (호스트의 질문 수단)
→ 합의된 변경의 영향 범위·리스크·비용 추정 — 코드베이스 영향이 크면 analyze-dependencies 로 확인
↓
최종 리포트 (메인 세션)
```
**상세:** [deliberation-pattern.md](deliberation-pattern.md)
---
## 실행 경로
두 경로 모두 위 **두 규칙(근거 필수 · 명시적 반대)** 이 똑같이 적용된다. 다른 것은 컨텍스트 분리
정도뿐이다.
### A. 서브에이전트가 있는 하네스 (예: Claude Code)
- Round 1: 관점마다 서브에이전트를 **한 메시지에 병렬로** 띄운다. 에이전트가 없는 관점은
범용 서브에이전트에 관점 프롬프트를 준다.
- Round 2: 관점마다 순차로 띄운다(앞 관점의 재검토가 뒤 관점의 입력이 된다). 이어서 **반대자**를
별도 서브에이전트로 띄운다 — 관점 중 Devil's Advocate 가 있으면 그것을, 없으면 범용 서브에이전트에
반대자 프롬프트를 준다(반대자는 관점 수에 세지 않는다).
- 종합·Round 3·최종 리포트는 메인 세션이 직접 한다 — 서브에이전트에 맡기지 않는다.
- 서브에이전트는 다른 서브에이전트를 부르지 않는다. 조율은 전부 메인 세션에 있다.
### B. 서브에이전트가 없는 하네스 (예: Codex) — 순차 경로
메인 세션이 모든 관점을 **차례로** 수행한다. 독립성이 이 패턴의 핵심이므로 순서를 지킨다:
1. Round 1 의 관점 블록을 하나씩 쓴다. 각 블록은 그 관점의 질문 항목에만 답하고,
**앞서 쓴 관점 블록을 근거로 인용하지 않는다.** 다 쓴 블록은 고치지 않는다. 모든 이슈에 근거를 붙인다.
2. 모든 Round 1 블록을 쓴 **뒤에** 종합 1 을 한다(근거 없는 주장은 이때 분리).
3. Round 2 는 관점별로 "유지/변경/추가/충돌 제안"을 한 블록씩 쓴다.
4. **반대 블록을 따로 쓴다.** 합의 초안을 쓴 직후 같은 컨텍스트에서 *초안의 작성자가 아니라 반대자*로
쓴다 — 초안을 옹호하는 문장을 쓰지 않고, 근거를 찾는 데만 쓴다. 근거 있는 반대를 못 찾았다면 어디를
봤는지(파일·명령)를 적는다. 같은 컨텍스트라 반대가 약해지기 쉬우므로 이 블록은 **생략·축약하지 않는다.**
5. Round 3·최종 리포트는 경로 A 와 같다.
같은 컨텍스트에서 수행하므로 관점 간 독립성은 경로 A 보다 약하다. 최종 리포트의
Executive Summary 에 `실행 경로: 순차(단일 컨텍스트)` 를 적어 읽는 사람이 이를 알게 한다.
---
## 사용법
```bash
# 문서 파일 직접 지정
/multi-perspective-review docs/planning/point-system.md
# 계획 파일 지정
/multi-perspective-review docs/plans/2026-09-28-point-system/plan.md
```
실행 흐름의 전체 예시(Round 0 → 최종 리포트)는 [examples.md](examples.md) 에 있다.
---
## 출력 형식
최종 리포트의 구조(Executive Summary · Critical/Important/Nice-to-have · 집계 제외 · 합의 과정 ·
영향도 · 다음 단계)와 항목별 필수 필드(근거 · 반대 결과 · 합의 상태)는
[deliberation-pattern.md](deliberation-pattern.md) 의 "최종 리포트" 절이 소유한다.
---
## 비용 조절
관점 수를 문서 복잡도에 맞게 줄인다(Small 문서면 Requirements·Technical 둘로 충분하다).
Round 2 에서 새 이슈·입장 변경이 없으면 **관점별 재검토**는 거기서 끝내고 반대 단계로 간다 —
반대 단계는 관점 수와 무관하게 한 번 항상 돈다(비용이 가장 싸면서 거짓 합의를 막는 단계라 줄이지 않는다).
---
## 주의사항
```
⚠️ 복잡한 문서에만 사용
→ 단순 변경은 단일 관점 리뷰로 충분
⚠️ 충돌이 많으면 시간 증가
→ 사전에 기획 명확화 권장
⚠️ 사용자 결정 필요 시 중단
→ 호스트의 질문 수단으로 묻고 답을 기다린다
```
---
## 관련 스킬
| 스킬 | 관계 | 설명 |
| ------------- | ---- | --------------------------- |
| **plan-task** | 선행 | 작업 계획 수립 후 문서 리뷰 |
| **auto-dev** | 후행 | 리뷰 통과 후 자동 개발 |
| **review** | 대안 | 코드 리뷰 (구현 후) |
---
## References
- [deliberation-pattern.md](deliberation-pattern.md) - 3-Round 패턴 상세
- [perspectives-guide.md](perspectives-guide.md) - 10개 관점 가이드 (관점 프롬프트)
- [conflict-resolution.md](conflict-resolution.md) - 충돌 해결 전략
- [examples.md](examples.md) - 실제 리뷰 예시