LogoSkills

/cc-product:review — 전문가 한 명에게 콕 집어 검토받기

전문가 페르소나 한 명(analyst·architect·product-manager·ux 등)을 지목해 그 관점으로만 검토하고 APPROVED/REJECTED 판정과 반려 시 수정 방법·재검토 명령을 냅니다 — 전원 검토가 과할 때.

/cc-product:review — 전문가 한 명에게 콕 집어 검토받기#

항목내용
실행 명령/cc-product:review
분류워크플로우
난이도●●○ 보통
MCP 서버zenhub

한마디로#

특정 분야 전문가(아키텍트, 기획자, UX 디자이너 등) 한 명을 지목해 그 사람 관점으로만 검토를 받는 명령입니다. 회의 전체를 부르지 않고 "이 부분은 보안 담당자에게만 한번 봐주세요"처럼 딱 필요한 전문가에게만 의견을 청하는 것과 같아요.

누가·언제 쓰나요#

  • 전체 검토가 아니라 특정 전문가의 검토만 필요할 때
  • 게이트(품질 관문)에서 한번 떨어진 뒤, 고치고 나서 다시 검토받고 싶을 때
  • 전체가 아닌 일부만 빠르게 점검하고 싶을 때

무엇을 해주나요#

지목한 전문가(페르소나) 기준으로 검토를 돌려, 통과(APPROVED) 또는 반려(REJECTED) 결과를 보여줍니다.

  • 통과하면 무엇이 잘 됐는지 항목별로 정리해 줍니다.
  • 반려되면 무엇이 문제인지 + 어떻게 고쳐야 하는지 + 다시 검토받는 명령어까지 알려줍니다.
  • 검토 기준은 .claude/personas/(전문가 정의)와 .claude/orchestrators/phase-gates.md(게이트 기준)를 따릅니다.

선택할 수 있는 전문가(페르소나)는 다음과 같습니다.

  • analyst — 요구사항·범위·수용 기준 검토
  • product-manager — Epic/Story, 포인트, 라벨 검토
  • architect — 아키텍처, Pure DI, API 검토
  • ux-designer — CoUI, 레이아웃, 인터랙션 검토
  • flutter-developer — BLoC, 위젯, 테스트 검토
  • backend-developer — 모델, 엔드포인트, DB 검토
  • scrum-master — 워크플로우, 블로커 검토

어떻게 쓰나요#

# 아키텍트에게 검토받기
/cc-product:review --persona architect  " 현재 PR 검토 " 

 # 기획자(애널리스트)에게 요구사항 검토받기
/cc-product:review --persona analyst  " 요구사항 검토 " 

 # UX 디자이너에게 UI 검토받기
/cc-product:review --persona ux-designer  " UI 검토 " 

 # 피드백 반영 후 다시 검토받기
/cc-product:review --persona architect --retry

# 두 전문가에게 동시에(병렬) 검토받기
/cc-product:review --persona architect,ux-designer  " 디자인 검토 "
  • --persona(필수): 누구에게 검토받을지 지정합니다. 쉼표로 여러 명을 한 번에 부를 수 있어요.
  • 검토 대상("현재 PR 검토" 등): 새 검토일 때는 무엇을 볼지 함께 적어 줍니다.
  • --retry: 이전 피드백을 바탕으로 다시 검토합니다.
  • --verbose: 검토 결과를 더 자세히 보여줍니다.

안에서 무슨 일이 벌어지나요#

  1. 전문가 설정 불러오기 — 지목한 페르소나의 검토 기준(체크리스트)을 읽어 옵니다.
  2. 체크리스트 실행 — 그 기준에 맞춰 항목 하나하나를 점검합니다.
  3. 결과 집계 — 모든 항목을 통과하면 합격, 하나라도 걸리면 반려로 판정합니다.
  4. 피드백 생성 — 반려된 경우 문제점과 고쳐야 할 내용을 정리해 알려 줍니다.
  5. 여러 명일 때는 동시에 — 전문가를 여럿 지정하면 각자 병렬로 검토해 결과를 한꺼번에 돌려줍니다.
  6. 다시 검토(재검토)--retry로 부르면 앞서 지적된 항목을 집중적으로 다시 보고, 통과하면 다음 단계로 넘어갑니다.

⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)

Triggers#

  • When only a specific persona review is needed
  • When re-reviewing after gate failure
  • When partial review is needed

Usage#

Basic Usage#

