| ํญ๋ชฉ | ๋ด์ฉ |
| Invoke | /review |
| Category | workflow |
| Complexity | moderate |
| MCP Servers | zenhub |
/product:review โ ์ ๋ฌธ๊ฐ ํ ๋ช
์๊ฒ ์ฝ ์ง์ด ๊ฒํ ๋ฐ๊ธฐ#
ํ๋ง๋๋ก#
ํน์ ๋ถ์ผ ์ ๋ฌธ๊ฐ(์ํคํ
ํธ, ๊ธฐํ์, 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 โ ์ํฌํ๋ก์ฐ, ๋ธ๋ก์ปค ๊ฒํ
์ด๋ป๊ฒ ์ฐ๋์#
# ์ํคํ
ํธ์๊ฒ ๊ฒํ ๋ฐ๊ธฐ
/product:review --persona architect " ํ์ฌ PR ๊ฒํ "
# ๊ธฐํ์(์ ๋๋ฆฌ์คํธ)์๊ฒ ์๊ตฌ์ฌํญ ๊ฒํ ๋ฐ๊ธฐ
/product:review --persona analyst " ์๊ตฌ์ฌํญ ๊ฒํ "
# UX ๋์์ด๋์๊ฒ UI ๊ฒํ ๋ฐ๊ธฐ
/product:review --persona ux-designer " UI ๊ฒํ "
# ํผ๋๋ฐฑ ๋ฐ์ ํ ๋ค์ ๊ฒํ ๋ฐ๊ธฐ
/product:review --persona architect --retry
# ๋ ์ ๋ฌธ๊ฐ์๊ฒ ๋์์(๋ณ๋ ฌ) ๊ฒํ ๋ฐ๊ธฐ
/product:review --persona architect,ux-designer " ๋์์ธ ๊ฒํ "
--persona(ํ์): ๋๊ตฌ์๊ฒ ๊ฒํ ๋ฐ์์ง ์ง์ ํฉ๋๋ค. ์ผํ๋ก ์ฌ๋ฌ ๋ช
์ ํ ๋ฒ์ ๋ถ๋ฅผ ์ ์์ด์.
- ๊ฒํ ๋์("ํ์ฌ PR ๊ฒํ " ๋ฑ): ์ ๊ฒํ ์ผ ๋๋ ๋ฌด์์ ๋ณผ์ง ํจ๊ป ์ ์ด ์ค๋๋ค.
--retry: ์ด์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ๋ค์ ๊ฒํ ํฉ๋๋ค.
--verbose: ๊ฒํ ๊ฒฐ๊ณผ๋ฅผ ๋ ์์ธํ ๋ณด์ฌ์ค๋๋ค.
์์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์#
- ์ ๋ฌธ๊ฐ ์ค์ ๋ถ๋ฌ์ค๊ธฐ โ ์ง๋ชฉํ ํ๋ฅด์๋์ ๊ฒํ ๊ธฐ์ค(์ฒดํฌ๋ฆฌ์คํธ)์ ์ฝ์ด ์ต๋๋ค.
- ์ฒดํฌ๋ฆฌ์คํธ ์คํ โ ๊ทธ ๊ธฐ์ค์ ๋ง์ถฐ ํญ๋ชฉ ํ๋ํ๋๋ฅผ ์ ๊ฒํฉ๋๋ค.
- ๊ฒฐ๊ณผ ์ง๊ณ โ ๋ชจ๋ ํญ๋ชฉ์ ํต๊ณผํ๋ฉด ํฉ๊ฒฉ, ํ๋๋ผ๋ ๊ฑธ๋ฆฌ๋ฉด ๋ฐ๋ ค๋ก ํ์ ํฉ๋๋ค.
- ํผ๋๋ฐฑ ์์ฑ โ ๋ฐ๋ ค๋ ๊ฒฝ์ฐ ๋ฌธ์ ์ ๊ณผ ๊ณ ์ณ์ผ ํ ๋ด์ฉ์ ์ ๋ฆฌํด ์๋ ค ์ค๋๋ค.
- ์ฌ๋ฌ ๋ช
์ผ ๋๋ ๋์์ โ ์ ๋ฌธ๊ฐ๋ฅผ ์ฌ๋ฟ ์ง์ ํ๋ฉด ๊ฐ์ ๋ณ๋ ฌ๋ก ๊ฒํ ํด ๊ฒฐ๊ณผ๋ฅผ ํ๊บผ๋ฒ์ ๋๋ ค์ค๋๋ค.
- ๋ค์ ๊ฒํ (์ฌ๊ฒํ ) โ
--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
/product:review --persona architect " current PR review "
# Analyst review
/product:review --persona analyst " requirements review "
# UX Designer review
/product:review --persona ux-designer " UI review "
Re-review Request#
# Re-review after applying feedback
/product:review --persona architect --retry
Multi-persona simultaneous review#
# Architect and UX Designer parallel review
/product:review --persona architect,ux-designer " design review "
Parameters#
| Parameter | Required | Description | Example |
|---|
--persona | โ
| Persona to review with | architect, analyst |
review target | โ ๏ธ | Content to review (required for new reviews) | "current PR review" |
Options#
| Option | Default | Description |
|---|
--retry | false | Re-review based on previous feedback |
--verbose | false | Detailed review result output |
Available Personas#
| Persona | Phase | Review Items |
|---|
analyst | Analysis | Requirements, scope, Acceptance Criteria |
product-manager | Planning | Epic/Story, Point, labels |
architect | Solutioning | Architecture, Pure DI, API |
ux-designer | Solutioning | CoUI, layout, interaction |
flutter-developer | Implementation | BLoC, Widget, tests |
backend-developer | Implementation | Model, Endpoint, DB |
scrum-master | Implementation | Workflow, 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, {}))
);
}
Review Passed#
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐๏ธ Architect Review: APPROVED โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โ
โ โ
Clean Architecture: PASS โ
โ - Layer separation correct โ
โ - BLoC โ UseCase โ Repository 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: โ
โ /product:review --persona architect --retry โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Re-review Flow#
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Re-review Flow โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ 1. Initial review โ
โ /product:review --persona architect " review target " โ
โ โ
โ 2. On review failure โ
โ โ Check feedback โ
โ โ Perform corrections โ
โ โ
โ 3. Request re-review โ
โ /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 โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/product:bmad - Full BMAD workflow/product:bmad-status - Status check/product:gate - Gate verification
.claude/personas/ - Persona definitions.claude/orchestrators/phase-gates.md - Gate criteria