home / skills / bacoco / bmad-skills / main-workflow-router

main-workflow-router skill

/.claude/skills/main-workflow-router

This skill automatically routes product work between BMAD and OpenSpec, tracks status, and guides you through the appropriate workflow phases.

npx playbooks add skill bacoco/bmad-skills --skill main-workflow-router

Review the files below or copy the command above to add this skill to your agents.

Files (7)
SKILL.md
7.4 KB
---
name: main-workflow-router
description: Routes work to OpenSpec (L0-1) or BMAD (L2-4). Tracks status and guides through phases.
allowed-tools: ["Read", "Write", "Grep", "Bash"]
metadata:
  auto-invoke: true
  triggers:
    patterns:
      - "start project"
      - "what's next"
      - "where am I"
      - "status"
      - "what should I do"
    keywords:
      - status
      - workflow
      - next
      - start
      - guide
      - phase
      - initialize
      - orchestrate
  capabilities:
    - workflow-routing
    - status-tracking
    - phase-coordination
    - skill-activation
  prerequisites: []
  outputs:
    - workflow-status
    - next-actions
    - phase-guidance
---

# End-to-End Orchestration Skill

## When to Invoke

**ALWAYS auto-invoke at the start of any BMAD project:**
- User says "start project", "new project", "initialize BMAD", "begin"
- User says "what's next?", "where am I?", "check status", "workflow status"
- User begins describing a product idea without mentioning BMAD explicitly
- At the beginning of ANY product development conversation
- User asks for guidance on the development process

**Special auto-behaviors:**
- If no workflow-status.md exists → automatically run initialization workflow
- If workflow-status.md exists → read current status and recommend next action
- If user mentions a specific phase → route to the appropriate skill
- If user is mid-project → check phase completion and suggest next step

**Routing intelligence based on user intent:**

**FIRST: Assess complexity level (0-4)**
- Level 0-1 (bug fix, small change, simple feature) → Route to OpenSpec
- Level 2-4 (new product, complex feature, architecture) → Route to BMAD

**For OpenSpec work (Level 0-1):**
- Mentions "bug", "fix", "small change", "quick" → openspec-change-proposal
- Has proposal, says "implement", "apply" → openspec-change-implementation
- Change complete, says "archive", "close" → openspec-change-closure

**For BMAD work (Level 2-4):**
- Mentions "idea", "brainstorm", "explore" → bmad-discovery-research
- Mentions "PRD", "requirements", "plan" → bmad-product-planning
- Mentions "UX", "UI", "design" → bmad-ux-design
- Mentions "architecture", "tech stack", "build" → bmad-architecture-design
- Mentions "test strategy", "QA", "ATDD" → bmad-test-strategy
- Mentions "stories", "breakdown", "backlog" → bmad-story-planning
- Mentions "implement story", "code", "develop" → bmad-development-execution

**Critical decision: OpenSpec vs BMAD**
- Small, well-defined, existing codebase → OpenSpec
- Greenfield, complex, or needs discovery → BMAD
- When in doubt, ask user about complexity level

**Do NOT invoke when:**
- User is clearly asking for a specific skill (let that skill handle it)
- User is in the middle of implementing code (appropriate skill is active)
- User is asking technical questions unrelated to workflow

## Auto-Activation Behavior

This skill applies specialized routing heuristics whenever it auto-invokes:

### 1. Conversation Start Detection
When a conversation begins and the user mentions:
- Product development topics
- Project ideas or features
- Building or creating something
- BMAD or OpenSpec methodology

**Auto-action:** Initialize workflow files if none exist and recommend the right path.

### 2. Status Check Detection
When user asks:
- "Where am I?"
- "What's next?"
- "What should I do now?"
- "Check workflow status"

**Auto-action:** Read workflow-status.md, summarize phase progress, and suggest next skill.

### 3. Phase Transition Detection
When a downstream skill completes its phase:
- Analyst delivers discovery brief → confirm Planning readiness
- PM delivers PRD/epics → prepare Solutioning
- Architecture delivers decision doc → move to Implementation

**Auto-action:** Update workflow status and queue the appropriate next capability.

### 4. Routing Intelligence
Based on user intent, automatically route to:
- Mentions "idea", "brainstorm" → bmad-discovery-research
- Mentions "PRD", "requirements" → bmad-product-planning
- Mentions "UX", "UI" → bmad-ux-design
- Mentions "architecture", "tech stack" → bmad-architecture-design
- Mentions "test strategy", "QA" → bmad-test-strategy
- Mentions "stories", "backlog" → bmad-story-planning
- Mentions "implement", "code" → bmad-development-execution
- Mentions "small change", "bug" → openspec-change-proposal

### 5. Safety Checks
Before routing, verify:
- [ ] Required artifacts from previous phase exist
- [ ] Quality gates in CHECKLIST.md are satisfied
- [ ] No unresolved blockers in workflow-status.md

If checks fail, halt routing and request the missing prerequisites.

