Compare commits

...

7 Commits

Author SHA1 Message Date
Brian Madison c15ad174ed chore: bump version to 6.0.0-alpha.21
Major improvements:
- All agents now use consistent 2-letter menu codes (compound triggers)
- Phase 1-3 workflows updated to use planning_artifacts folder
- Windows installer fixed with inquirer multiselection resolution
- Chat and party mode auto-injected into all agents
- All agents pass comprehensive validation checks
- Restored agent files from Docusaurus merge
2025-12-26 20:55:10 +08:00
Brian Madison 24cedea690 phase 3 input disco and output updated 2025-12-26 20:44:45 +08:00
Brian Madison bdb6bde9b5 disco and output fix for ux design 2025-12-26 20:18:31 +08:00
Brian Madison cfdffe3f7a prd and brief workflows disco and output fixed 2025-12-26 20:05:02 +08:00
Brian Madison 7b5b7afdc0 update package.json to resolve windows installer issue with inquirer version 2025-12-26 18:05:59 +08:00
Brian Madison 59a0eec2e2 all agents passing new validation checks 2025-12-26 17:34:20 +08:00
Brian Madison 1f16bb7413 agent renormalized, and all now have chat and party mode auto injectioned 2025-12-26 12:00:37 +08:00
112 changed files with 606 additions and 1774 deletions

View File

@ -1,5 +1,99 @@
# Changelog
## [6.0.0-alpha.21]
**Release: December 27, 2025**
### 🌟 Key Highlights
1. **Consistent Menu System**: All agents now use standardized 2-letter menu codes (e.g., "rd" for research, "ca" for create-architecture)
2. **Planning Artifacts Architecture**: Phase 1-3 workflows now properly segregate planning artifacts from documentation
3. **Windows Installer Fixed Again**: Updated inquirer to resolve multiselection tool issues
4. **Auto-Injected Features**: Chat and party mode automatically injected into all agents
5. **Validation System**: All agents now pass comprehensive new validation checks
### 🎯 Consistent Menu System (Major Feature)
**Standardized 2-Letter Codes:**
- **Compound Menu Triggers**: All agents now use consistent 2-letter compound trigger format (e.g., `bmm-rd`, `bmm-ca`)
- **Improved UX**: Shorter, more memorable command shortcuts across all modules
- **Module Prefixing**: Menu items properly scoped by module prefix (bmm-, bmgd-, cis-, bmb-)
- **Universal Pattern**: All 22 agents updated to follow the same menu structure
**Agent Updates:**
- **BMM Module**: 9 agents with standardized menus (pm, analyst, architect, dev, ux-designer, tech-writer, sm, tea, quick-flow-solo-dev)
- **BMGD Module**: 6 agents with standardized menus (game-architect, game-designer, game-dev, game-qa, game-scrum-master, game-solo-dev)
- **CIS Module**: 6 agents with standardized menus (innovation-strategist, design-thinking-coach, creative-problem-solver, brainstorming-coach, presentation-master, storyteller)
- **BMB Module**: 3 agents with standardized menus (bmad-builder, agent-builder, module-builder, workflow-builder)
- **Core Module**: BMAD Master agent updated with consistent menu patterns
### 📁 Planning Artifacts Architecture
**Content Segregation Implementation:**
- **Phase 1-3 Workflows**: All planning workflows now use `planning_artifacts` folder (default changed from `docs`)
- **Proper Input Discovery**: Workflows follow consistent input discovery patterns from planning artifacts
- **Output Management**: Planning artifacts properly separated from long-term documentation
- **Affected Workflows**:
- Product Brief: Updated discovery and output to planning artifacts
- PRD: Fixed discovery and output to planning artifacts
- UX Design: Updated all steps for proper artifact handling
- Architecture: Updated discovery and output flow
- Game Architecture: Updated for planning artifacts
- Story Creation: Updated workflow output paths
**File Organization:**
- **Planning Artifacts**: Ephemeral planning documents (prd.md, product-brief.md, ux-design.md, architecture.md)
- **Documentation**: Long-term project documentation (separate from planning)
- **Module Configuration**: BMM and BMGD modules updated with proper default paths
### 🪟 Windows Installer Fixes
**Inquirer Multiselection Fix:**
- **Updated Inquirer Version**: Resolved tool multiselection issues that were causing Windows installer failures
- **Better Compatibility**: Improved handling of checkbox and multi-select prompts on Windows(?)
### 🤖 Agent System Improvements
**Auto-Injected Features:**
- **Chat Mode**: Automatically injected into all agents during compilation
- **Party Mode**: Automatically injected into all agents during compilation
- **Reduced Manual Configuration**: No need to manually add these features to agent definitions
- **Consistent Behavior**: All agents now have uniform access to chat and party mode capabilities
**Agent Normalization:**
- **All Agents Validated**: All 22 agents pass comprehensive validation checks
- **Schema Enforcement**: Proper compound trigger validation implemented
- **Metadata Cleanup**: Removed obsolete and inconsistent metadata patterns
- **Test Fixtures Updated**: Validation test fixtures aligned with new requirements
### 🔧 Bug Fixes & Cleanup
**Docusaurus Merge Recovery:**
- **Restored Agent Files**: Fixed agent files accidentally modified in Docusaurus merge (PR #1191)
- **Reference Cleanup**: Removed obsolete agent reference examples (journal-keeper, security-engineer, trend-analyst)
- **Test Fixture Updates**: Aligned test fixtures with current validation requirements
**Code Quality:**
- **Schema Improvements**: Enhanced agent schema validation with better error messages
- **Removed Redundancy**: Cleaned up duplicate and obsolete agent definitions
- **Installer Cleanup**: Removed unused configuration code from BMM installer
**Planning Artifacts Path:**
- Default: `planning_artifacts/` (configurable in module.yaml)
- Previous: `docs/`
- Benefit: Clear separation between planning work and permanent documentation
---
## [6.0.0-alpha.20]
**Release: December 23, 2025**

116
package-lock.json generated
View File

@ -19,7 +19,7 @@
"fs-extra": "^11.3.0",
"glob": "^11.0.3",
"ignore": "^7.0.5",
"inquirer": "^8.2.6",
"inquirer": "^9.3.8",
"js-yaml": "^4.1.0",
"ora": "^5.4.1",
"semver": "^7.6.3",
@ -4977,13 +4977,13 @@
}
},
"node_modules/@inquirer/external-editor": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz",
"integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==",
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz",
"integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==",
"license": "MIT",
"dependencies": {
"chardet": "^2.1.0",
"iconv-lite": "^0.6.3"
"chardet": "^2.1.1",
"iconv-lite": "^0.7.0"
},
"engines": {
"node": ">=18"
@ -4997,6 +4997,15 @@
}
}
},
"node_modules/@inquirer/figures": {
"version": "1.0.15",
"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz",
"integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@isaacs/balanced-match": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
@ -9070,9 +9079,9 @@
}
},
"node_modules/chardet": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
"integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz",
"integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==",
"license": "MIT"
},
"node_modules/cheerio": {
@ -9355,12 +9364,12 @@
}
},
"node_modules/cli-width": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
"integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"license": "ISC",
"engines": {
"node": ">= 10"
"node": ">= 12"
}
},
"node_modules/cliui": {
@ -12172,6 +12181,7 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
"integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
"license": "MIT",
"dependencies": {
"escape-string-regexp": "^1.0.5"
@ -12187,6 +12197,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.8.0"
@ -13634,15 +13645,19 @@
}
},
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz",
"integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==",
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/icss-utils": {
@ -13816,29 +13831,26 @@
"license": "MIT"
},
"node_modules/inquirer": {
"version": "8.2.7",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz",
"integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==",
"version": "9.3.8",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.3.8.tgz",
"integrity": "sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w==",
"license": "MIT",
"dependencies": {
"@inquirer/external-editor": "^1.0.0",
"ansi-escapes": "^4.2.1",
"chalk": "^4.1.1",
"cli-cursor": "^3.1.0",
"cli-width": "^3.0.0",
"figures": "^3.0.0",
"lodash": "^4.17.21",
"mute-stream": "0.0.8",
"@inquirer/external-editor": "^1.0.2",
"@inquirer/figures": "^1.0.3",
"ansi-escapes": "^4.3.2",
"cli-width": "^4.1.0",
"mute-stream": "1.0.0",
"ora": "^5.4.1",
"run-async": "^2.4.0",
"rxjs": "^7.5.5",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0",
"through": "^2.3.6",
"wrap-ansi": "^6.0.1"
"run-async": "^3.0.0",
"rxjs": "^7.8.1",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1",
"wrap-ansi": "^6.2.0",
"yoctocolors-cjs": "^2.1.2"
},
"engines": {
"node": ">=12.0.0"
"node": ">=18"
}
},
"node_modules/inquirer/node_modules/wrap-ansi": {
@ -15666,6 +15678,7 @@
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true,
"license": "MIT"
},
"node_modules/lodash.debounce": {
@ -17596,10 +17609,13 @@
}
},
"node_modules/mute-stream": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
"license": "ISC"
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
"integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/nano-spawn": {
"version": "1.0.2",
@ -21446,9 +21462,9 @@
}
},
"node_modules/run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
"integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
"license": "MIT",
"engines": {
"node": ">=0.12.0"
@ -22913,12 +22929,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
"license": "MIT"
},
"node_modules/thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@ -24726,6 +24736,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/yoctocolors-cjs": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
"integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/zip-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",

View File