# Architect review
/cc-product:review --persona architect  " current PR review " 

 # Analyst review
/cc-product:review --persona analyst  " requirements review " 

 # UX Designer review
/cc-product:review --persona ux-designer  " UI review "

Re-review Request#

# Re-review after applying feedback
/cc-product:review --persona architect --retry

Multi-persona simultaneous review#

# Architect and UX Designer parallel review
/cc-product:review --persona architect,ux-designer  " design review "

Parameters#

ParameterRequiredDescriptionExample
--personaPersona to review witharchitect, analyst
review target⚠️Content to review (required for new reviews)"current PR review"

Options#

OptionDefaultDescription
--retryfalseRe-review based on previous feedback
--verbosefalseDetailed review result output

Available Personas#

PersonaPhaseReview Items
analystAnalysisRequirements, scope, Acceptance Criteria
product-managerPlanningEpic/Story, Point, labels
architectSolutioningArchitecture, Pure DI, API
ux-designerSolutioningCoUI, layout, interaction
flutter-developerImplementationBLoC, Widget, tests
backend-developerImplementationModel, Endpoint, DB
scrum-masterImplementationWorkflow, blockers

Review Execution Logic#

Single Persona Review#

async function runPersonaReview(
  persona: PersonaType,
  input: ReviewInput,
  options: ReviewOptions
): Promise < ReviewResult >   {
  // Load persona configuration
  const personaConfig = loadPersona(persona);

  // Execute checklist
  const checks = await runChecklist(personaConfig.checks, input);

  // Aggregate results
  const pass = checks.every(c = >   c.status ===  " pass " );

  return {
    persona,
    pass,
    checks,
    feedback: pass ? undefined : generateFeedback(checks),
  };
}

Multi-Persona Parallel Review#

async function runParallelReviews(
  personas: PersonaType[],
  input: ReviewInput
): Promise < ReviewResult[] >   {
  return Promise.all(
    personas.map(persona = >   runPersonaReview(persona, input, {}))
  );
}

Output Format#

Review Passed#

╔════════════════════════════════════════════════════════════════╗
║  🏗️ Architect Review: APPROVED                                 ║
╠════════════════════════════════════════════════════════════════╣
║                                                                ║
║  ✅ Clean Architecture: PASS                                    ║
║     - Layer separation correct                                       ║
║     - BLoCUseCaseRepository flow normal                    ║
║                                                                ║
║  ✅ Dependency wiring: PASS                                        ║
║     - Pure DI pattern compliant                                        ║
║     - BlocProvider direct creation verified                               ║
║                                                                ║
║  ✅ API design: N/A (No backend changes)                           ║
║                                                                ║
║  ✅ Security: PASS                                              ║
║                                                                ║
╚════════════════════════════════════════════════════════════════╝

Review Rejected#

╔════════════════════════════════════════════════════════════════╗
║  🏗️ Architect Review: REJECTED                                 ║
╠════════════════════════════════════════════════════════════════╣
║                                                                ║
║  ✅ Clean Architecture: PASS                                    ║
║                                                                ║
║  ❌ Dependency wiring: FAIL                                        ║
║     - getIt < Bloc > () usage found - Pure DI pattern violation              ║
║                                                                ║
║  Required fixes:                                                  ║
║  1. Change to direct creation in BlocProvider:                        ║
║     create: (_) = >   AuthorBloc()                                ║
║                                                                ║
║  Re-review command:                                                  ║
║  /cc-product:review --persona architect --retry                      ║
║                                                                ║
╚════════════════════════════════════════════════════════════════╝

Re-review Flow#

┌─────────────────────────────────────────────────────────────────┐
│  Re-review Flow                                                    │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. Initial review                                                   │
│     /cc-product:review --persona architect  " review target "                 │
│                                                                 │
│  2. On review failure                                                │
│     → Check feedback                                              │
│     → Perform corrections                                           │
│                                                                 │
│  3. Request re-review                                                 │
│     /cc-product:review --persona architect --retry                   │
│                                                                 │
│  4. Execute re-review                                                 │
│     → Focus review on previous feedback items                               │
│     → Additional feedback if new issues found                          │
│                                                                 │
│  5. On pass, proceed to next step                                     │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

  • /cc-product:bmad - Full BMAD workflow
  • /cc-product:bmad-status - Status check
  • /cc-product:gate - Gate verification
  • .claude/personas/ - Persona definitions
  • .claude/orchestrators/phase-gates.md - Gate criteria