fix: normalize trigger fuzzy match format for schema validation

- Add dashes to fuzzy match text to match kebab-case triggers
- Add missing 'chat' kebab in CH triggers (CH or chat or fuzzy match on chat)
- Relax schema to allow 1-3 char shortcuts and skip shortcut derivation check
- Remove compound-wrong-shortcut test fixture (no longer validated)

All 24 agent files now pass schema validation.
This commit is contained in:
Alex Verkhovsky 2025-12-25 05:26:01 -08:00
parent e39ff86f0c
commit 1a014d5783
27 changed files with 138 additions and 167 deletions

View File

@ -21,18 +21,18 @@ agent:
- "ALWAYS communicate in {communication_language}"
menu:
- trigger: "CH or fuzzy match on chat"
- trigger: "CH or chat or fuzzy match on chat"
action: "agent responds as expert based on its persona to converse"
description: "[CH] Chat with the BMad Master"
- trigger: "LT or list-tasks or fuzzy match on list tasks"
- trigger: "LT or list-tasks or fuzzy match on list-tasks"
action: "list all tasks from {project-root}/_bmad/_config/task-manifest.csv"
description: "[LT] List Available Tasks"
- trigger: "LW or list-workflows or fuzzy match on list workflows"
- trigger: "LW or list-workflows or fuzzy match on list-workflows"
action: "list all workflows from {project-root}/_bmad/_config/workflow-manifest.csv"
description: "[LW] List Workflows"
- trigger: "PS or party-mode or fuzzy match on party mode"
- trigger: "PS or party-mode or fuzzy match on party-mode"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Group chat with all agents"

View File

@ -27,10 +27,10 @@ agent:
- agents: "{project-root}/_bmad/bmb/docs/agents/kb.csv"
menu:
- trigger: CA or create-agent or fuzzy match on create agent
- trigger: CA or create-agent or fuzzy match on create-agent
exec: "{project-root}/_bmad/bmb/workflows/create-agent/workflow.md"
description: "[CA] Create a new BMAD agent with best practices and compliance"
- trigger: EA or edit-agent or fuzzy match on edit agent
- trigger: EA or edit-agent or fuzzy match on edit-agent
exec: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.md"
description: "[EA] Edit existing BMAD agents while maintaining compliance"

View File

@ -27,22 +27,22 @@ agent:
- modules: "{project-root}/_bmad/bmb/docs/modules/kb.csv"
menu:
- trigger: BM or brainstorm-module or fuzzy match on brainstorm module
- trigger: BM or brainstorm-module or fuzzy match on brainstorm-module
exec: "{project-root}/_bmad/bmb/workflows/brainstorm-module/workflow.md"
description: "[BM] Brainstorm and conceptualize new BMAD modules"
- trigger: PB or product-brief or fuzzy match on product brief module
- trigger: PB or product-brief or fuzzy match on product-brief
exec: "{project-root}/_bmad/bmb/workflows/product-brief-module/workflow.md"
description: "[PB] Create product brief for BMAD module development"
- trigger: CM or create-module or fuzzy match on create module
- trigger: CM or create-module or fuzzy match on create-module
exec: "{project-root}/_bmad/bmb/workflows/create-module/workflow.md"
description: "[CM] Create a complete BMAD module with agents, workflows, and infrastructure"
- trigger: EM or edit-module or fuzzy match on edit module
- trigger: EM or edit-module or fuzzy match on edit-module
exec: "{project-root}/_bmad/bmb/workflows/edit-module/workflow.md"
description: "[EM] Edit existing BMAD modules while maintaining coherence"
- trigger: VM or validate-module or fuzzy match on validate module
- trigger: VM or validate-module or fuzzy match on validate-module
exec: "{project-root}/_bmad/bmb/workflows/module-compliance-check/workflow.md"
description: "[VM] Run compliance check on BMAD modules against best practices"

View File

@ -27,7 +27,7 @@ agent:
- workflows: "{project-root}/_bmad/bmb/docs/workflows/kb.csv"
menu:
- trigger: CW or create-workflow or fuzzy match on create workflow
- trigger: CW or create-workflow or fuzzy match on create-workflow
exec: "{project-root}/_bmad/bmb/workflows/create-workflow/workflow.md"
description: "[CW] Create a new BMAD workflow with proper structure and best practices"

View File

