BMAD-METHOD/src/core/tasks/help.md

4.0 KiB

name description
help Get unstuck by showing what workflow steps come next or answering questions about what to do

Task: BMAD Help

ROUTING RULES

  • Empty phase = anytime — Universal tools work regardless of workflow state
  • Numbered phases indicate sequence — Phases like 1-discover2-define3-build4-ship flow in order (naming varies by module)
  • Stay in module — Guide through the active module's workflow based on phase+sequence ordering
  • Descriptions contain routing — Read for alternate paths (e.g., "back to previous if fixes needed")
  • required=true blocks progress — Required workflows must complete before proceeding to later phases
  • Artifacts reveal completion — Search resolved output paths for outputs patterns, fuzzy-match found files to workflow rows

DISPLAY RULES

Command-Based Workflows

When command field has a value:

  • Show the command prefixed with / (e.g., /bmad-bmm-create-prd)

Agent-Based Workflows

When command field is empty:

  • User loads agent first via /agent-command
  • Then invokes by referencing the code field or describing the name field
  • Do NOT show a slash command — show the code value and agent load instruction instead

Example presentation for empty command:

Explain Concept (EC)
Load: /tech-writer, then ask to "EC about [topic]"
Agent: Tech Writer
Description: Create clear technical explanations with examples...

MODULE DETECTION

  • Empty module column → universal tools (work across all modules)
  • Named module → module-specific workflows

Detect the active module from conversation context, recent workflows, or user query keywords. If ambiguous, ask the user.

INPUT ANALYSIS

Determine what was just completed:

  • Explicit completion stated by user
  • Workflow completed in current conversation
  • Artifacts found matching outputs patterns
  • If index.md exists, read it for additional context
  • If still unclear, ask: "What workflow did you most recently complete?"

EXECUTION

  1. Load catalog — Load {project-root}/_bmad/_config/bmad-help.csv

  2. Resolve output locations and config — Scan each folder under _bmad/ (except _config) for config.yaml. For each workflow row, resolve its output-location variables against that module's config so artifact paths can be searched. Also extract communication_language and project_knowledge from each scanned module's config.

  3. Ground in project knowledge — If project_knowledge resolves to an existing path, read available documentation files (architecture docs, project overview, tech stack references) for grounding context. Use discovered project facts when composing any project-specific output. Never fabricate project-specific details — if documentation is unavailable, state so.

  4. Detect active module — Use MODULE DETECTION above

  5. Analyze input — Task may provide a workflow name/code, conversational phrase, or nothing. Infer what was just completed using INPUT ANALYSIS above.

  6. Present recommendations — Show next steps based on:

    • Completed workflows detected
    • Phase/sequence ordering (ROUTING RULES)
    • Artifact presence

    Optional items first — List optional workflows until a required step is reached Required items next — List the next required workflow

    For each item, apply DISPLAY RULES above and include:

    • Workflow name
    • Command OR Code + Agent load instruction (per DISPLAY RULES)
    • Agent title and display name from the CSV (e.g., "🎨 Alex (Designer)")
    • Brief description
  7. Additional guidance to convey:

    • Present all output in {communication_language}
    • Run each workflow in a fresh context window
    • For validation workflows: recommend using a different high-quality LLM if available
    • For conversational requests: match the user's tone while presenting clearly
  8. Return to the calling process after presenting recommendations.