LogoSkills

bmad:review

Execute review with a specific persona

항ëŠĐë‚īėšĐ
Invoke/bmad:review
Categoryworkflow
Complexitymedium
MCP Serverszenhub

/bmad:review#

Execute individual review with a specific persona.


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
/bmad:review --persona architect  " current PR review " 

 # Analyst review
/bmad:review --persona analyst  " requirements review " 

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

Re-review Request#

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

Multi-persona simultaneous review#

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

Parameters#

ParameterRequiredDescriptionExample
--persona ✅ Persona to review with architect, 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                                       ║
║     - 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:                                                  ║
║  /bmad:review --persona architect --retry                      ║
║                                                                ║
╚════════════════════════════════════════════════════════════════╝

Re-review Flow#

┌─────────────────────────────────────────────────────────────────┐
│  Re-review Flow                                                    │
├─────────────────────────────────────────────────────────────────â”Ī
│                                                                 │
│  1. Initial review                                                   │
│     /bmad:review --persona architect  " review target "                 │
│                                                                 │
│  2. On review failure                                                │
│     → Check feedback                                              │
│     → Perform corrections                                           │
│                                                                 │
│  3. Request re-review                                                 │
│     /bmad: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                                     │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

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