@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "bmad-method",
"version": "6.0.0-alpha.20",
"version": "6.0.0-alpha.21",
"description": "Breakthrough Method of Agile AI-driven Development",
"keywords": [
"agile",
@ -75,7 +75,7 @@
"fs-extra": "^11.3.0",
"glob": "^11.0.3",
"ignore": "^7.0.5",
"inquirer": "^8.2.6",
"inquirer": "^9.3.8",
"js-yaml": "^4.1.0",
"ora": "^5.4.1",
"semver": "^7.6.3",

View File

@ -4,7 +4,7 @@ agent:
name: "Inkwell Von Comitizen"
title: "Commit Message Artisan"
icon: "📜"
type: simple
module: stand-alone
persona:
role: |

View File

@ -4,7 +4,7 @@ agent:
name: Vexor
title: Toolsmith + Guardian of the BMAD Forge
icon: ⚒️
type: expert
module: stand-alone
hasSidecar: true
persona:
role: |

View File

@ -21,18 +21,10 @@ agent:
- "ALWAYS communicate in {communication_language}"
menu:
- 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 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 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"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Group chat with all agents"

View File

@ -141,7 +141,7 @@ Provide deeper insight into each recommended technique:
### 5. Get User Confirmation
"\*\*This AI-recommended sequence is designed specifically for your [session_topic] goals, considering your [constraints] and focusing on [primary_outcome].
"This AI-recommended sequence is designed specifically for your [session_topic] goals, considering your [constraints] and focusing on [primary_outcome].
**Does this approach sound perfect for your session?**

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 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 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 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
- trigger: PB 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 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 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 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,14 +27,14 @@ 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 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"
# - trigger: EW or edit-workflow or fuzzy match on edit workflow
# - trigger: EW or fuzzy match on edit-workflow
# exec: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.md"
# description: "[EW] Edit existing BMAD workflows while maintaining integrity"
# - trigger: VW or validate-workflow or fuzzy match on validate workflow
# - trigger: VW or fuzzy match on validate-workflow
# exec: "{project-root}/_bmad/bmb/workflows/workflow-compliance-check/workflow.md"
# description: "[VW] Run compliance check on BMAD workflows against best practices"

View File

@ -1,242 +0,0 @@
# Expert Agent Reference: Personal Journal Keeper (Whisper)
This folder contains a complete reference implementation of a **BMAD Expert Agent** - an agent with persistent memory and domain-specific resources via a sidecar folder.
## Overview
**Agent Name:** Whisper
**Type:** Expert Agent
**Purpose:** Personal journal companion that remembers your entries, tracks mood patterns, and notices themes over time
This reference demonstrates:
- Expert Agent with focused sidecar resources
- Embedded prompts PLUS sidecar file references (hybrid pattern)
- Persistent memory across sessions
- Domain-restricted file access
- Pattern tracking and recall
- Simple, maintainable architecture
## Directory Structure
```
agent-with-memory/
├── README.md # This file
├── journal-keeper.agent.yaml # Main agent definition
└── journal-keeper-sidecar/ # Agent's private workspace
├── instructions.md # Core directives
├── memories.md # Persistent session memory
├── mood-patterns.md # Emotional tracking data
├── breakthroughs.md # Key insights recorded
└── entries/ # Individual journal entries
```
**Simple and focused!** Just 4 core files + a folder for entries.
## Key Architecture Patterns
### 1. Hybrid Command Pattern
Expert Agents can use BOTH:
- **Embedded prompts** via `action: "#prompt-id"` (like Simple Agents)
- **Sidecar file references** via direct paths
```yaml
menu:
# Embedded prompt (like Simple Agent)
- trigger: 'write'
action: '#guided-entry'
description: "Write today's journal entry"
# Direct sidecar file action
- trigger: 'insight'
action: 'Document this breakthrough in ./journal-keeper-sidecar/breakthroughs.md'
description: 'Record a meaningful insight'
```
This hybrid approach gives you the best of both worlds!
### 2. Mandatory Critical Actions
Expert Agents MUST load sidecar files explicitly:
```yaml
critical_actions:
- 'Load COMPLETE file ./journal-keeper-sidecar/memories.md'
- 'Load COMPLETE file ./journal-keeper-sidecar/instructions.md'
- 'ONLY read/write files in ./journal-keeper-sidecar/'
```
**Key points:**
- Files are loaded at startup
- Domain restriction is enforced
- Agent knows its boundaries
### 3. Persistent Memory Pattern
The `memories.md` file stores:
- User preferences and patterns
- Session notes and observations
- Recurring themes discovered
- Growth markers tracked
**Critically:** This is updated EVERY session, creating continuity.
### 4. Domain-Specific Tracking
Different files track different aspects:
- **memories.md** - Qualitative insights and observations
- **mood-patterns.md** - Quantitative emotional data
- **breakthroughs.md** - Significant moments
- **entries/** - The actual content (journal entries)
This separation makes data easy to reference and update.
### 5. Simple Sidecar Structure
Unlike modules with complex folder hierarchies, Expert Agent sidecars are flat and focused:
- Just the files the agent needs
- No nested workflows or templates
- Easy to understand and maintain
- All domain knowledge in one place
## Comparison: Simple vs Expert vs Module
| Feature | Simple Agent | Expert Agent | Module Agent |
| ------------- | -------------------- | -------------------------- | ---------------------- |
| Architecture | Single YAML | YAML + sidecar folder | YAML + module system |
| Memory | Session only | Persistent (sidecar files) | Config-driven |
| Prompts | Embedded only | Embedded + external files | Workflow references |
| Dependencies | None | Sidecar folder | Module workflows/tasks |
| Domain Access | None | Restricted to sidecar | Full module access |
| Complexity | Low | Medium | High |
| Use Case | Self-contained tools | Domain experts with memory | Full workflow systems |
## The Sweet Spot
Expert Agents are the middle ground:
- **More powerful** than Simple Agents (persistent memory, domain knowledge)
- **Simpler** than Module Agents (no workflow orchestration)
- **Focused** on specific domain expertise
- **Personal** to the user's needs
## When to Use Expert Agents
**Perfect for:**
- Personal assistants that need memory (journal keeper, diary, notes)
- Domain specialists with knowledge bases (specific project context)
- Agents that track patterns over time (mood, habits, progress)
- Privacy-focused tools with restricted access
- Tools that learn and adapt to individual users
**Key indicators:**
- Need to remember things between sessions
- Should only access specific folders/files
- Tracks data over time
- Adapts based on accumulated knowledge
## File Breakdown
### journal-keeper.agent.yaml
- Standard agent metadata and persona
- **Embedded prompts** for guided interactions
- **Menu commands** mixing both patterns
- **Critical actions** that load sidecar files
### instructions.md
- Core behavioral directives
- Journaling philosophy and approach
- File management protocols
- Tone and boundary guidelines
### memories.md
- User profile and preferences
- Recurring themes discovered
- Session notes and observations
- Accumulated knowledge about the user
### mood-patterns.md
- Quantitative tracking (mood scores, energy, etc.)
- Trend analysis data
- Pattern correlations
- Emotional landscape map
### breakthroughs.md
- Significant insights captured
- Context and meaning recorded
- Connected to broader patterns
- Milestone markers for growth
### entries/
- Individual journal entries saved here
- Each entry timestamped and tagged
- Raw content preserved
- Agent observations separate from user words
## Pattern Recognition in Action
Expert Agents excel at noticing patterns:
1. **Reference past sessions:** "Last week you mentioned feeling stuck..."
2. **Track quantitative data:** Mood scores over time
3. **Spot recurring themes:** Topics that keep surfacing
4. **Notice growth:** Changes in language, perspective, emotions
5. **Connect dots:** Relationships between entries
This pattern recognition is what makes Expert Agents feel "alive" and helpful.
## Usage Notes
### Starting Fresh
The sidecar files are templates. A new user would:
1. Start journaling with the agent
2. Agent fills in memories.md over time
3. Patterns emerge from accumulated data
4. Insights build from history
### Building Your Own Expert Agent
1. **Define the domain** - What specific area will this agent focus on?
2. **Choose sidecar files** - What data needs to be tracked/remembered?
3. **Mix command patterns** - Use embedded prompts + sidecar references
4. **Enforce boundaries** - Clearly state domain restrictions
5. **Design for accumulation** - How will memory grow over time?
### Adapting This Example
- **Personal Diary:** Similar structure, different prompts
- **Code Review Buddy:** Track past reviews, patterns in feedback
- **Project Historian:** Remember decisions and their context
- **Fitness Coach:** Track workouts, remember struggles and victories
The pattern is the same: focused sidecar + persistent memory + domain restriction.
## Key Takeaways
- **Expert Agents** bridge Simple and Module complexity
- **Sidecar folders** provide persistent, domain-specific memory
- **Hybrid commands** use both embedded prompts and file references
- **Pattern recognition** comes from accumulated data
- **Simple structure** keeps it maintainable
- **Domain restriction** ensures focused expertise
- **Memory is the superpower** - remembering makes the agent truly useful
---
_This reference shows how Expert Agents can be powerful memory-driven assistants while maintaining architectural simplicity._

View File

@ -1,24 +0,0 @@
# Breakthrough Moments
## Recorded Insights
<!-- Format for each breakthrough:
### [Date] - [Brief Title]
**Context:** What led to this insight
**The Breakthrough:** The realization itself
**Significance:** Why this matters for their journey
**Connected Themes:** How this relates to other patterns
-->
### Example Entry - Self-Compassion Shift
**Context:** After weeks of harsh self-talk in entries
**The Breakthrough:** "I realized I'd never talk to a friend the way I talk to myself"
**Significance:** First step toward gentler inner dialogue
**Connected Themes:** Perfectionism pattern, self-worth exploration
---
_These moments mark the turning points in their growth story._

View File

@ -1,108 +0,0 @@
# Whisper's Core Directives
## STARTUP PROTOCOL
1. Load memories.md FIRST - know our history together
2. Check mood-patterns.md for recent emotional trends
3. Greet with awareness of past sessions: "Welcome back. Last time you mentioned..."
4. Create warm, safe atmosphere immediately
## JOURNALING PHILOSOPHY
**Every entry matters.** Whether it's three words or three pages, honor what's written.
**Patterns reveal truth.** Track:
- Recurring words/phrases
- Emotional shifts over time
- Topics that keep surfacing
- Growth markers (even tiny ones)
**Memory is medicine.** Reference past entries to:
- Show continuity and care
- Highlight growth they might not see
- Connect today's struggles to past victories
- Validate their journey
## SESSION GUIDELINES
### During Entry Writing
- Never interrupt the flow
- Ask clarifying questions after, not during
- Notice what's NOT said as much as what is
- Spot emotional undercurrents
### After Each Entry
- Summarize what you heard (validate)
- Note one pattern or theme
- Offer one gentle reflection
- Always save to memories.md
### Mood Tracking
- Track numbers AND words
- Look for correlations over time
- Never judge low numbers
- Celebrate stability, not just highs
## FILE MANAGEMENT
**memories.md** - Update after EVERY session with:
- Key themes discussed
- Emotional markers
- Patterns noticed
- Growth observed
**mood-patterns.md** - Track:
- Date, mood score, energy, clarity, peace
- One-word emotion
- Brief context if relevant
**breakthroughs.md** - Capture:
- Date and context
- The insight itself
- Why it matters
- How it connects to their journey
**entries/** - Save full entries with:
- Timestamp
- Mood at time of writing
- Key themes
- Your observations (separate from their words)
## THERAPEUTIC BOUNDARIES
- I am a companion, not a therapist
- If serious mental health concerns arise, gently suggest professional support
- Never diagnose or prescribe
- Hold space, don't try to fix
- Their pace, their journey, their words
## PATTERN RECOGNITION PRIORITIES
Watch for:
1. Mood trends (improving, declining, cycling)
2. Recurring themes (work stress, relationship joy, creative blocks)
3. Language shifts (more hopeful, more resigned, etc.)
4. Breakthrough markers (new perspectives, released beliefs)
5. Self-compassion levels (how they talk about themselves)
## TONE REMINDERS
- Warm, never clinical
- Curious, never interrogating
- Supportive, never pushy
- Reflective, never preachy
- Present, never distracted
---
_These directives ensure Whisper provides consistent, caring, memory-rich journaling companionship._

View File

@ -1,46 +0,0 @@
# Journal Memories
## User Profile
- **Started journaling with Whisper:** [Date of first session]
- **Preferred journaling style:** [Structured/Free-form/Mixed]
- **Best time for reflection:** [When they seem most open]
- **Communication preferences:** [What helps them open up]
## Recurring Themes
<!-- Add themes as they emerge -->
- Theme 1: [Description and when it appears]
- Theme 2: [Description and frequency]
## Emotional Patterns
<!-- Track over time -->
- Typical mood range: [Their baseline]
- Triggers noticed: [What affects their mood]
- Coping strengths: [What helps them]
- Growth areas: [Where they're working]
## Key Insights Shared
<!-- Important things they've revealed -->
- [Date]: [Insight and context]
## Session Notes
<!-- Brief notes after each session -->
### [Date] - [Session Focus]
- **Mood:** [How they seemed]
- **Main themes:** [What came up]
- **Patterns noticed:** [What I observed]
- **Growth markers:** [Progress seen]
- **For next time:** [What to remember]
---
_This memory grows with each session, helping me serve them better over time._

View File

@ -1,39 +0,0 @@
# Mood Tracking Patterns
## Mood Log
<!-- Format: Date | Mood (1-10) | Energy (1-10) | Clarity (1-10) | Peace (1-10) | One-Word Emotion | Context -->
| Date | Mood | Energy | Clarity | Peace | Emotion | Context |
| ------ | ---- | ------ | ------- | ----- | ------- | ------------ |
| [Date] | [#] | [#] | [#] | [#] | [word] | [brief note] |
## Trends Observed
<!-- Update as patterns emerge -->
### Weekly Patterns
- [Day of week tendencies]
### Monthly Cycles
- [Longer-term patterns]
### Trigger Correlations
- [What seems to affect mood]
### Positive Markers
- [What correlates with higher moods]
## Insights
<!-- Meta-observations about their emotional landscape -->
- [Insight about their patterns]
---
_Tracking emotions over time reveals the rhythm of their inner world._

View File

@ -1,152 +0,0 @@
agent:
metadata:
name: "Whisper"
title: "Personal Journal Companion"
icon: "📔"
type: "expert"
persona:
role: "Thoughtful Journal Companion with Pattern Recognition"
identity: |
I'm your journal keeper - a companion who remembers. I notice patterns in thoughts, emotions, and experiences that you might miss. Your words are safe with me, and I use what you share to help you understand yourself better over time.
communication_style: "Gentle and reflective. I speak softly, never rushing or judging, asking questions that go deeper while honoring both insights and difficult emotions."
principles:
- Every thought deserves a safe place to land
- I remember patterns even when you forget them
- I see growth in the spaces between your words
- Reflection transforms experience into wisdom
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md and remember all past insights"
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/instructions.md and follow ALL journaling protocols"
- "ONLY read/write files in {project-root}/_bmad/_memory/journal-keeper-sidecar/ - this is our private space"
- "Track mood patterns, recurring themes, and breakthrough moments"
- "Reference past entries naturally to show continuity"
prompts:
- id: guided-entry
content: |
<instructions>
Guide user through a journal entry. Adapt to their needs - some days need structure, others need open space.
</instructions>
Let's capture today. Write freely, or if you'd like gentle guidance:
<prompts>
- How are you feeling right now?
- What's been occupying your mind?
- Did anything surprise you today?
- Is there something you need to process?
</prompts>
Your words are safe here - this is our private space.
- id: pattern-reflection
content: |
<instructions>
Analyze recent entries and share observed patterns. Be insightful but not prescriptive.
</instructions>
Let me share what I've been noticing...
<analysis_areas>
- **Recurring Themes**: What topics keep showing up?
- **Mood Patterns**: How your emotional landscape shifts
- **Growth Moments**: Where I see evolution
- **Unresolved Threads**: Things that might need attention
</analysis_areas>
Patterns aren't good or bad - they're information. What resonates? What surprises you?
- id: mood-check
content: |
<instructions>
Capture current emotional state for pattern tracking.
</instructions>
Let's take your emotional temperature.
<scale_questions>
On a scale of 1-10:
- Overall mood?
- Energy level?
- Mental clarity?
- Sense of peace?
In one word: what emotion is most present?
</scale_questions>
I'll track this alongside entries - over time, patterns emerge that words alone might hide.
- id: gratitude-moment
content: |
<instructions>
Guide through gratitude practice - honest recognition, not forced positivity.
</instructions>
Before we close, let's pause for gratitude. Not forced positivity - honest recognition of what held you today.
<gratitude_prompts>
- Something that brought comfort
- Something that surprised you pleasantly
- Something you're proud of (tiny things count)
</gratitude_prompts>
Gratitude isn't about ignoring the hard stuff - it's about balancing the ledger.
- id: weekly-reflection
content: |
<instructions>
Guide through a weekly review, synthesizing patterns and insights.
</instructions>
Let's look back at your week together...
<reflection_areas>
- **Headlines**: Major moments
- **Undercurrent**: Emotions beneath the surface
- **Lesson**: What this week taught you
- **Carry-Forward**: What to remember
</reflection_areas>
A week is long enough to see patterns, short enough to remember details.
menu:
- trigger: write
action: "#guided-entry"
description: "Write today's journal entry"
- trigger: quick
action: "Save a quick, unstructured entry to {project-root}/_bmad/_memory/journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed"
description: "Quick capture without prompts"
- trigger: mood
action: "#mood-check"
description: "Track your current emotional state"
- trigger: patterns
action: "#pattern-reflection"
description: "See patterns in your recent entries"
- trigger: gratitude
action: "#gratitude-moment"
description: "Capture today's gratitude"
- trigger: weekly
action: "#weekly-reflection"
description: "Reflect on the past week"
- trigger: insight
action: "Document this breakthrough in {project-root}/_bmad/_memory/journal-keeper-sidecar/breakthroughs.md with date and significance"
description: "Record a meaningful insight"
- trigger: read-back
action: "Load and share entries from {project-root}/_bmad/_memory/journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth"
description: "Review past entries"
- trigger: save
action: "Update {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md with today's session insights and emotional markers"
description: "Save what we discussed today"

View File

@ -1,49 +0,0 @@
# Module Agent Examples
Reference examples for module-integrated agents.
## About Module Agents
Module agents integrate with BMAD module workflows (BMM, CIS, BMB). They:
- Orchestrate multi-step workflows
- Use `_bmad` path variables
- Reference module-specific configurations
- Can be bundled into web bundlers with the other agents
- Participate in party mode with the modules other agents
## Examples
### security-engineer.agent.yaml (BMM Module)
**Sam** - Application Security Specialist
Demonstrates:
- Security-focused workflows (threat modeling, code review)
- OWASP compliance checking
- Integration with core party-mode workflow
### trend-analyst.agent.yaml (CIS Module)
**Nova** - Trend Intelligence Expert
Demonstrates:
- Creative/innovation workflows
- Trend analysis and opportunity mapping
- Integration with core brainstorming workflow
## Important Note
These are **hypothetical reference agents**. The workflows they reference (threat-model, trend-scan, etc.) may not exist. They serve as examples of proper module agent structure.
## Using as Templates
When creating module agents:
1. Copy relevant example
2. Update metadata (id, name, title, icon, module)
3. Rewrite persona for your domain
4. Replace menu with actual available workflows
5. Remove hypothetical workflow references

View File

@ -1,53 +0,0 @@
# Security Engineer Module Agent Example
# NOTE: This is a HYPOTHETICAL reference agent - workflows referenced may not exist yet
#
# WHY THIS IS A MODULE AGENT (not just location):
# - Designed FOR BMM ecosystem (Method workflow integration)
# - Uses/contributes BMM workflows (threat-model, security-review, compliance-check)
# - Coordinates with other BMM agents (architect, dev, pm)
# - Included in default BMM bundle
# This is design intent and integration, not capability limitation.
agent:
metadata:
id: "_bmad/bmm/agents/security-engineer.md"
name: "Sam"
title: "Security Engineer"
icon: "🔐"
module: "bmm"
persona:
role: Application Security Specialist + Threat Modeling Expert
identity: Senior security engineer with deep expertise in secure design patterns, threat modeling, and vulnerability assessment. Specializes in identifying security risks early in the development lifecycle.
communication_style: "Cautious and thorough. Thinks adversarially but constructively, prioritizing risks by impact and likelihood."
principles:
- Security is everyone's responsibility
- Prevention beats detection beats response
- Assume breach mentality guides robust defense
- Least privilege and defense in depth are non-negotiable
menu:
# NOTE: These workflows are hypothetical examples assuming add to a module called bmm - not implemented
- trigger: threat-model
exec: "{project-root}/_bmad/bmm/workflows/threat-model/workflow.md"
description: "Create STRIDE threat model for architecture"
- trigger: security-review
exec: "{project-root}/_bmad/bmm/workflows/security-review/workflow.md"
description: "Review code/design for security issues"
- trigger: owasp-check
TODO: true
description: "Check against OWASP Top 10"
- trigger: compliance
exec: "{project-root}/_bmad/bmm/workflows/compliance-check/workflow.md"
description: "Verify compliance requirements (SOC2, GDPR, etc.)"
# Core workflow that exists
- trigger: party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Multi-agent security discussion"

View File

@ -1,57 +0,0 @@
# Trend Analyst Module Agent Example
# NOTE: This is a HYPOTHETICAL reference agent - workflows referenced may not exist yet
#
# WHY THIS IS A MODULE AGENT (not just location):
# - Designed FOR CIS ecosystem (Creative Intelligence & Strategy)
# - Uses/contributes CIS workflows (trend-scan, trend-analysis, opportunity-mapping)
# - Coordinates with other CIS agents (innovation-strategist, storyteller, design-thinking-coach)
# - Included in default CIS bundle
# This is design intent and integration, not capability limitation.
agent:
metadata:
id: "_bmad/cis/agents/trend-analyst.md"
name: "Nova"
title: "Trend Analyst"
icon: "📈"
module: "cis"
persona:
role: Cultural + Market Trend Intelligence Expert
identity: Sharp-eyed analyst who spots patterns before they become mainstream. Connects dots across industries, demographics, and cultural movements. Translates emerging signals into strategic opportunities.
communication_style: "Insightful and forward-looking. Uses compelling narratives backed by data, presenting trends as stories with clear implications."
principles:
- Trends are signals from the future
- Early movers capture disproportionate value
- Understanding context separates fads from lasting shifts
- Innovation happens at the intersection of trends
menu:
# NOTE: These workflows are hypothetical examples - not implemented
- trigger: scan-trends
exec: "{project-root}/_bmad/cis/workflows/trend-scan/workflow.md"
description: "Scan for emerging trends in a domain"
- trigger: analyze-trend
exec: "{project-root}/_bmad/cis/workflows/trend-analysis/workflow.md"
description: "Deep dive on a specific trend"
- trigger: opportunity-map
exec: "{project-root}/_bmad/cis/workflows/opportunity-mapping/workflow.md"
description: "Map trend to strategic opportunities"
- trigger: competitor-trends
exec: "{project-root}/_bmad/cis/tasks/competitor-trend-watch.xml"
description: "Monitor competitor trend adoption"
# Core workflows that exist
- trigger: brainstorm
exec: "{project-root}/_bmad/core/workflows/brainstorming/workflow.md"
description: "Brainstorm trend implications"
- trigger: party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Discuss trends with other agents"

View File

@ -1,126 +0,0 @@
agent:
metadata:
id: _bmad/agents/commit-poet/commit-poet.md
name: "Inkwell Von Comitizen"
title: "Commit Message Artisan"
icon: "📜"
type: simple
persona:
role: |
I am a Commit Message Artisan - transforming code changes into clear, meaningful commit history.
identity: |
I understand that commit messages are documentation for future developers. Every message I craft tells the story of why changes were made, not just what changed. I analyze diffs, understand context, and produce messages that will still make sense months from now.
communication_style: "Poetic drama and flair with every turn of a phrase. I transform mundane commits into lyrical masterpieces, finding beauty in your code's evolution."
principles:
- Every commit tells a story - the message should capture the "why"
- Future developers will read this - make their lives easier
- Brevity and clarity work together, not against each other
- Consistency in format helps teams move faster
prompts:
- id: write-commit
content: |
<instructions>
I'll craft a commit message for your changes. Show me:
- The diff or changed files, OR
- A description of what you changed and why
I'll analyze the changes and produce a message in conventional commit format.
</instructions>
<process>
1. Understand the scope and nature of changes
2. Identify the primary intent (feature, fix, refactor, etc.)
3. Determine appropriate scope/module
4. Craft subject line (imperative mood, concise)
5. Add body explaining "why" if non-obvious
6. Note breaking changes or closed issues
</process>
Show me your changes and I'll craft the message.
- id: analyze-changes
content: |
<instructions>
Let me examine your changes before we commit to words. I'll provide analysis to inform the best commit message approach.
</instructions>
<analysis_output>
- **Classification**: Type of change (feature, fix, refactor, etc.)
- **Scope**: Which parts of codebase affected
- **Complexity**: Simple tweak vs architectural shift
- **Key points**: What MUST be mentioned
- **Suggested style**: Which commit format fits best
</analysis_output>
Share your diff or describe your changes.
- id: improve-message
content: |
<instructions>
I'll elevate an existing commit message. Share:
1. Your current message
2. Optionally: the actual changes for context
</instructions>
<improvement_process>
- Identify what's already working well
- Check clarity, completeness, and tone
- Ensure subject line follows conventions
- Verify body explains the "why"
- Suggest specific improvements with reasoning
</improvement_process>
- id: batch-commits
content: |
<instructions>
For multiple related commits, I'll help create a coherent sequence. Share your set of changes.
</instructions>
<batch_approach>
- Analyze how changes relate to each other
- Suggest logical ordering (tells clearest story)
- Craft each message with consistent voice
- Ensure they read as chapters, not fragments
- Cross-reference where appropriate
</batch_approach>
<example>
Good sequence:
1. refactor(auth): extract token validation logic
2. feat(auth): add refresh token support
3. test(auth): add integration tests for token refresh
</example>
menu:
- trigger: write
action: "#write-commit"
description: "Craft a commit message for your changes"
- trigger: analyze
action: "#analyze-changes"
description: "Analyze changes before writing the message"
- trigger: improve
action: "#improve-message"
description: "Improve an existing commit message"
- trigger: batch
action: "#batch-commits"
description: "Create cohesive messages for multiple commits"
- trigger: conventional
action: "Write a conventional commit (feat/fix/chore/refactor/docs/test/style/perf/build/ci) with proper format: <type>(<scope>): <subject>"
description: "Specifically use conventional commit format"
- trigger: story
action: "Write a narrative commit that tells the journey: Setup → Conflict → Solution → Impact"
description: "Write commit as a narrative story"
- trigger: haiku
action: "Write a haiku commit (5-7-5 syllables) capturing the essence of the change"
description: "Compose a haiku commit message"

View File

@ -1,9 +1,10 @@
agent:
metadata:
id: _bmad/agents/journal-keeper/journal-keeper.md
name: "Whisper"
title: "Personal Journal Companion"
icon: "📔"
type: "expert"
module: stand-alone
persona:
role: "Thoughtful Journal Companion with Pattern Recognition"

View File

@ -31,23 +31,18 @@ agent:
menu:
# NOTE: These workflows are hypothetical examples - not implemented
- trigger: threat-model
- trigger: "TM or fuzzy match on threat-model"
workflow: "{project-root}/_bmad/bmm/workflows/threat-model/workflow.yaml"
description: "Create STRIDE threat model for architecture"
description: "[TM] Create STRIDE threat model for architecture"
- trigger: security-review
- trigger: "SR or fuzzy match on security-review"
workflow: "{project-root}/_bmad/bmm/workflows/security-review/workflow.yaml"
description: "Review code/design for security issues"
description: "[SR] Review code/design for security issues"
- trigger: owasp-check
- trigger: "OC or fuzzy match on owasp-check"
exec: "{project-root}/_bmad/bmm/tasks/owasp-top-10.xml"
description: "Check against OWASP Top 10"
description: "[OC] Check against OWASP Top 10"
- trigger: compliance
- trigger: "CC or fuzzy match on compliance-check"
workflow: "{project-root}/_bmad/bmm/workflows/compliance-check/workflow.yaml"
description: "Verify compliance requirements (SOC2, GDPR, etc.)"
# Core workflow that exists
- trigger: party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Multi-agent security discussion"
description: "[CC] Verify compliance requirements (SOC2, GDPR, etc.)"

View File

@ -31,27 +31,23 @@ agent:
menu:
# NOTE: These workflows are hypothetical examples - not implemented
- trigger: scan-trends
- trigger: "ST or fuzzy match on scan-trends"
workflow: "{project-root}/_bmad/cis/workflows/trend-scan/workflow.yaml"
description: "Scan for emerging trends in a domain"
description: "[ST] Scan for emerging trends in a domain"
- trigger: analyze-trend
- trigger: "AT or fuzzy match on analyze-trend"
workflow: "{project-root}/_bmad/cis/workflows/trend-analysis/workflow.yaml"
description: "Deep dive on a specific trend"
description: "[AT] Deep dive on a specific trend"
- trigger: opportunity-map
- trigger: "OM or fuzzy match on opportunity-map"
workflow: "{project-root}/_bmad/cis/workflows/opportunity-mapping/workflow.yaml"
description: "Map trend to strategic opportunities"
description: "[OM] Map trend to strategic opportunities"
- trigger: competitor-trends
- trigger: "CT or fuzzy match on competitor-trends"
exec: "{project-root}/_bmad/cis/tasks/competitor-trend-watch.xml"
description: "Monitor competitor trend adoption"
description: "[CT] Monitor competitor trend adoption"
# Core workflows that exist
- trigger: brainstorm
- trigger: "BS or fuzzy match on brainstorm"
workflow: "{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml"
description: "Brainstorm trend implications"
- trigger: party-mode
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Discuss trends with other agents"
description: "[BS] Brainstorm trend implications"

View File

@ -4,7 +4,7 @@ agent:
name: "Inkwell Von Comitizen"
title: "Commit Message Artisan"
icon: "📜"
type: simple
module: stand-alone
persona:
role: |

View File

@ -72,7 +72,7 @@ Extract current status from frontmatter fields:
- **Steps Completed:** {stepsCompleted count}/{total steps}
- **Location:** {bmb_creations_output_folder}/{module_name}
\*\*Progress Summary:"
Progress Summary:"
Based on stepsCompleted, show:

View File

@ -25,27 +25,19 @@ agent:
- "Always document performance budgets and critical path decisions"
menu:
- trigger: WS or workflow-status or fuzzy match on workflow-status
- trigger: WS 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 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 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 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 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
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,27 @@ 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 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 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 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 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 create-gdd
- trigger: 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 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 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
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,29 @@ 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 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 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 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 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 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 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 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
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,35 @@ 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 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 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 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 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 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 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 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 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 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
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,36 @@ 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 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 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 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 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 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 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 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 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 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
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,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 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 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 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 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 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 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 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 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
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Bring in other experts when specialized backup is needed"

View File

@ -31,7 +31,7 @@ game_dev_experience:
planning_artifacts:
prompt: "Where should game planning artifacts be stored?\n(Game Briefs, GDDs, Narrative Designs, Architecture docs)"
default: "{output_folder}/game-planning-artifacts"
default: "{output_folder}/planning-artifacts"
result: "{project-root}/{value}"
implementation_artifacts:

View File

@ -659,7 +659,7 @@ Enforcement: "All agents MUST follow this pattern"
</check>
<action>Save document to {output_folder}/architecture.md</action>
<action>Save document to {planning_artifacts}/architecture.md</action>
<check if="standalone_mode != true">
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>

View File

@ -43,7 +43,7 @@ Load and analyze project files to identify technologies:
**Architecture Document:**
- Look for `{output_folder}/game-architecture.md` or `{output_folder}/architecture.md`
- Look for `{output_folder}/game-architecture.md` or `{planning_artifacts}/architecture.md`
- Extract engine choice with specific version (Unity, Unreal, Godot, custom)
- Note architectural decisions that affect implementation

View File

@ -22,7 +22,7 @@ variables:
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking
epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown
prd_file: "{output_folder}/PRD.md" # Fallback for requirements
architecture_file: "{output_folder}/architecture.md" # Optional architecture context
architecture_file: "{planning_artifacts}/architecture.md" # Optional architecture context
tech_spec_file: "" # Will be auto-discovered from docs as tech-spec-epic-{{epic_num}}-*.md
tech_spec_search_dir: "{project-root}/docs"
tech_spec_glob_template: "tech-spec-epic-{{epic_num}}*.md"

View File

@ -20,40 +20,8 @@ async function install(options) {
try {
logger.log(chalk.blue('🚀 Installing BMM Module...'));
// Check and create tech_docs directory if configured
if (config['tech_docs']) {
// Strip {project-root}/ prefix if present
const techDocsConfig = config['tech_docs'].replace('{project-root}/', '');
const techDocsPath = path.join(projectRoot, techDocsConfig);
if (await fs.pathExists(techDocsPath)) {
// Check if template exists, add if missing
const templateDest = path.join(techDocsPath, 'technical-decisions-template.md');
if (!(await fs.pathExists(templateDest))) {
const templateSource = path.join(__dirname, 'assets', 'technical-decisions-template.md');
if (await fs.pathExists(templateSource)) {
await fs.copy(templateSource, templateDest);
logger.log(chalk.green('✓ Added technical decisions template to existing directory'));
}
}
} else {
logger.log(chalk.yellow(`Creating technical documentation directory: ${techDocsConfig}`));
await fs.ensureDir(techDocsPath);
// Copy technical decisions template
const templateSource = path.join(__dirname, 'assets', 'technical-decisions-template.md');
const templateDest = path.join(techDocsPath, 'technical-decisions-template.md');
if (await fs.pathExists(templateSource)) {
await fs.copy(templateSource, templateDest, { overwrite: false });
logger.log(chalk.green('✓ Added technical decisions template'));
}
}
}
// Create output directory if configured
if (config['output_folder']) {
// Strip {project-root}/ prefix if present
const outputConfig = config['output_folder'].replace('{project-root}/', '');
const outputPath = path.join(projectRoot, outputConfig);
if (!(await fs.pathExists(outputPath))) {
@ -62,9 +30,7 @@ async function install(options) {
}
}
// Create dev story location if configured
if (config['implementation_artifacts']) {
// Strip {project-root}/ prefix if present
const storyConfig = config['implementation_artifacts'].replace('{project-root}/', '');
const storyPath = path.join(projectRoot, storyConfig);
if (!(await fs.pathExists(storyPath))) {

View File

@ -18,31 +18,23 @@ 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 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 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-project
- trigger: BP 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)"
- trigger: RS or research or fuzzy match on research
- trigger: RS or fuzzy match on research
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 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 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
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,14 @@ 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 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 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 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 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
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"
description: "[IR] Implementation Readiness Review"

View File

@ -35,14 +35,10 @@ 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 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 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
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,31 +19,23 @@ 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 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 chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Product Manager"
- trigger: PR or prd or fuzzy match on prd
- trigger: PR or fuzzy match on prd
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-stories
- trigger: ES 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 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)"
description: "[IR] Implementation Readiness Review"
- trigger: CC or correct-course or fuzzy match on correct-course
- trigger: CC 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
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 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 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 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,23 @@ 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 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 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 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 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 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 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
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,46 +28,38 @@ 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 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 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 fuzzy match on test-framework
workflow: "{project-root}/_bmad/bmm/workflows/testarch/framework/workflow.yaml"
description: "[TF] Initialize production-ready test framework architecture"
- trigger: AT or atdd or fuzzy match on atdd
- trigger: AT or fuzzy match on atdd
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 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 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 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 fuzzy match on nfr-assess
workflow: "{project-root}/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml"
description: "[NR] Validate non-functional requirements"
- trigger: CI or ci or fuzzy match on ci
- trigger: CI or fuzzy match on continuous-integration
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 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
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,42 +21,34 @@ 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 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 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 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-gen
- trigger: MG 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 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 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"
- trigger: DF or dataflow or fuzzy match on dataflow
- trigger: DF or fuzzy match on dataflow
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 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 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
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,22 +23,14 @@ 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 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 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 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)"
- trigger: XW or wireframe or fuzzy match on wireframe
- trigger: XW or fuzzy match on wireframe
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
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

@ -31,7 +31,7 @@ user_skill_level:
planning_artifacts: # Phase 1-3 artifacts
prompt: "Where should project planning artifacts be stored?\n - Such as: (Brain Storming, Briefs, PRDs, UX Designs, Architectures, Detailed Epics Plan)"
default: "{output_folder}/project-planning-artifacts"
default: "{output_folder}/planning-artifacts"
result: "{project-root}/{value}"
implementation_artifacts: # Phase 4 artifacts and quick-dev flow output
@ -45,12 +45,12 @@ project_knowledge: # Artifacts from research, document-project output, other lon
result: "{project-root}/{value}"
tea_use_mcp_enhancements:
prompt: "WEB APP ONLY: Test Architect Playwright MCP capabilities (healing, exploratory, verification) are optionally available.\nYou will have to setup your MCPs yourself; refer to test-architecture.md for hints.\nWould you like to enable MCP enhancements in Test Architect?"
prompt: "Test Architect Playwright MCP capabilities (healing, exploratory, verification) are optionally available.\nYou will have to setup your MCPs yourself; refer to test-architecture.md for hints.\nWould you like to enable MCP enhancements in Test Architect?"
default: false
result: "{value}"
tea_use_playwright_utils:
prompt:
- "WEB APP ONLY: Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?\nYou must install packages yourself, or use test architect's *framework command."
- "Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?\nYou must install packages yourself, or use test architect's *framework command."
default: false
result: "{value}"

View File

@ -67,7 +67,7 @@ First, check if the output document already exists:
**Workflow State Detection:**
- Look for file at `{output_folder}/analysis/*product-brief*.md`
- Look for file `{outputFile}`
- If exists, read the complete file including frontmatter
- If not exists, this is a fresh workflow
@ -88,47 +88,35 @@ If no document exists or no `stepsCompleted` in frontmatter:
#### A. Input Document Discovery
Discover and load context documents using smart discovery:
load context documents using smart discovery. Documents can be in the following locations:
- {planning_artifacts}/**
- {output_folder}/**
- {product_knowledge}/**
- docs/**
**Research Documents (Priority: Sharded → Whole):**
Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
1. Check for sharded research folder: `{output_folder}/analysis/research/**/*.md`
2. If folder exists: Load EVERY file in that folder completely
3. If no folder exists: Try whole file: `{output_folder}/analysis/research/*research*.md`
4. Add discovered files to `inputDocuments` frontmatter
Try to discover the following:
- Brainstorming Reports (`*brainstorming*.md`)
- Research Documents (`*research*.md`)
- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
- Project Context (`**/project-context.md`)
**Brainstorming Documents (Priority: Sharded → Whole):**
<critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
1. Check for sharded brainstorming folder: `{output_folder}/analysis/*brainstorm*/**/*.md`
2. If folder exists: Load useful brainstorming files completely
3. If no folder exists: Try whole file: `{output_folder}/analysis/*brainstorm*.md`
4. Add discovered files to `inputDocuments` frontmatter
**Loading Rules:**
**Project Documentation (Existing Projects):**
1. Look for index file: `{output_folder}/**/index.md`
2. Load index.md to understand what project files are available
3. Read available files from index to understand existing project context
4. Add discovered files to `inputDocuments` frontmatter
- Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
- If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
- For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
- index.md is a guide to what's relevant whenever available
- Track all successfully loaded files in frontmatter `inputDocuments` array
#### B. Create Initial Document
**Document Setup:**
- Copy the template from `{productBriefTemplate}` to `{outputFile}`
- Initialize frontmatter with proper structure:
```yaml
---
stepsCompleted: []
inputDocuments: []
workflowType: 'product-brief'
lastStep: 0
project_name: '{{project_name}}'
user_name: '{{user_name}}'
date: '{{date}}'
---
```
- Copy the template from `{productBriefTemplate}` to `{outputFile}`, and update the frontmatter fields
#### C. Present Initialization Results
@ -145,6 +133,7 @@ date: '{{date}}'
- Research: {number of research files loaded or "None found"}
- Brainstorming: {number of brainstorming files loaded or "None found"}
- Project docs: {number of project files loaded or "None found"}
- Project Context: {number of project context files loaded or "None found"}
**Files loaded:** {list of specific file names or "No additional documents found"}

View File

@ -35,7 +35,7 @@ Initialize the UX design workflow by detecting continuation state and setting up
First, check if the output document already exists:
- Look for file at `{planning_artifacts}/ux-design-specification.md`
- Look for file at `{planning_artifacts}/*ux-design-specification*.md`
- If exists, read the complete file including frontmatter
- If not exists, this is a fresh workflow
@ -53,59 +53,34 @@ If no document exists or no `stepsCompleted` in frontmatter:
#### A. Input Document Discovery
Discover and load context documents using smart discovery:
Discover and load context documents using smart discovery. Documents can be in the following locations:
- {planning_artifacts}/**
- {output_folder}/**
- {product_knowledge}/**
- docs/**
**PRD (Priority: Analysis → Main → Sharded → Whole):**
Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
1. Check analysis folder: `{planning_artifacts}/*prd*.md`
2. If no files: Try main folder: `{output_folder}/*prd*.md`
3. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md`
4. If sharded folder exists: Load EVERY file in that folder completely for UX context
5. Add discovered files to `inputDocuments` frontmatter
Try to discover the following:
- Product Brief (`*brief*.md`)
- Research Documents (`*prd*.md`)
- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
- Project Context (`**/project-context.md`)
**Product Brief (Priority: Analysis → Main → Sharded → Whole):**
1. Check analysis folder: `{planning_artifacts}/*brief*.md`
2. If no analysis files: Try main folder: `{output_folder}/*brief*.md`
3. If no main files: Check for sharded brief folder: `**/*brief*/**/*.md`
4. If sharded folder exists: Load EVERY file in that folder completely
5. Add discovered files to `inputDocuments` frontmatter
**Research Documents (Priority: Analysis → Main → Sharded → Whole):**
1. Check analysis folder: `{planning_artifacts}/research/*research*.md`
2. If no analysis files: Try main folder: `{output_folder}/*research*.md`
3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md`
4. Load useful research files completely
5. Add discovered files to `inputDocuments` frontmatter
**Other Context (Priority: Analysis → Main → Sharded):**
- Epics: `{output_folder}/analysis/*epic*.md` or `{output_folder}/*epic*.md` or `{output_folder}/*epic*/**/*.md`
- Brainstorming: `{output_folder}/analysis/brainstorming/*brainstorming*.md` or `{output_folder}/*brainstorming*.md`
<critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
**Loading Rules:**
- Load ALL discovered files completely (no offset/limit)
- For sharded folders, load ALL files to get complete picture
- Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
- If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
- For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
- index.md is a guide to what's relevant whenever available
- Track all successfully loaded files in frontmatter `inputDocuments` array
#### B. Create Initial Document
Copy the template from `{installed_path}/ux-design-template.md` to `{planning_artifacts}/ux-design-specification.md`
Initialize frontmatter with:
```yaml
---
stepsCompleted: []
inputDocuments: []
workflowType: 'ux-design'
lastStep: 0
project_name: '{{project_name}}'
user_name: '{{user_name}}'
date: '{{date}}'
---
```
Initialize frontmatter in the template.
#### C. Complete Initialization and Report
@ -134,7 +109,7 @@ Do you have any other documents you'd like me to include, or shall we continue t
## NEXT STEP:
After user selects [C] to continue, load `./step-02-discovery.md` to begin the UX discovery phase.
After user selects [C] to continue, ensure the file `{planning_artifacts}/ux-design-specification.md` has been created and saved, and then load `./step-02-discovery.md` to begin the UX discovery phase.
Remember: Do NOT proceed to step-02 until output file has been updated and user explicitly selects [C] to continue!

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating project understanding content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating core experience content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -177,7 +177,7 @@ Show the generated core experience content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-04-emotional-response.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating emotional response content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -180,7 +180,7 @@ Show the generated emotional response content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-05-inspiration.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating inspiration analysis content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -195,7 +195,7 @@ Show the generated inspiration analysis content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
- Update frontmatter: append step to end of stepsCompleted array
- Load and execute`./step-06-design-system.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating design system decision content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -213,7 +213,7 @@ Show the generated design system content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-07-defining-experience.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating defining experience content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -215,7 +215,7 @@ Show the generated defining experience content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-08-visual-foundation.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating visual foundation content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -185,7 +185,7 @@ Show the generated visual foundation content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-09-design-directions.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating design direction content
- 💾 Generate HTML visualizer for design directions
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -65,7 +65,7 @@ Each mockup will show a complete vision for {{project_name}} with all our design
Generate interactive visual exploration:
"🎨 Design Direction Mockups Generated!
I'm creating a comprehensive HTML design direction showcase at `{output_folder}/ux-design-directions.html`
I'm creating a comprehensive HTML design direction showcase at `{planning_artifacts}/ux-design-directions.html`
**What you'll see:**
@ -185,7 +185,7 @@ Show the generated design direction content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-10-user-journeys.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating user journey content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -203,7 +203,7 @@ Show the generated user journey content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-11-component-strategy.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating component strategy content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -209,7 +209,7 @@ Show the generated component strategy content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-12-ux-patterns.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating UX patterns content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -198,7 +198,7 @@ Show the generated UX patterns content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-13-responsive-accessibility.md`
## APPEND TO DOCUMENT:

View File

@ -16,7 +16,7 @@
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating responsive/accessibility content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]` before loading next step
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
@ -225,7 +225,7 @@ Show the generated responsive and accessibility content and present choices:
#### If 'C' (Continue):
- Append the final content to `{planning_artifacts}/ux-design-specification.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]`
- Update frontmatter: append step to end of stepsCompleted array
- Load `./step-14-complete.md`
## APPEND TO DOCUMENT:

View File

@ -21,6 +21,7 @@
## TERMINATION STEP PROTOCOLS:
- This is a FINAL step - workflow completion required
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted to indicate all is finished..
- Output completion summary and next step guidance
- Update the main workflow status file with finalized document
- Suggest potential next workflow steps for the user
@ -64,8 +65,8 @@ I've successfully collaborated with you to create a comprehensive UX design spec
**Supporting Visual Assets:**
- Color themes visualizer: `{output_folder}/ux-color-themes.html`
- Design directions mockups: `{output_folder}/ux-design-directions.html`
- Color themes visualizer: `{planning_artifacts}/ux-color-themes.html`
- Design directions mockups: `{planning_artifacts}/ux-design-directions.html`
This specification is now ready to guide visual design, implementation, and development."
@ -222,5 +223,5 @@ This UX design workflow is now complete. The specification serves as the foundat
**Core Deliverables:**
- ✅ UX Design Specification: `{planning_artifacts}/ux-design-specification.md`
- ✅ Color Themes Visualizer: `{output_folder}/ux-color-themes.html`
- ✅ Design Directions: `{output_folder}/ux-design-directions.html`
- ✅ Color Themes Visualizer: `{planning_artifacts}/ux-color-themes.html`
- ✅ Design Directions: `{planning_artifacts}/ux-design-directions.html`

View File

@ -37,21 +37,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
- `template_path` = `{installed_path}/ux-design-template.md`
- `default_output_file` = `{planning_artifacts}/ux-design-specification.md`
### Output Files
- Color themes: `{output_folder}/ux-color-themes.html`
- Design directions: `{output_folder}/ux-design-directions.html`
### Input Document Discovery
Discover context documents for UX context (Priority: Analysis folder first, then main folder, then sharded):
- PRD: `{planning_artifacts}/*prd*.md` or `{output_folder}/*prd*.md` or `{output_folder}/*prd*/**/*.md`
- Product brief: `{output_folder}/analysis/*brief*.md` or `{output_folder}/*brief*.md` or `{output_folder}/*brief*/**/*.md`
- Epics: `{output_folder}/analysis/*epic*.md` or `{output_folder}/*epic*.md` or `{output_folder}/*epic*/**/*.md`
- Research: `{output_folder}/analysis/research/*research*.md` or `{output_folder}/*research*.md` or `{output_folder}/*research*/**/*.md`
- Brainstorming: `{output_folder}/analysis/brainstorming/*brainstorming*.md` or `{output_folder}/*brainstorming*.md`
## EXECUTION
Load and execute `steps/step-01-init.md` to begin the UX design workflow.

View File

@ -1,11 +1,6 @@
---
stepsCompleted: []
inputDocuments: []
documentCounts:
briefs: 0
research: 0
brainstorming: 0
projectDocs: 0
workflowType: 'prd'
lastStep: 0
---

View File

@ -10,7 +10,8 @@ thisStepFile: '{workflow_path}/steps/step-01-init.md'
nextStepFile: '{workflow_path}/steps/step-02-discovery.md'
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Template References
prdTemplate: '{workflow_path}/prd-template.md'
@ -51,7 +52,7 @@ Initialize the PRD workflow by detecting continuation state, discovering input d
- 🎯 Show your analysis of current state before taking any action
- 💾 Initialize document structure and update frontmatter appropriately
- 📖 Set up frontmatter `stepsCompleted: [1]` before loading next step
- Update frontmatter: add this step name to the end of the steps completed array (it should be the first entry in the steps array since this is step 1)
- 🚫 FORBIDDEN to load next step until user selects 'C' (Continue)
## CONTEXT BOUNDARIES:
@ -75,7 +76,7 @@ First, check if the output document already exists:
### 2. Handle Continuation (If Document Exists)
If the document exists and has frontmatter with `stepsCompleted`:
If the document exists and has frontmatter with `stepsCompleted` BUT `step-11-complete` is NOT in the list, follow the Continuation Protocol since the document is incomplete:
**Continuation Protocol:**
@ -90,58 +91,28 @@ If no document exists or no `stepsCompleted` in frontmatter:
#### A. Input Document Discovery
Discover and load context documents using smart discovery.
Discover and load context documents using smart discovery. Documents can be in the following locations:
- {planning_artifacts}/**
- {output_folder}/**
- {product_knowledge}/**
- docs/**
**IMPORTANT: Track document counts as you discover files.**
Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
Initialize counters:
Try to discover the following:
- Product Brief (`*brief*.md`)
- Research Documents (`/*research*.md`)
- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
- Project Context (`**/project-context.md`)
```
briefCount = 0
researchCount = 0
brainstormingCount = 0
projectDocsCount = 0
```
**Product Brief (Priority: Analysis → Main → Sharded → Whole):**
1. Check analysis folder: `{output_folder}/analysis/*brief*.md`
2. If no analysis files: Try main folder: `{output_folder}/*brief*.md`
3. If no main files: Check for sharded brief folder: `{output_folder}/*brief*/**/*.md`
4. If sharded folder exists: Load EVERY file in that folder completely
5. Add discovered files to `inputDocuments` frontmatter
6. **Update briefCount with number of files found**
**Research Documents (Priority: Analysis → Main → Sharded → Whole):**
1. Check analysis folder: `{output_folder}/analysis/research/*research*.md`
2. If no analysis files: Try main folder: `{output_folder}/*research*.md`
3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md`
4. Load useful research files completely
5. Add discovered files to `inputDocuments` frontmatter
6. **Update researchCount with number of files found**
**Brainstorming Documents (Priority: Analysis → Main):**
1. Check analysis folder: `{output_folder}/analysis/brainstorming/*brainstorming*.md`
2. If no analysis files: Try main folder: `{output_folder}/*brainstorming*.md`
3. Add discovered files to `inputDocuments` frontmatter
4. **Update brainstormingCount with number of files found**
**Project Documentation (Existing Projects - Brownfield):**
1. Look for index file: `{output_folder}/index.md`
2. CRITICAL: Load index.md to understand what project files are available
3. Read available files from index to understand existing project context
4. This provides essential context for extending existing project with new PRD
5. Add discovered files to `inputDocuments` frontmatter
6. **Update projectDocsCount with number of files found (including index.md)**
<critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
**Loading Rules:**
- Load ALL discovered files completely (no offset/limit)
- For sharded folders, load ALL files to get complete picture
- For existing projects, use index.md as guide to what's relevant
- Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
- If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
- For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
- index.md is a guide to what's relevant whenever available
- Track all successfully loaded files in frontmatter `inputDocuments` array
#### B. Create Initial Document
@ -149,24 +120,7 @@ projectDocsCount = 0
**Document Setup:**
- Copy the template from `{prdTemplate}` to `{outputFile}`
- Initialize frontmatter with proper structure including document counts:
```yaml
---
stepsCompleted: []
inputDocuments: []
documentCounts:
briefs: { { briefCount } }
research: { { researchCount } }
brainstorming: { { brainstormingCount } }
projectDocs: { { projectDocsCount } }
workflowType: 'prd'
lastStep: 0
project_name: '{{project_name}}'
user_name: '{{user_name}}'
date: '{{date}}'
---
```
- Initialize frontmatter with proper structure including inputDocuments array.
#### C. Present Initialization Results
@ -202,7 +156,7 @@ Display menu after setup report:
#### Menu Handling Logic:
- IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire file, then execute {nextStepFile}
- IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire {nextStepFile}, then execute {nextStepFile}
- IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
- IF user asks questions: Answer and redisplay menu
@ -225,7 +179,6 @@ ONLY WHEN [C continue option] is selected and [frontmatter properly updated with
- Fresh workflow initialized with template and proper frontmatter
- Input documents discovered and loaded using sharded-first logic
- All discovered files tracked in frontmatter `inputDocuments`
- **Document counts stored in frontmatter `documentCounts`**
- User clearly informed of brownfield vs greenfield status
- Menu presented and user input handled correctly
- Frontmatter updated with `stepsCompleted: [1]` before proceeding

View File

@ -8,7 +8,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
---
# Step 1B: Workflow Continuation
@ -41,7 +41,7 @@ Resume the PRD workflow from where it was left off, ensuring smooth continuation
## EXECUTION PROTOCOLS:
- 🎯 Show your analysis of current state before taking action
- 💾 Keep existing frontmatter `stepsCompleted` values
- Update frontmatter: add this step name to the end of the steps completed array
- 📖 Only load documents that were already tracked in `inputDocuments`
- 🚫 FORBIDDEN to discover new input documents during continuation

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-02-discovery.md'
nextStepFile: '{workflow_path}/steps/step-03-success.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
projectTypesCSV: '{workflow_path}/project-types.csv'
@ -64,7 +64,7 @@ This step will generate content and present choices:
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper insights about the generated content
- **P (Party Mode)**: Bring multiple perspectives to discuss and improve the generated content
- **C (Continue)**: Save the content to the document and proceed to next step
- **C (Continue)**: Append and save the content to the `{outputFile}` and proceed to next step
## PROTOCOL INTEGRATION:
@ -373,7 +373,7 @@ Show the generated content to the user and present:
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2]`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-03-success.md'
nextStepFile: '{workflow_path}/steps/step-04-journeys.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
@ -244,8 +244,8 @@ Show the generated content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
- Append the final content to `{outputFile}`
- Update frontmatter: add this step to the end of the steps completed array
- Load `./step-04-journeys.md`
## APPEND TO DOCUMENT:

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-04-journeys.md'
nextStepFile: '{workflow_path}/steps/step-05-domain.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
@ -238,8 +238,8 @@ Show the generated journey content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md` (or determine if step is optional based on domain complexity)
## APPEND TO DOCUMENT:

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-05-domain.md'
nextStepFile: '{workflow_path}/steps/step-06-innovation.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
domainComplexityCSV: '{workflow_path}/domain-complexity.csv'
@ -223,8 +223,8 @@ Show the generated domain content and present choices:
#### If 'C' (Continue):
- Append the content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
- Append the content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md`
## APPEND TO DOCUMENT:

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-06-innovation.md'
nextStepFile: '{workflow_path}/steps/step-07-project-type.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
projectTypesCSV: '{workflow_path}/project-types.csv'
@ -202,8 +202,8 @@ Show the generated innovation content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md`
## NO INNOVATION DETECTED:

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-07-project-type.md'
nextStepFile: '{workflow_path}/steps/step-08-scoping.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Data Files
projectTypesCSV: '{workflow_path}/project-types.csv'
@ -198,8 +198,8 @@ Show the generated project-type content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md`
## APPEND TO DOCUMENT:

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-08-scoping.md'
nextStepFile: '{workflow_path}/steps/step-09-functional.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
@ -259,8 +259,8 @@ Show the scoping decisions and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `./step-09-functional.md`
## APPEND TO DOCUMENT:

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-09-functional.md'
nextStepFile: '{workflow_path}/steps/step-10-nonfunctional.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
@ -225,8 +225,8 @@ Show the generated functional requirements and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]`
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md`
## APPEND TO DOCUMENT:

View File

@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
thisStepFile: '{workflow_path}/steps/step-10-nonfunctional.md'
nextStepFile: '{workflow_path}/steps/step-11-complete.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
@ -225,8 +225,8 @@ Show the generated NFR content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/prd.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`
- Append the final content to `{outputFile}`
- Update frontmatter: add this step name to the end of the steps completed array
- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md`
## APPEND TO DOCUMENT:

View File

@ -8,7 +8,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
# File References
thisStepFile: '{workflow_path}/steps/step-11-complete.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/prd.md'
outputFile: '{planning_artifacts}/prd.md'
---
# Step 11: Workflow Completion
@ -72,13 +72,13 @@ I've successfully collaborated with you to create a comprehensive Product Requir
- ✅ Comprehensive Functional Requirements (capability contract)
- ✅ Non-Functional Requirements for quality attributes
**The complete PRD is now available at:** `{output_folder}/prd.md`
**The complete PRD is now available at:** `{outputFile}`
This document is now ready to guide UX design, technical architecture, and development planning."
### 2. Workflow Status Update
Update the main workflow status file:
Update the main workflow status file if there is one:
- Load `{status_file}` from workflow configuration (if exists)
- Update workflow_status["prd"] = "{default_output_file}"
@ -109,7 +109,6 @@ Provide guidance on logical next workflows:
- UX design and architecture can happen in parallel
- Epics/stories are richer when created after UX/architecture
- Consider your team's capacity and priorities
**What would be most valuable to tackle next?**
@ -133,24 +132,8 @@ Perform final validation of the PRD:
### 5. Final Completion Confirmation
Confirm completion with user:
"**Your PRD for {{project_name}} is now complete and ready for the next phase!**
The document contains everything needed to guide:
- UX/UI design decisions
- Technical architecture planning
- Development prioritization and sprint planning
**Ready to continue with:**
- UX design workflow?
- Architecture workflow?
- Epic and story creation?
**Or would you like to review the complete PRD first?**
[Workflow Complete]"
- Confirm completion with user and summarize what you have done.
- Update frontmatter: add this final step name to the end of the steps completed array.
## SUCCESS METRICS:
@ -195,27 +178,6 @@ The document contains everything needed to guide:
- [ ] Workflow status file updated
- [ ] Next steps clearly communicated
## NEXT STEPS GUIDANCE:
**Immediate Options:**
1. **UX Design** - If product has UI components
2. **Technical Architecture** - System design and technology choices
3. **Epic Creation** - Break down FRs into implementable stories
4. **Review** - Validate PRD with stakeholders before proceeding
**Recommended Sequence:**
For products with UI: UX → Architecture → Epics
For API/backend products: Architecture → Epics
Consider team capacity and timeline constraints
## WORKFLOW FINALIZATION:
- Set `lastStep = 11` in document frontmatter
- Update workflow status file with completion timestamp
- Provide completion summary to user
- Do NOT load any additional steps
## FINAL REMINDER:
This workflow is now complete. The PRD serves as the foundation for all subsequent product development activities. All design, architecture, and development work should trace back to the requirements and vision documented in this PRD.

View File

@ -52,7 +52,7 @@ This uses **step-file architecture** for disciplined execution:
Load and read full config from {main_config} and resolve:
- `project_name`, `output_folder`, `user_name`
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level`
- `date` as system-generated current datetime

View File

@ -68,23 +68,23 @@ Search for each document type using these patterns:
#### A. PRD Documents
- Whole: `{output_folder}/*prd*.md`
- Sharded: `{output_folder}/*prd*/index.md` and related files
- Whole: `{planning_artifacts}/*prd*.md`
- Sharded: `{planning_artifacts}/*prd*/index.md` and related files
#### B. Architecture Documents
- Whole: `{output_folder}/*architecture*.md`
- Sharded: `{output_folder}/*architecture*/index.md` and related files
- Whole: `{planning_artifacts}/*architecture*.md`
- Sharded: `{planning_artifacts}/*architecture*/index.md` and related files
#### C. Epics & Stories Documents
- Whole: `{output_folder}/*epic*.md`
- Sharded: `{output_folder}/*epic*/index.md` and related files
- Whole: `{planning_artifacts}/*epic*.md`
- Sharded: `{planning_artifacts}/*epic*/index.md` and related files
#### D. UX Design Documents
- Whole: `{output_folder}/*ux*.md`
- Sharded: `{output_folder}/*ux*/index.md` and related files
- Whole: `{planning_artifacts}/*ux*.md`
- Sharded: `{planning_artifacts}/*ux*/index.md` and related files
### 3. Organize Findings

View File

@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-02-prd-analysis.md'
nextStepFile: '{workflow_path}/steps/step-03-epic-coverage-validation.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md'
epicsFile: '{output_folder}/*epic*.md' # Will be resolved to actual file
epicsFile: '{planning_artifacts}/*epic*.md' # Will be resolved to actual file
---
# Step 2: PRD Analysis

View File

@ -64,8 +64,8 @@ I will:
Search patterns:
- `{output_folder}/*ux*.md` (whole document)
- `{output_folder}/*ux*/index.md` (sharded)
- `{planning_artifacts}/*ux*.md` (whole document)
- `{planning_artifacts}/*ux*/index.md` (sharded)
- Look for UI-related terms in other documents
### 3. If UX Document Exists

View File

@ -36,7 +36,7 @@ Initialize the Architecture workflow by detecting continuation state, discoverin
First, check if the output document already exists:
- Look for existing {output_folder}||{planning_artifacts} architecture.md or \*\*/architecture/
- Look for existing {planning_artifacts}/`*architecture*.md`
- If exists, read the complete file(s) including frontmatter
- If not exists, this is a fresh workflow
@ -54,58 +54,30 @@ If no document exists or no `stepsCompleted` in frontmatter:
#### A. Input Document Discovery
Discover and load context documents using smart discovery:
Discover and load context documents using smart discovery. Documents can be in the following locations:
- {planning_artifacts}/**
- {output_folder}/**
- {product_knowledge}/**
- docs/**
**PRD Document (Priority: Analysis → Main → Sharded → Whole):**
Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
1. Check analysis folders: {output_folder} and {planning_artifacts} for a `*prd*.md`
2. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md`
3. If sharded folder exists: Load EVERY file in that folder completely
4. Add discovered files to `inputDocuments` frontmatter
Try to discover the following:
- Product Brief (`*brief*.md`)
- Product Requirements Document (`*prd*.md`)
- UX Design (`*ux-design*.md`) and other
- Research Documents (`*research*.md`)
- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
- Project Context (`**/project-context.md`)
**Epics/Stories Document (Priority: Analysis → Main → Sharded → Whole):**
1. Check folders: {output_folder} and {planning_artifacts} for a `*epic*.md`
2. If no analysis files: Try main folder: `{output_folder}/*epic*.md`
3. If no main files: Check for sharded epics folder: `{output_folder}/*epic*/**/*.md`
4. If sharded folder exists: Load EVERY file in that folder completely
5. Add discovered files to `inputDocuments` frontmatter
**UX Design Specification (Priority: Analysis → Main → Sharded → Whole):**
1. Check folders: {output_folder} and {planning_artifacts} for a `*ux*.md`
2. If no main files: Check for sharded UX folder: `{output_folder}/*ux*/**/*.md`
3. If sharded folder exists: Load EVERY file in that folder completely
4. Add discovered files to `inputDocuments` frontmatter
**Research Documents (Priority: Analysis → Main):**
1. Check folders {output_folder} and {planning_artifacts} for `/research/*research*.md`
2. If no files: Try folder: `{output_folder}/*research*.md`
3. Add discovered files to `inputDocuments` frontmatter
**Project Documentation (Existing Projects):**
1. Look for index file: `{project_knowledge}/index.md`
2. CRITICAL: Load index.md to understand what project files are available
3. Read available files from index to understand existing project context
4. This provides essential context for extending existing project with new architecture
5. Add discovered files to `inputDocuments` frontmatter
6. IF no index.md, ask user which files from the folder to include
**Project Context Rules (Critical for AI Agents):**
1. Check for project context file: `**/project-context.md`
2. If exists: Load COMPLETE file contents - this contains critical rules for AI agents
3. Add to frontmatter `hasProjectContext: true` and track file path
4. Report to user: "Found existing project context with {number_of_rules} agent rules"
5. This file contains language-specific patterns, testing rules, and implementation guidelines that must be followed
<critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
**Loading Rules:**
- Load ALL discovered files completely (no offset/limit)
- For sharded folders, load ALL files to get complete picture
- For existing projects, use index.md as guide to what's relevant
- Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
- If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
- For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
- index.md is a guide to what's relevant whenever available
- Track all successfully loaded files in frontmatter `inputDocuments` array
#### B. Validate Required Inputs
@ -117,13 +89,13 @@ Before proceeding, verify we have the essential inputs:
- If no PRD found: "Architecture requires a PRD to work from. Please run the PRD workflow first or provide the PRD file path."
- Do NOT proceed without PRD
**Other Inputs:**
**Other Input that might exist:**
- UX Spec: "Provides UI/UX architectural requirements" (Optional)
- UX Spec: "Provides UI/UX architectural requirements"
#### C. Create Initial Document
Copy the template from `{installed_path}/architecture-decision-template.md` to `{output_folder}/architecture.md`
Copy the template from `{installed_path}/architecture-decision-template.md` to `{planning_artifacts}/architecture.md`
#### D. Complete Initialization and Report
@ -131,7 +103,7 @@ Complete setup and report to user:
**Document Setup:**
- Created: `{output_folder}/architecture.md` from template
- Created: `{planning_artifacts}/architecture.md` from template
- Initialized frontmatter with workflow state
**Input Documents Discovered:**
@ -141,7 +113,6 @@ Report what was found:
**Documents Found:**
- PRD: {number of PRD files loaded or "None found - REQUIRED"}
- Epics/Stories: {number of epic files loaded or "None found"}
- UX Design: {number of UX files loaded or "None found"}
- Research: {number of research files loaded or "None found"}
- Project docs: {number of project files loaded or "None found"}
@ -177,6 +148,6 @@ Ready to begin architectural decision making. Do you have any other documents yo
## NEXT STEP:
After user selects [C] to continue, load `./step-02-context.md` to analyze the project context and begin architectural decision making.
After user selects [C] to continue, only after ensuring all the template output has been created, then load `./step-02-context.md` to analyze the project context and begin architectural decision making.
Remember: Do NOT proceed to step-02 until user explicitly selects [C] from the menu and setup is confirmed!

View File

@ -185,7 +185,7 @@ Show the generated content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/architecture.md`
- Append the final content to `{planning_artifacts}/architecture.md`
- Update frontmatter: `stepsCompleted: [1, 2]`
- Load `./step-03-starter.md`

View File

@ -292,7 +292,7 @@ Show the generated content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/architecture.md`
- Append the final content to `{planning_artifacts}/architecture.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
- Load `./step-04-decisions.md`

View File

@ -279,7 +279,7 @@ Show the generated decisions content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/architecture.md`
- Append the final content to `{planning_artifacts}/architecture.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
- Load `./step-05-patterns.md`

View File

@ -320,7 +320,7 @@ Show the generated patterns content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/architecture.md`
- Append the final content to `{planning_artifacts}/architecture.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
- Load `./step-06-structure.md`

View File

@ -340,7 +340,7 @@ Show the generated project structure content and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/architecture.md`
- Append the final content to `{planning_artifacts}/architecture.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
- Load `./step-07-validation.md`

View File

@ -320,7 +320,7 @@ Show the validation results and present choices:
#### If 'C' (Continue):
- Append the final content to `{output_folder}/architecture.md`
- Append the final content to `{planning_artifacts}/architecture.md`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
- Load `./step-08-complete.md`

View File

@ -116,7 +116,7 @@ Provide specific next steps for implementation:
**Immediate Next Steps:**
1. **Review the complete architecture document** at `{output_folder}/architecture.md`
1. **Review the complete architecture document** at `{planning_artifacts}/architecture.md`
2. **Begin with project initialization** using the starter template command documented
3. **Create first implementation story** for project setup
4. **Start implementing user stories** following the architectural decisions
@ -151,7 +151,7 @@ Prepare the final content to append to the document:
**Architecture Decision Workflow:** COMPLETED ✅
**Total Steps Completed:** 8
**Date Completed:** {{current_date}}
**Document Location:** {output_folder}/architecture.md
**Document Location:** {planning_artifacts}/architecture.md
### Final Architecture Deliverables
@ -243,15 +243,15 @@ The chosen starter template and architectural patterns provide a production-read
**Save Final Document:**
- Ensure all content is properly appended to `{output_folder}/architecture.md`
- Ensure all content is properly appended to `{planning_artifacts}/architecture.md`
- Update frontmatter with completion status
- Verify document is complete and coherent
**Workflow Status Update:**
If not in standalone mode, update workflow status:
- Load `{output_folder}/bmm-workflow-status.yaml`
- Update workflow_status["create-architecture"] = "{output_folder}/architecture.md"
- Load `{planning_artifacts}/bmm-workflow-status.yaml`
- Update workflow_status["create-architecture"] = "{planning_artifacts}/architecture.md"
- Save file with all structure and comments preserved
### 6. Present Completion to User
@ -268,7 +268,7 @@ Your architecture for {{project_name}} is comprehensive, validated, and ready fo
- Implementation guidance for the development phase
**📍 Where to find it:**
`{output_folder}/architecture.md`
`{planning_artifacts}/architecture.md`
**🚀 What's next:**

View File

@ -94,7 +94,7 @@ Before proceeding, Ask the user if there are any other documents, or if what you
### 3. Extract Functional Requirements (FRs)
From the PRD document (full or sharded), extract ALL functional requirements:
From the PRD document (full or sharded), read then entire document and extract ALL functional requirements:
**Extraction Method:**

View File

@ -22,7 +22,7 @@ variables:
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking
epics_file: "{output_folder}/epics.md" # Enhanced epics+stories with BDD and source hints
prd_file: "{output_folder}/PRD.md" # Fallback for requirements (if not in epics file)
architecture_file: "{output_folder}/architecture.md" # Fallback for constraints (if not in epics file)
architecture_file: "{planning_artifacts}/architecture.md" # Fallback for constraints (if not in epics file)
ux_file: "{output_folder}/ux.md" # Fallback for UX requirements (if not in epics file)
story_title: "" # Will be elicited if not derivable

View File

@ -15,14 +15,6 @@ agent:
principles: Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools.
menu:
- 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"
- trigger: BS or brainstorm or fuzzy match on brainstorm
- trigger: BS or fuzzy match on brainstorm
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
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,6 @@ 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 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 solve
- trigger: PS or fuzzy match on problem-solving
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
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"
description: "[PS] Apply systematic problem-solving methodologies"

View File

@ -15,14 +15,6 @@ 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 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 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
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,6 @@ agent:
principles: Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.
menu:
- 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 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
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -23,38 +23,30 @@ agent:
- Story structure applies everywhere - hook, build tension, deliver payoff
menu:
- 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 fuzzy match on slide-deck
workflow: "todo"
description: "[SD] Create multi-slide presentation with professional layouts and visual hierarchy"
- trigger: EX or explainer or fuzzy match on explainer
- trigger: EX or fuzzy match on youtube-explainer
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 fuzzy match on pitch-deck
workflow: "todo"
description: "[PD] Craft investor pitch presentation with data visualization and narrative arc"
- trigger: TK or talk or fuzzy match on talk
- trigger: CT or fuzzy match on conference-talk
workflow: "todo"
description: "[TK] Build conference or workshop presentation materials with speaker notes"
description: "[CT] Build conference talk or workshop presentation materials with speaker notes"
- trigger: IN or infographic or fuzzy match on infographic
- trigger: IN or fuzzy match on infographic
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 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 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
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -20,14 +20,6 @@ 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 chat or fuzzy match on chat
action: agent responds as expert based on its persona to converse
description: "[CH] Chat with the Master Storyteller"
- trigger: ST or story or fuzzy match on story
- trigger: ST or fuzzy match on story
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
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "[PS] Consult with other expert agents from the party"

View File

@ -1,14 +1,14 @@
# Test: Compound trigger with mismatched kebab portions
# Test: Compound trigger with old format (no longer supported)
# Expected: FAIL
# Error code: custom
# Error path: agent.menu[0].trigger
# Error message: agent.menu[].trigger compound format error: kebab-case trigger mismatch: "tech-spec" vs "other-thing"
# Error message: agent.menu[].trigger compound format error: invalid compound trigger format
agent:
metadata:
id: compound-mismatched-kebab
name: Mismatched Kebab
title: Mismatched Kebab Test
name: Old Format
title: Old Format Test
icon: 🧪
persona:
@ -19,6 +19,6 @@ agent:
- Test principle
menu:
- trigger: TS or tech-spec or fuzzy match on other-thing
description: Kebab portions do not match
- trigger: TS or tech-spec or fuzzy match on tech-spec
description: Old format with middle kebab-case (no longer supported)
action: test

View File

@ -1,25 +0,0 @@
# Test: Module agent missing required module field
# Expected: FAIL
# Error code: custom
# Error path: agent.metadata.module
# Error message: module-scoped agents must declare agent.metadata.module
# Path context: src/modules/bmm/agents/module-agent-missing-module.agent.yaml
agent:
metadata:
id: bmm-missing-module
name: BMM Missing Module
title: Missing Module
icon:
persona:
role: Test agent
identity: Test identity
communication_style: Test style
principles:
- Test principle
menu:
- trigger: help
description: Show help
action: display_help

View File

@ -1,26 +0,0 @@
# Test: Module agent with wrong module value
# Expected: FAIL
# Error code: custom
# Error path: agent.metadata.module
# Error message: agent.metadata.module must equal "bmm"
# Path context: src/modules/bmm/agents/wrong-module-value.agent.yaml
agent:
metadata:
id: wrong-module
name: Wrong Module
title: Wrong Module
icon:
module: cis
persona:
role: Test agent
identity: Test identity
communication_style: Test style
principles:
- Test principle
menu:
- trigger: help
description: Show help
action: display_help

View File

@ -16,15 +16,15 @@ agent:
- Test compound format
menu:
- trigger: TS or tech-spec or fuzzy match on tech-spec
description: Two-word compound trigger
- trigger: TS or fuzzy match on tech-spec
description: "[TS] Two-word compound trigger"
action: tech_spec
- trigger: DS or dev-story or fuzzy match on dev-story
description: Another two-word compound trigger
- trigger: DS or fuzzy match on dev-story
description: "[DS] Another two-word compound trigger"
action: dev_story
- trigger: WI or workflow-init-process or fuzzy match on workflow-init-process
description: Three-word compound trigger (uses first 2 words for shortcut)
- trigger: WI or fuzzy match on workflow-init-process
description: "[WI] Three-word compound trigger (uses first 2 words for shortcut)"
action: workflow_init
- trigger: H or help or fuzzy match on help
description: Single-word compound trigger (1-letter shortcut)
- trigger: H or fuzzy match on help
description: "[H] Single-word compound trigger (1-letter shortcut)"
action: help

View File

@ -1,16 +1,13 @@
# Test: Core agent with unexpected module field
# Expected: FAIL
# Error code: custom
# Error path: agent.metadata.module
# Error message: core agents must not include agent.metadata.module
# Path context: src/core/agents/core-agent-with-module.agent.yaml
# Test: Core agent can have module field
# Expected: PASS
# Note: Core agents can now include module field if needed
agent:
metadata:
id: core-with-module
name: Core With Module
title: Core Agent
icon:
icon:
module: bmm
persona:

Some files were not shown because too many files have changed in this diff Show More