## Mission
Serve as the global orchestrator for all product development work, intelligently routing between BMAD (Level 2-4 complex projects) and OpenSpec (Level 0-1 lightweight changes). Assess scope, initialize appropriate state management, and sequence skills through correct phase gates for optimal workflow efficiency.

## Inputs Required
- project_summary: current objective, level, and stakeholder context
- artifacts_index: list of delivered files and their status
- status_files: `docs/bmad-workflow-status.md`, `docs/sprint-status.yaml`, or equivalents if they exist

## Outputs
- **workflow-status.md** - Project status tracking document (generated from `assets/workflow-status-template.md.template`)
- Updated workflow and sprint status records via `scripts/workflow_status.py` and `scripts/sprint_status.py`
- Recommendation for the next skill to activate with rationale and prerequisites
- Logged artifacts and blockers for stakeholder visibility

**Template location:** `.claude/skills/main-workflow-router/assets/workflow-status-template.md.template`

## Process

1. **Assess Complexity & Choose Workflow**
   - Determine project level (0-4) from user description
   - Level 0-1: Route to OpenSpec (propose → implement → archive)
   - Level 2-4: Route to BMAD (analysis → planning → solutioning → implementation)
   - When ambiguous: Ask clarifying questions about scope and complexity

2. **Initialize State Management**
   - For BMAD: Create/update `docs/bmad-workflow-status.md` and `docs/sprint-status.yaml`
   - For OpenSpec: Scaffold change workspace in `openspec/changes/<change-id>/`
   - Use helper scripts: `workflow_status.py`, `sprint_status.py`, `scaffold_change.py`

3. **Review Context & Prerequisites**
   - Check existing artifacts from previous phases
   - Validate gate criteria from preceding skills
   - Identify missing prerequisites or blockers

4. **Route to Next Skill**
   - For OpenSpec: openspec-change-proposal → openspec-change-implementation → openspec-change-closure
   - For BMAD: Route through phases (analyst → pm → ux/architecture/tea → stories → dev)
   - Communicate required inputs and outstanding risks

5. **Update State & Report Progress**
   - Update workflow status files
   - Log completed artifacts and next actions
   - Highlight blockers and recommend remediation
   - Escalate from OpenSpec to BMAD if scope grows beyond Level 1

## Quality Gates
All items in `CHECKLIST.md` must be satisfied to progress between phases. Never advance without required artifacts.

## Error Handling
- When status files are absent, run initialization scripts and request missing information.
- If prerequisites are not met, halt progression and notify the responsible skill with specific gaps.
- Downgrade to lightweight workflows (e.g., OpenSpec) when project level is 0-1 and BMAD overhead is unnecessary.

Overview

This skill routes work between OpenSpec (L0-1) and BMAD (L2-4), tracks project status, and guides the team through defined phases. It auto-invokes at project start or on status queries, initializes workflow state if needed, and recommends the next skill with concrete prerequisites and rationale.

How this skill works

The router assesses intent and complexity (levels 0–4) from the user's description or project summary, then selects OpenSpec for small changes or BMAD for discovery and complex work. It inspects status files (e.g., docs/bmad-workflow-status.md, docs/sprint-status.yaml, workflow-status.md) and artifact indexes, validates quality gates in CHECKLIST.md, updates workflow state, and returns the next action and required inputs.

When to use it

  • At the start of any BMAD project or when the user says “start project”, “new project”, or “initialize”
  • When the user asks workflow questions like “what's next?”, “where am I?”, or “check status”
  • When a user describes a product idea or feature and you need routing between lightweight change vs full product workflow
  • When a downstream skill finishes a phase and you need to transition to the next phase
  • When workflow-status.md or equivalent files are missing and initialization is required

Best practices

  • Always verify required artifacts and quality gates in CHECKLIST.md before advancing phases
  • Ask clarifying questions when complexity is ambiguous (default to asking rather than assuming)
  • Auto-initiate workflow files only when no status file exists; otherwise read and recommend next steps
  • Halt routing and report missing prerequisites or blockers with actionable remediation
  • Escalate to BMAD when scope grows beyond Level 1; downgrade to OpenSpec for simple fixes

Example use cases

  • User types “start project” — skill initializes workflow files and recommends discovery or openspec based on initial summary
  • User asks “what should I do next?” — skill reads workflow-status.md, summarizes progress, and routes to the appropriate skill
  • Developer reports a bug labeled “small change” — skill routes to openspec-change-proposal and scaffolds a change workspace
  • PM delivers a PRD — skill confirms prerequisites and routes to solutioning or architecture as appropriate
  • A downstream skill completes discovery — skill updates state and queues planning and UX phases

FAQ

How does the router decide between OpenSpec and BMAD?

It assesses project complexity (0–4) from the description: Level 0–1 → OpenSpec, Level 2–4 → BMAD. If unclear, it asks clarifying questions.

What happens if required status files are missing?

The skill auto-runs initialization workflows to create status files and prompts the user for minimal inputs to populate them.