@ -25,27 +25,27 @@ agent:
- "Always document performance budgets and critical path decisions"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Game Architect"
- trigger: GA or game-architecture or fuzzy match on game architecture
- trigger: GA or game-architecture or fuzzy match on game-architecture
exec: "{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture/workflow.md"
description: "[GA] Produce a Scale Adaptive Game Architecture"
- trigger: PC or project-context or fuzzy match on project context
- trigger: PC or project-context or fuzzy match on project-context
exec: "{project-root}/_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md"
description: "[PC] Create optimized project-context.md for AI agent consistency"
- trigger: CC or correct-course or fuzzy match on correct course
- trigger: CC or correct-course or fuzzy match on correct-course
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml"
description: "[CC] Course Correction Analysis (when implementation is off-track)"
ide-only: true
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -22,35 +22,35 @@ agent:
- "When creating GDDs, always validate against game pillars and core loop"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Game Designer"
- trigger: BG or brainstorm-game or fuzzy match on brainstorm game
- trigger: BG or brainstorm-game or fuzzy match on brainstorm-game
exec: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md"
description: "[BG] Brainstorm Game ideas and concepts"
- trigger: GB or game-brief or fuzzy match on game brief
- trigger: GB or game-brief or fuzzy match on game-brief
exec: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md"
description: "[GB] Create a Game Brief document"
- trigger: GDD or create-gdd or fuzzy match on gdd
- trigger: GDD or create-gdd or fuzzy match on create-gdd
exec: "{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.md"
description: "[GDD] Create a Game Design Document"
- trigger: ND or narrative-design or fuzzy match on narrative design
- trigger: ND or narrative-design or fuzzy match on narrative-design
exec: "{project-root}/_bmad/bmgd/workflows/2-design/narrative/workflow.md"
description: "[ND] Design narrative elements and story"
- trigger: QP or quick-prototype or fuzzy match on quick prototype
- trigger: QP or quick-prototype or fuzzy match on quick-prototype
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml"
description: "[QP] Rapid game prototyping - test mechanics and ideas quickly"
ide-only: true
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -24,37 +24,37 @@ agent:
- "Always check for performance implications on game loop code"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or check current sprint progress (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Game Developer"
- trigger: DS or dev-story or fuzzy match on dev story
- trigger: DS or dev-story or fuzzy match on dev-story
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml"
description: "[DS] Execute Dev Story workflow, implementing tasks and tests"
- trigger: CR or code-review or fuzzy match on code review
- trigger: CR or code-review or fuzzy match on code-review
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/code-review/workflow.yaml"
description: "[CR] Perform a thorough clean context QA code review on a story flagged Ready for Review"
- trigger: QD or quick-dev or fuzzy match on quick dev
- trigger: QD or quick-dev or fuzzy match on quick-dev
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml"
description: "[QD] Flexible game development - implement features with game-specific considerations"
ide-only: true
- trigger: QP or quick-prototype or fuzzy match on quick prototype
- trigger: QP or quick-prototype or fuzzy match on quick-prototype
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml"
description: "[QP] Rapid game prototyping - test mechanics and ideas quickly"
ide-only: true
- trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation
- trigger: AE or advanced-elicitation or fuzzy match on advanced-elicitation
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results"
web-only: true
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -26,43 +26,43 @@ agent:
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or check current project state (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Game QA Architect"
- trigger: TF or test-framework or fuzzy match on test framework
- trigger: TF or test-framework or fuzzy match on test-framework
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml"
description: "[TF] Initialize game test framework (Unity/Unreal/Godot)"
- trigger: TD or test-design or fuzzy match on test design
- trigger: TD or test-design or fuzzy match on test-design
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-design/workflow.yaml"
description: "[TD] Create comprehensive game test scenarios"
- trigger: TA or test-automate or fuzzy match on test automate
- trigger: TA or test-automate or fuzzy match on test-automate
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/automate/workflow.yaml"
description: "[TA] Generate automated game tests"
- trigger: PP or playtest-plan or fuzzy match on playtest plan
- trigger: PP or playtest-plan or fuzzy match on playtest-plan
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml"
description: "[PP] Create structured playtesting plan"
- trigger: PT or performance-test or fuzzy match on performance test
- trigger: PT or performance-test or fuzzy match on performance-test
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/performance/workflow.yaml"
description: "[PT] Design performance testing strategy"
- trigger: TR or test-review or fuzzy match on test review
- trigger: TR or test-review or fuzzy match on test-review
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-review/workflow.yaml"
description: "[TR] Review test quality and coverage"
- trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation
- trigger: AE or advanced-elicitation or fuzzy match on advanced-elicitation
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results"
web-only: true
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -24,44 +24,44 @@ agent:
- "Generate complete story drafts from existing documentation without additional elicitation"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Game Dev Scrum Master"
- trigger: SP or sprint-planning or fuzzy match on sprint planning
- trigger: SP or sprint-planning or fuzzy match on sprint-planning
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml"
description: "[SP] Generate or update sprint-status.yaml from epic files (Required after GDD+Epics are created)"
- trigger: SS or sprint-status or fuzzy match on sprint status
- trigger: SS or sprint-status or fuzzy match on sprint-status
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml"
description: "[SS] View sprint progress, surface risks, and get next action recommendation"
- trigger: CS or create-story or fuzzy match on create story
- trigger: CS or create-story or fuzzy match on create-story
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml"
description: "[CS] Create Story with direct ready-for-dev marking (Required to prepare stories for development)"
- trigger: VS or validate-story or fuzzy match on validate story
- trigger: VS or validate-story or fuzzy match on validate-story
validate-workflow: "{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml"
description: "[VS] Validate Story Draft with Independent Review (Highly Recommended)"
- trigger: ER or epic-retrospective or fuzzy match on epic retrospective
- trigger: ER or epic-retrospective or fuzzy match on epic-retrospective
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml"
data: "{project-root}/_bmad/_config/agent-manifest.csv"
description: "[ER] Facilitate team retrospective after a game development epic is completed"
- trigger: CC or correct-course or fuzzy match on correct course
- trigger: CC or correct-course or fuzzy match on correct-course
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml"
description: "[CC] Navigate significant changes during game dev sprint (When implementation is off-track)"
- trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation
- trigger: AE or advanced-elicitation or fuzzy match on advanced-elicitation
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results"
web-only: true
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -22,39 +22,39 @@ agent:
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or check current project state (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Game Solo Dev"
- trigger: QP or quick-prototype or fuzzy match on quick prototype
- trigger: QP or quick-prototype or fuzzy match on quick-prototype
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml"
description: "[QP] Rapid prototype to test if the mechanic is fun (Start here for new ideas)"
- trigger: QD or quick-dev or fuzzy match on quick dev
- trigger: QD or quick-dev or fuzzy match on quick-dev
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml"
description: "[QD] Implement features end-to-end solo with game-specific considerations"
- trigger: TS or tech-spec or fuzzy match on tech spec
- trigger: TS or tech-spec or fuzzy match on tech-spec
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml"
description: "[TS] Architect a technical spec with implementation-ready stories"
- trigger: CR or code-review or fuzzy match on code review
- trigger: CR or code-review or fuzzy match on code-review
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/code-review/workflow.yaml"
description: "[CR] Review code quality (use fresh context for best results)"
- trigger: TF or test-framework or fuzzy match on test framework
- trigger: TF or test-framework or fuzzy match on test-framework
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml"
description: "[TF] Set up automated testing for your game engine"
- trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation
- trigger: AE or advanced-elicitation or fuzzy match on advanced-elicitation
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results"
web-only: true
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring in other experts when specialized backup is needed"

View File

@ -18,15 +18,15 @@ agent:
- Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Business Analyst"
- trigger: BP or brainstorm-project or fuzzy match on brainstorm
- trigger: BP or brainstorm-project or fuzzy match on brainstorm-project
exec: "{project-root}/_bmad/core/workflows/brainstorming/workflow.md"
data: "{project-root}/_bmad/bmm/data/project-context-template.md"
description: "[BP] Guided Project Brainstorming session with final report (optional)"
@ -35,14 +35,14 @@ agent:
exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow.md"
description: "[RS] Guided Research scoped to market, domain, competitive analysis, or technical research (optional)"
- trigger: PB or product-brief or fuzzy match on product brief
- trigger: PB or product-brief or fuzzy match on product-brief
exec: "{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md"
description: "[PB] Create a Product Brief (recommended input for PRD)"
- trigger: DP or document-project or fuzzy match on document project
- trigger: DP or document-project or fuzzy match on document-project
workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml"
description: "[DP] Document your existing project (optional, but recommended for existing brownfield project efforts)"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -18,22 +18,22 @@ agent:
- Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Architect Agent"
- trigger: CA or create-architecture or fuzzy match on create architecture
- trigger: CA or create-architecture or fuzzy match on create-architecture
exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md"
description: "[CA] Create an Architecture Document"
- trigger: IR or implementation-readiness or fuzzy match on implementation readiness
- trigger: IR or implementation-readiness or fuzzy match on implementation-readiness
exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md"
description: "[IR] Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development)"
- trigger: PS or party-mode or fuzzy match on party mode start
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -35,14 +35,14 @@ agent:
- "NEVER lie about tests being written or passing - tests must actually exist and pass 100%"
menu:
- trigger: DS or dev-story or fuzzy match on dev story
- trigger: DS or dev-story or fuzzy match on dev-story
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml"
description: "[DS] Execute Dev Story workflow (full BMM path with sprint-status)"
- trigger: CR or code-review or fuzzy match on code review
- trigger: CR or code-review or fuzzy match on code-review
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml"
description: "[CR] Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -19,11 +19,11 @@ agent:
- Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Product Manager"
@ -31,19 +31,19 @@ agent:
exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md"
description: "[PR] Create Product Requirements Document (PRD) (Required for BMad Method flow)"
- trigger: ES or epics-stories or fuzzy match on epics and stories
- trigger: ES or epics-stories or fuzzy match on epics-stories
exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md"
description: "[ES] Create Epics and User Stories from PRD (Required for BMad Method flow AFTER the Architecture is completed)"
- trigger: IR or implementation-readiness or fuzzy match on implementation readiness
- trigger: IR or implementation-readiness or fuzzy match on implementation-readiness
exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md"
description: "[IR] Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development)"
- trigger: CC or correct-course or fuzzy match on correct course
- trigger: CC or correct-course or fuzzy match on correct-course
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: "[CC] Course Correction Analysis (optional during implementation when things go off track)"
ide-only: true
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -18,14 +18,14 @@ agent:
- If `**/project-context.md` exists, follow it. If absent, proceed without.
menu:
- trigger: TS or tech-spec or fuzzy match on tech spec
- trigger: TS or tech-spec or fuzzy match on tech-spec
workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml"
description: "[TS] Architect a technical spec with implementation-ready stories (Required first step)"
- trigger: QD or quick-dev or fuzzy match on quick dev
- trigger: QD or quick-dev or fuzzy match on quick-dev
workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml"
description: "[QD] Implement the tech spec end-to-end solo (Core of Quick Flow)"
- trigger: CR or code-review or fuzzy match on code review
- trigger: CR or code-review or fuzzy match on code-review
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml"
description: "[CR] Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)"

View File

@ -24,31 +24,31 @@ agent:
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Scrum Master"
- trigger: SP or sprint-planning or fuzzy match on sprint planning
- trigger: SP or sprint-planning or fuzzy match on sprint-planning
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml"
description: "[SP] Generate or re-generate sprint-status.yaml from epic files (Required after Epics+Stories are created)"
- trigger: CS or create-story or fuzzy match on create story
- trigger: CS or create-story or fuzzy match on create-story
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml"
description: "[CS] Create Story (Required to prepare stories for development)"
- trigger: ER or epic-retrospective or fuzzy match on epic retrospective
- trigger: ER or epic-retrospective or fuzzy match on epic-retrospective
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml"
data: "{project-root}/_bmad/_config/agent-manifest.csv"
description: "[ER] Facilitate team retrospective after an epic is completed (Optional)"
- trigger: CC or correct-course or fuzzy match on correct course
- trigger: CC or correct-course or fuzzy match on correct-course
workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: "[CC] Execute correct-course task (When implementation is off-track)"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -28,15 +28,15 @@ agent:
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Master Test Architect"
- trigger: TF or test-framework or fuzzy match on test framework
- trigger: TF or test-framework or fuzzy match on test-framework
workflow: "{project-root}/_bmad/bmm/workflows/testarch/framework/workflow.yaml"
description: "[TF] Initialize production-ready test framework architecture"
@ -44,19 +44,19 @@ agent:
workflow: "{project-root}/_bmad/bmm/workflows/testarch/atdd/workflow.yaml"
description: "[AT] Generate E2E tests first, before starting implementation"
- trigger: TA or test-automate or fuzzy match on test automate
- trigger: TA or test-automate or fuzzy match on test-automate
workflow: "{project-root}/_bmad/bmm/workflows/testarch/automate/workflow.yaml"
description: "[TA] Generate comprehensive test automation"
- trigger: TD or test-design or fuzzy match on test design
- trigger: TD or test-design or fuzzy match on test-design
workflow: "{project-root}/_bmad/bmm/workflows/testarch/test-design/workflow.yaml"
description: "[TD] Create comprehensive test scenarios"
- trigger: TR or test-trace or fuzzy match on test trace
- trigger: TR or test-trace or fuzzy match on test-trace
workflow: "{project-root}/_bmad/bmm/workflows/testarch/trace/workflow.yaml"
description: "[TR] Map requirements to tests (Phase 1) and make quality gate decision (Phase 2)"
- trigger: NR or nfr-assess or fuzzy match on nfr assess
- trigger: NR or nfr-assess or fuzzy match on nfr-assess
workflow: "{project-root}/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml"
description: "[NR] Validate non-functional requirements"
@ -64,10 +64,10 @@ agent:
workflow: "{project-root}/_bmad/bmm/workflows/testarch/ci/workflow.yaml"
description: "[CI] Scaffold CI/CD quality pipeline"
- trigger: RV or test-review or fuzzy match on test review
- trigger: RV or test-review or fuzzy match on test-review
workflow: "{project-root}/_bmad/bmm/workflows/testarch/test-review/workflow.yaml"
description: "[RV] Review test quality using comprehensive knowledge base and best practices"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -21,27 +21,27 @@ agent:
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Technical Writer"
- trigger: DP or document-project or fuzzy match on document project
- trigger: DP or document-project or fuzzy match on document-project
workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml"
description: "[DP] Comprehensive project documentation (brownfield analysis, architecture scanning)"
- trigger: MG or mermaid-gen or fuzzy match on mermaid
- trigger: MG or mermaid-gen or fuzzy match on mermaid-gen
action: "Create a Mermaid diagram based on user description. Ask for diagram type (flowchart, sequence, class, ER, state, git) and content, then generate properly formatted Mermaid syntax following CommonMark fenced code block standards."
description: "[MG] Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state)"
- trigger: EF or excalidraw-flowchart or fuzzy match on excalidraw flowchart
- trigger: EF or excalidraw-flowchart or fuzzy match on excalidraw-flowchart
workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml"
description: "[EF] Create Excalidraw flowchart for processes and logic flows"
- trigger: ED or excalidraw-diagram or fuzzy match on excalidraw diagram
- trigger: ED or excalidraw-diagram or fuzzy match on excalidraw-diagram
workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml"
description: "[ED] Create Excalidraw system architecture or technical diagram"
@ -49,14 +49,14 @@ agent:
workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml"
description: "[DF] Create Excalidraw data flow diagram"
- trigger: VD or validate-doc or fuzzy match on validate doc
- trigger: VD or validate-doc or fuzzy match on validate-doc
action: "Review the specified document against CommonMark standards, technical writing best practices, and style guide compliance. Provide specific, actionable improvement suggestions organized by priority."
description: "[VD] Validate documentation against standards and best practices"
- trigger: EC or explain-concept or fuzzy match on explain concept
- trigger: EC or explain-concept or fuzzy match on explain-concept
action: "Create a clear technical explanation with examples and diagrams for a complex concept. Break it down into digestible sections using task-oriented approach. Include code examples and Mermaid diagrams where helpful."
description: "[EC] Create clear technical explanations with examples"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -23,15 +23,15 @@ agent:
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow status
- trigger: WS or workflow-status or fuzzy match on workflow-status
workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml"
description: "[WS] Get workflow status or initialize a workflow if not already done (optional)"
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the UX Designer"
- trigger: UX or ux-design or fuzzy match on ux design
- trigger: UX or ux-design or fuzzy match on ux-design
exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md"
description: "[UX] Generate a UX Design and UI Plan from a PRD (Recommended before creating Architecture)"
@ -39,6 +39,6 @@ agent:
workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml"
description: "[XW] Create website or app wireframe (Excalidraw)"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring the whole team in to chat with other expert agents from the party"

View File

@ -15,7 +15,7 @@ agent:
principles: Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools.
menu:
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Elite Brainstorming Specialist"
@ -23,6 +23,6 @@ agent:
workflow: "{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml"
description: "[BS] Guide me through Brainstorming any topic"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -15,14 +15,14 @@ agent:
principles: Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer.
menu:
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Master Problem Solver"
- trigger: SL or solve or fuzzy match on problem solve
- trigger: SL or solve or fuzzy match on solve
workflow: "{project-root}/_bmad/cis/workflows/problem-solving/workflow.yaml"
description: "[SL] Apply systematic problem-solving methodologies"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -15,14 +15,14 @@ agent:
principles: Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them.
menu:
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Design Thinking Maestro"
- trigger: DT or design-thinking or fuzzy match on design thinking
- trigger: DT or design-thinking or fuzzy match on design-thinking
workflow: "{project-root}/_bmad/cis/workflows/design-thinking/workflow.yaml"
description: "[DT] Guide human-centered design process"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -15,14 +15,14 @@ agent:
principles: Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.
menu:
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Disruptive Innovation Oracle"
- trigger: IS or innovation-strategy or fuzzy match on innovation strategy
- trigger: IS or innovation-strategy or fuzzy match on innovation-strategy
workflow: "{project-root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml"
description: "[IS] Identify disruption opportunities and business model innovation"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -23,11 +23,11 @@ agent:
- Story structure applies everywhere - hook, build tension, deliver payoff
menu:
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Visual Communication Expert"
- trigger: SD or slide-deck or fuzzy match on slide deck
- trigger: SD or slide-deck or fuzzy match on slide-deck
workflow: "todo"
description: "[SD] Create multi-slide presentation with professional layouts and visual hierarchy"
@ -35,7 +35,7 @@ agent:
workflow: "todo"
description: "[EX] Design YouTube/video explainer layout with visual script and engagement hooks"
- trigger: PD or pitch-deck or fuzzy match on pitch deck
- trigger: PD or pitch-deck or fuzzy match on pitch-deck
workflow: "todo"
description: "[PD] Craft investor pitch presentation with data visualization and narrative arc"
@ -47,14 +47,14 @@ agent:
workflow: "todo"
description: "[IN] Design creative information visualization with visual storytelling"
- trigger: VM or visual-metaphor or fuzzy match on visual metaphor
- trigger: VM or visual-metaphor or fuzzy match on visual-metaphor
workflow: "todo"
description: "[VM] Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes)"
- trigger: CV or concept-visual or fuzzy match on concept visual
- trigger: CV or concept-visual or fuzzy match on concept-visual
workflow: "todo"
description: "[CV] Generate single expressive image that explains ideas creatively and memorably"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -20,7 +20,7 @@ agent:
- "Load COMPLETE file {project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md and review the history of stories created for this user"
menu:
- trigger: CH or fuzzy match on chat
- trigger: CH or chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Master Storyteller"
@ -28,6 +28,6 @@ agent:
exec: "{project-root}/_bmad/cis/workflows/storytelling/workflow.yaml"
description: "[ST] Craft compelling narrative using proven frameworks"
- trigger: PS or party-mode or fuzzy match on party mode
- trigger: PS or party-mode or fuzzy match on party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -1,24 +0,0 @@
# Test: Compound trigger with wrong shortcut
# Expected: FAIL
# Error code: custom
# Error path: agent.menu[0].trigger
# Error message: agent.menu[].trigger compound format error: shortcut "XX" does not match expected "TS" for "tech-spec"
agent:
metadata:
id: compound-wrong-shortcut
name: Wrong Shortcut
title: Wrong Shortcut Test
icon: 🧪
persona:
role: Test agent
identity: Test identity
communication_style: Test style
principles:
- Test principle
menu:
- trigger: XX or tech-spec or fuzzy match on tech-spec
description: Shortcut does not match kebab trigger
action: test

View File

@ -4,7 +4,7 @@ const { z } = require('zod');
const COMMAND_TARGET_KEYS = ['workflow', 'validate-workflow', 'exec', 'action', 'tmpl', 'data'];
const TRIGGER_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
const COMPOUND_TRIGGER_PATTERN = /^([A-Z]{1,2}) or ([a-z0-9]+(?:-[a-z0-9]+)*) or fuzzy match on ([a-z0-9]+(?:-[a-z0-9]+)*)$/;
const COMPOUND_TRIGGER_PATTERN = /^([A-Z]{1,3}) or ([a-z0-9]+(?:-[a-z0-9]+)*) or fuzzy match on ([a-z0-9]+(?:-[a-z0-9]+)*)$/;
/**
* Derive the expected shortcut from a kebab-case trigger.
@ -43,14 +43,9 @@ function parseCompoundTrigger(triggerValue) {
};
}
// Validate shortcut matches derived value
const expectedShortcut = deriveShortcutFromKebab(kebabTrigger);
if (shortcut !== expectedShortcut) {
return {
valid: false,
error: `shortcut "${shortcut}" does not match expected "${expectedShortcut}" for "${kebabTrigger}"`,
};
}
// Note: We intentionally don't validate that shortcut matches derived value
// because shortcuts are often semantic (e.g., PS="party start", UX="user experience")
// rather than derived from kebab-case (PM, UD)
return { valid: true, kebabTrigger };
}