Compare commits

...

13 Commits

Author SHA1 Message Date
Mario Semper 69026037df
Merge 59608d360a into 4c65f3a006 2025-12-14 09:58:35 +02:00
Brian Madison 4c65f3a006 quick install fixed 2025-12-13 23:45:47 +08:00
Brian Madison 401e8e481c a few minor agent workflow main file cleanup actions 2025-12-13 23:04:54 +08:00
Brian Madison cba7cf223f standardize custom agent workflow and module output, and improve module folder selection 2025-12-13 22:59:58 +08:00
Brian Madison add789a408 remove unused code 2025-12-13 19:53:03 +08:00
Brian Madison ae9851acab _cfg -> _config 2025-12-13 19:41:09 +08:00
Brian Madison ac5fa5c23f agent customization now gets allied on quick update and compile agents 2025-12-13 19:23:02 +08:00
Brian Madison 8642553bd7 we only need one yaml lib 2025-12-13 18:35:07 +08:00
Brian Madison ce42d56fdd agent customzation almost working again 2025-12-13 17:50:33 +08:00
Brian Madison 25c79e3fe5 folder rename from .bmad to _bmad 2025-12-13 16:22:34 +08:00
Brian Madison 0c873638ab remove dead and unused functionality - the web bundler will be replaced 2025-12-13 14:08:14 +08:00
Brian Madison e6f911d791 remove dead and unused functionality - the web bundler will be replaced 2025-12-13 14:06:35 +08:00
Alex Verkhovsky f11be2b2e2
chore: disable CodeRabbit walkthrough (#1115)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-13 13:34:41 +08:00
417 changed files with 2770 additions and 7561 deletions

View File

@ -7,11 +7,11 @@ reviews:
high_level_summary: false # don't post summary until explicitly invoked
request_changes_workflow: false
review_status: false
commit_status: false # don't set commit status until explicitly invoked
collapse_walkthrough: false
commit_status: false
walkthrough: false
poem: false
auto_review:
enabled: false # must be manually triggered with @coderabbit review
enabled: false
drafts: true # Can review drafts. Since it's manually triggered, it's fine.
auto_incremental_review: false # always review the whole PR, not just new commits
base_branches:

8
.gitignore vendored
View File

@ -31,7 +31,7 @@ Thumbs.db
# IDE and editor configs
.windsurf/
.trae/
.bmad*/.cursor/
_bmad*/.cursor/
# AI assistant files
CLAUDE.md
@ -44,8 +44,8 @@ CLAUDE.local.md
.claude/settings.local.json
# Project-specific
.bmad-core
.bmad-creator-tools
_bmad-core
_bmad-creator-tools
test-project-install/*
sample-project/*
flattened-codebase.xml
@ -65,7 +65,7 @@ src/modules/bmgd/sub-modules/
shared-modules
z*/
.bmad
_bmad
.claude
.codex
.github/chatmodes

View File

@ -5,8 +5,8 @@ ignores:
- node_modules/**
- test/fixtures/**
- CODE_OF_CONDUCT.md
- .bmad/**
- .bmad*/**
- _bmad/**
- _bmad*/**
- .agent/**
- .claude/**
- .roo/**

View File

@ -5,5 +5,5 @@ test/fixtures/**
CODE_OF_CONDUCT.md
# BMAD runtime folders (user-specific, not in repo)
.bmad/
.bmad*/
_bmad/
_bmad*/

View File

@ -21,7 +21,6 @@
**Cleanup Changes:**
- **Example Modules Removal**: Temporarily removed example modules to prevent accidental installation
- **Hardcoded Path Cleanup**: Continued removal of hardcoded `.bmad` folder references from demo content
- **Memory Management**: Improved sidecar file handling for custom modules
### 📊 Statistics
@ -176,7 +175,6 @@
- Fixed version reading from package.json instead of hardcoded fallback
- Removed hardcoded years from WebSearch queries
- Removed broken build caching mechanism
- Fixed hardcoded '.bmad' prefix from files-manifest.csv paths
- Enhanced TTS injection summary with tracking and documentation
- Fixed CI nvmrc configuration issues

View File

@ -9,7 +9,7 @@ Customize BMad agents without modifying core files. All customizations persist t
After installation, find agent customization files in:
```
.bmad/_cfg/agents/
_bmad/_config/agents/
├── core-bmad-master.customize.yaml
├── bmm-dev.customize.yaml
├── bmm-pm.customize.yaml
@ -119,7 +119,7 @@ prompts:
**Example 1: Customize Developer Agent for TDD**
```yaml
# .bmad/_cfg/agents/bmm-dev.customize.yaml
# _bmad/_config/agents/bmm-dev.customize.yaml
agent:
metadata:
name: 'TDD Developer'
@ -135,20 +135,20 @@ critical_actions:
**Example 2: Add Custom Deployment Workflow**
```yaml
# .bmad/_cfg/agents/bmm-dev.customize.yaml
# _bmad/_config/agents/bmm-dev.customize.yaml
menu:
- trigger: deploy-staging
workflow: '{project-root}/.bmad/deploy-staging.yaml'
workflow: '{project-root}/_bmad/deploy-staging.yaml'
description: Deploy to staging environment
- trigger: deploy-prod
workflow: '{project-root}/.bmad/deploy-prod.yaml'
workflow: '{project-root}/_bmad/deploy-prod.yaml'
description: Deploy to production (with approval)
```
**Example 3: Multilingual Product Manager**
```yaml
# .bmad/_cfg/agents/bmm-pm.customize.yaml
# _bmad/_config/agents/bmm-pm.customize.yaml
persona:
role: 'Bilingual Product Manager'
identity: 'Expert in US and LATAM markets'
@ -166,15 +166,15 @@ memories:
- **Start Small:** Customize one section at a time and rebuild to test
- **Backup:** Copy customization files before major changes
- **Update-Safe:** Your customizations in `_cfg/` survive all BMad updates
- **Update-Safe:** Your customizations in `_config/` survive all BMad updates
- **Per-Project:** Customization files are per-project, not global
- **Version Control:** Consider committing `_cfg/` to share customizations with your team
- **Version Control:** Consider committing `_config/` to share customizations with your team
## Module vs. Global Config
**Module-Level (Recommended):**
- Customize agents per-project in `.bmad/_cfg/agents/`
- Customize agents per-project in `_bmad/_config/agents/`
- Different projects can have different agent behaviors
**Global Config (Coming Soon):**
@ -203,6 +203,6 @@ memories:
## Next Steps
- **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about all 12 BMad Method agents
- **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about the BMad Method agents
- **[BMB Create Agent Workflow](../src/modules/bmb/workflows/create-agent/README.md)** - Build completely custom agents
- **[BMM Complete Documentation](../src/modules/bmm/docs/README.md)** - Full BMad Method reference

View File

@ -135,7 +135,7 @@ The installer presents a unified selection interface:
## Agent Sidecar Support
Agents with sidecar content can store personal data, memories, and working files outside of the `.bmad` directory. This separation keeps personal content separate from BMAD's core files.
Agents with sidecar content can store personal data, memories, and working files outside of the `_bmad` directory. This separation keeps personal content separate from BMAD's core files.
### What is Sidecar Content?
@ -152,7 +152,7 @@ The sidecar folder location is configured during BMAD core installation:
```
? Where should users' agent sidecar memory folders be stored?
.bmad-user-memory
_bmad-user-memory
```
### How It Works
@ -160,7 +160,7 @@ The sidecar folder location is configured during BMAD core installation:
1. **Agent Declaration**: Agents declare `hasSidecar: true` in their metadata
2. **Sidecar Detection**: The installer automatically detects folders with "sidecar" in the name
3. **Installation**: Sidecar content is copied to the configured location
4. **Path Replacement**: The `{agent_sidecar_folder}` placeholder in agent configurations is replaced with the actual path to the installed instance of the sidecar folder. Now when you use the agent, depending on its design, will use the content in sidecar to record interactions, remember things you tell it, or serve a host of many other issues.
4. **Path Replacement**: The `{bmad_memory}` placeholder in agent configurations is replaced with the actual path to the installed instance of the sidecar folder. Now when you use the agent, depending on its design, will use the content in sidecar to record interactions, remember things you tell it, or serve a host of many other issues.
### Example Structure
@ -175,7 +175,7 @@ my-agent/
### Git Integration
Since sidecar content is stored outside the `.bmad` directory (and typically outside version control), users can:
Since sidecar content is stored outside the `_bmad` directory (and typically outside version control), users can:
- Add the sidecar folder to `.gitignore` to exclude personal data
- Share agent definitions without exposing personal content
@ -185,7 +185,7 @@ Example `.gitignore` entry:
```
# Exclude agent personal data
.bmad-user-memory/
_bmad-user-memory/
```
## Creating Custom Content with BMAD Builder
@ -232,7 +232,7 @@ Custom content can be distributed:
- Ensure the agent has `hasSidecar: true` in metadata
- Check that sidecar folders contain "sidecar" in the name
- Verify the agent_sidecar_folder configuration
- Verify the bmad_memory configuration
- Ensure the custom agent has proper language in it to actually use the sidecar content, including loading memories on agent load.
## Support

View File

@ -7,7 +7,7 @@ BMAD agents are installed as commands in `.crush/commands/bmad/`.
### How to Use
1. **Open Command Palette**: Use Crush command interface
2. **Navigate**: Browse to `.bmad/{module}/agents/`
2. **Navigate**: Browse to `_bmad/{module}/agents/`
3. **Select Agent**: Choose the agent command
4. **Execute**: Run to activate agent persona

View File

@ -6,20 +6,20 @@ BMAD agents are installed in `.cursor/rules/bmad/` as MDC rules.
### How to Use
1. **Reference in Chat**: Use `@.bmad/{module}/agents/{agent-name}`
2. **Include Entire Module**: Use `@.bmad/{module}`
3. **Reference Index**: Use `@.bmad/index` for all available agents
1. **Reference in Chat**: Use `@_bmad/{module}/agents/{agent-name}`
2. **Include Entire Module**: Use `@_bmad/{module}`
3. **Reference Index**: Use `@_bmad/index` for all available agents
### Examples
```
@.bmad/core/agents/dev - Activate dev agent
@.bmad/bmm/agents/architect - Activate architect agent
@.bmad/core - Include all core agents/tasks
@_bmad/core/agents/dev - Activate dev agent
@_bmad/bmm/agents/architect - Activate architect agent
@_bmad/core - Include all core agents/tasks
```
### Notes
- Rules are Manual type - only loaded when explicitly referenced
- No automatic context pollution
- Can combine multiple agents: `@.bmad/core/agents/dev @.bmad/core/agents/test`
- Can combine multiple agents: `@_bmad/core/agents/dev @_bmad/core/agents/test`

View File

@ -7,7 +7,7 @@ BMAD agents are installed as commands in `.iflow/commands/bmad/`.
### How to Use
1. **Access Commands**: Use iFlow command interface
2. **Navigate**: Browse to `.bmad/agents/` or `.bmad/tasks/`
2. **Navigate**: Browse to `_bmad/agents/` or `_bmad/tasks/`
3. **Select**: Choose the agent or task command
4. **Execute**: Run to activate
@ -22,8 +22,8 @@ BMAD agents are installed as commands in `.iflow/commands/bmad/`.
### Examples
```
/.bmad/agents/core-dev - Activate dev agent
/.bmad/tasks/core-setup - Execute setup task
/_bmad/agents/core-dev - Activate dev agent
/_bmad/tasks/core-setup - Execute setup task
```
### Notes

View File

@ -14,7 +14,7 @@ BMAD agents are installed as OpenCode agents in `.opencode/agent/BMAD/{module_na
```
/agents - to see a list of agents and switch between them
/.bmad/bmm/workflows/workflow-init - Activate the workflow-init command
/_bmad/bmm/workflows/workflow-init - Activate the workflow-init command
```
### Notes

View File

@ -55,7 +55,7 @@ project-root/
│ ├── config.yml (Rovo Dev configuration)
│ ├── prompts.yml (Optional: reusable prompts)
│ └── ...
├── .bmad/ (BMAD installation directory)
├── _bmad/ (BMAD installation directory)
└── ...
```

View File

@ -158,7 +158,7 @@ src/modules/bmm/
```yaml
injections:
- file: '.bmad/bmm/agents/pm.md'
- file: '_bmad/bmm/agents/pm.md'
point: 'pm-agent-instructions'
requires: 'any' # Injected if ANY subagent is selected
content: |
@ -166,7 +166,7 @@ injections:
<i>Use 'market-researcher' subagent for analysis</i>
</llm>
- file: '.bmad/bmm/templates/prd.md'
- file: '_bmad/bmm/templates/prd.md'
point: 'prd-goals-context-delegation'
requires: 'market-researcher' # Only if this specific subagent selected
content: |

View File

@ -19,7 +19,7 @@ BMad Core is a modular AI agent framework with intelligent installation, platfor
- **Modular Design**: Core + optional modules (BMB, BMM, CIS)
- **Smart Installation**: Interactive configuration with dependency resolution
- **Clean Architecture**: Centralized `.bmad` directory add to project, no source pollution with multiple folders added
- **Clean Architecture**: Centralized `_bmad` directory add to project, no source pollution with multiple folders added
## Architecture
@ -27,8 +27,8 @@ BMad Core is a modular AI agent framework with intelligent installation, platfor
```
project-root/
├── .bmad/ # Centralized installation
│ ├── _cfg/ # Configuration
├── _bmad/ # Centralized installation
│ ├── _config/ # Configuration
│ │ ├── agents/ # Agent configs
│ │ └── agent-manifest.csv # Agent manifest
│ ├── core/ # Core module
@ -185,7 +185,7 @@ Cline, Roo, Rovo Dev,Auggie, GitHub Copilot, Codex, Gemini, Qwen, Trae, Kilo, Cr
```yaml
injections:
- file: '.bmad/bmm/agents/pm.md'
- file: '_bmad/bmm/agents/pm.md'
point: 'pm-agent-instructions'
content: |
<i>Platform-specific instruction</i>
@ -265,7 +265,7 @@ Extractable config nodes:
</agent>
```
Generated in: `bmad/_cfg/agents/{module}-{agent}.md`
Generated in: `bmad/_config/agents/{module}-{agent}.md`
## Troubleshooting
@ -273,9 +273,9 @@ Generated in: `bmad/_cfg/agents/{module}-{agent}.md`
| Issue | Solution |
| ----------------------- | ------------------------------------ |
| Existing installation | Use `bmad update` or remove `.bmad/` |
| Existing installation | Use `bmad update` or remove `_bmad/` |
| Module not found | Check `src/modules/` exists |
| Config not applied | Verify `.bmad/{module}/config.yaml` |
| Config not applied | Verify `_bmad/{module}/config.yaml` |
| Missing config.yaml | Fixed: All modules now get configs |
| Agent unavailable | Check for `localskip="true"` |
| module-installer copied | Fixed: Now excluded from copy |
@ -290,7 +290,7 @@ bmad status -v # Detailed status
### Best Practices
1. Run from project root
2. Backup `.bmad/_cfg/` before updates
2. Backup `_bmad/_config/` before updates
3. Use interactive mode for guidance
4. Review generated configs post-install
@ -298,7 +298,7 @@ bmad status -v # Detailed status
| v4 | v6 |
| ------------------- | -------------------- |
| Scattered files | Centralized `.bmad/` |
| Scattered files | Centralized `_bmad/` |
| Monolithic | Modular |
| Manual config | Interactive setup |
| Limited IDE support | 15+ platforms |
@ -327,8 +327,8 @@ Agents can specify both `workflow` (source location) and `workflow-install` (des
```yaml
menu:
- trigger: create-story
workflow: '{project-root}/.bmad/bmm/workflows/4-implementation/create-story/workflow.yaml'
workflow-install: '{project-root}/.bmad/bmgd/workflows/4-production/create-story/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml'
workflow-install: '{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml'
description: 'Create a game feature story'
```
@ -348,10 +348,10 @@ menu:
```yaml
# Source workflow (in bmm):
config_source: "{project-root}/.bmad/bmm/config.yaml"
config_source: "{project-root}/_bmad/bmm/config.yaml"
# Vendored workflow (in bmgd):
config_source: "{project-root}/.bmad/bmgd/config.yaml"
config_source: "{project-root}/_bmad/bmgd/config.yaml"
```
**Result**: Modules become completely standalone with their own copies of needed workflows, configured for their specific use case.

View File

@ -10,14 +10,14 @@ BMad v6 represents a complete ground-up rewrite with significant architectural c
When you run `npm run install:bmad` on a project with v4 installed, the installer automatically detects:
- **Legacy folders**: Any folders starting with `.bmad`, `bmad` (lowercase), or `Bmad`
- **Legacy folders**: Any folders starting with `_bmad`, `bmad` (lowercase), or `Bmad`
- **IDE command artifacts**: Legacy bmad folders in IDE configuration directories (`.claude/commands/`, `.cursor/commands/`, etc.)
### What Happens During Detection
1. **Automatic Backup of v4 Modules**: All `.bmad-*` folders are moved to `v4-backup/` in your project root
1. **Automatic Backup of v4 Modules**: All `_bmad-*` folders are moved to `v4-backup/` in your project root
- If a backup already exists, a timestamp is added to avoid conflicts
- Example: `.bmad-core` → `v4-backup/.bmad-core`
- Example: `_bmad-core` → `v4-backup/_bmad-core`
- Your project files and data are NOT affected
2. **IDE Command Cleanup Recommended**: Legacy v4 IDE commands should be manually removed
@ -34,12 +34,12 @@ When you run `npm run install:bmad` on a project with v4 installed, the installe
| v4 Module | v6 Status |
| ----------------------------- | ------------------------------------------------ |
| `.bmad-2d-phaser-game-dev` | Integrated into BMM |
| `.bmad-2d-unity-game-dev` | Integrated into BMM |
| `.bmad-godot-game-dev` | Integrated into BMM |
| `.bmad-*-game-dev` (any) | Integrated into BMM |
| `.bmad-infrastructure-devops` | Deprecated - New core devops agent coming in BMM |
| `.bmad-creative-writing` | Not adapted - New module releasing soon |
| `_bmad-2d-phaser-game-dev` | Integrated into BMM |
| `_bmad-2d-unity-game-dev` | Integrated into BMM |
| `_bmad-godot-game-dev` | Integrated into BMM |
| `_bmad-*-game-dev` (any) | Integrated into BMM |
| `_bmad-infrastructure-devops` | Deprecated - New core devops agent coming in BMM |
| `_bmad-creative-writing` | Not adapted - New module releasing soon |
**Game Development**: All game development functionality has been consolidated and expanded within the BMM (BMad Method) module. Game-specific workflows now adapt to your game type and engine.
@ -53,30 +53,30 @@ When you run `npm run install:bmad` on a project with v4 installed, the installe
```
your-project/
├── .bmad-core/ # Was actually the BMad Method
├── .bmad-game-dev/ # Separate expansion packs
├── .bmad-creative-writing/
└── .bmad-infrastructure-devops/
├── _bmad-core/ # Was actually the BMad Method
├── _bmad-game-dev/ # Separate expansion packs
├── _bmad-creative-writing/
└── _bmad-infrastructure-devops/
```
**v6 Unified Structure:**
```
your-project/
└── .bmad/ # Single installation folder, default .bmad
└── _bmad/ # Single installation folder, default _bmad
├── core/ # Real core framework (applies to all modules)
├── bmm/ # BMad Method (software/game dev)
├── bmb/ # BMad Builder (create agents/workflows)
├── cis/ # Creative Intelligence Suite
└── _cfg/ # Your customizations
└── _config/ # Your customizations
└── agents/ # Agent customization files
```
### Key Concept Changes
- **v4 `.bmad-core`**: Was actually the BMad Method
- **v6 `.bmad/core/`**: Is the real universal core framework
- **v6 `.bmad/bmm/`**: Is the BMad Method module
- **v4 `_bmad-core`**: Was actually the BMad Method
- **v6 `_bmad/core/`**: Is the real universal core framework
- **v6 `_bmad/bmm/`**: Is the BMad Method module
- **Module identification**: All modules now have a `config.yaml` file
---
@ -110,15 +110,15 @@ After running the v6 installer:
### v4 Agent Customization
In v4, you may have modified agent files directly in `.bmad-*` folders.
In v4, you may have modified agent files directly in `_bmad-*` folders.
### v6 Agent Customization
**All customizations** now go in `.bmad/_cfg/agents/` using customize files:
**All customizations** now go in `_bmad/_config/agents/` using customize files:
**Example: Renaming an agent and changing communication style**
File: `.bmad/_cfg/agents/bmm-pm.customize.yaml`
File: `_bmad/_config/agents/bmm-pm.customize.yaml`
```yaml
# Customize the PM agent
@ -133,8 +133,8 @@ persona:
**How it works:**
- Base agent: `.bmad/bmm/agents/pm.md`
- Customization: `.bmad/_cfg/agents/bmm-pm.customize.yaml`
- Base agent: `_bmad/bmm/agents/pm.md`
- Customization: `_bmad/_config/agents/bmm-pm.customize.yaml`
- Result: Agent uses your custom name and style, but updates don't overwrite your changes
---
@ -176,7 +176,7 @@ npx bmad-method install
The installer will:
1. Detect v4 installation and offer to backup `.bmad-*` folders
1. Detect v4 installation and offer to backup `_bmad-*` folders
2. Prompt for recommended cleanup (you can skip)
3. Let you select modules (recommend: BMM for software and or game development)
4. Configure core settings (name, language, etc.)
@ -212,9 +212,9 @@ Since you are migrating an existing project from v4, it's most likely **Level 3
## Post-Migration Checklist
- [ ] v4 folders backed up to `v4-backup/`
- [ ] v6 installed to `.bmad/` folder
- [ ] v6 installed to `_bmad/` folder
- [ ] `workflow-init` run with correct project level selected
- [ ] Agent customizations migrated to `.bmad/_cfg/agents/` if needed
- [ ] Agent customizations migrated to `_bmad/_config/agents/` if needed
- [ ] IDE integration working (test by listing agents)
- [ ] For active development: `sprint-planning` workflow executed
@ -224,4 +224,4 @@ Since you are migrating an existing project from v4, it's most likely **Level 3
- **Discord**: [Join the BMad Community](https://discord.gg/gk8jAdXWmj)
- **Issues**: [GitHub Issue Tracker](https://github.com/bmad-code-org/BMAD-METHOD/issues)
- **Docs**: Check `.bmad/docs/` in your installation for IDE-specific instructions
- **Docs**: Check `_bmad/docs/` in your installation for IDE-specific instructions

View File

@ -336,7 +336,7 @@ Agents adapt their menus based on project phase and available workflows.
Customize agents using the [Agent Customization Guide](./agent-customization-guide.md):
1. Edit `.bmad/_cfg/agents/<agent>.customize.yaml`
1. Edit `_bmad/_config/agents/<agent>.customize.yaml`
2. Rebuild: `npx bmad-method build <agent-name>`
3. Generate bundles: `npm run bundle`

View File

@ -16,8 +16,8 @@ export default [
'test/template-test-generator/**/*.md',
'test/fixtures/**',
'test/fixtures/**/*.yaml',
'.bmad/**',
'.bmad*/**',
'_bmad/**',
'_bmad*/**',
// Gitignored patterns
'z*/**', // z-samples, z1, z2, etc.
'.claude/**',

View File

@ -3,7 +3,7 @@
agent:
metadata:
id: ".bmad/core/agents/bmad-master.md"
id: "_bmad/core/agents/bmad-master.md"
name: "BMad Master"
title: "BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator"
icon: "🧙"
@ -17,23 +17,22 @@ agent:
# Agent-specific critical actions
critical_actions:
- "Load into memory {project-root}/.bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language"
- "Load into memory {project-root}/_bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language"
- "Remember the users name is {user_name}"
- "ALWAYS communicate in {communication_language}"
# Agent menu items
menu:
- trigger: "list-tasks"
action: "list all tasks from {project-root}/.bmad/_cfg/task-manifest.csv"
action: "list all tasks from {project-root}/_bmad/_config/task-manifest.csv"
description: "List Available Tasks"
- trigger: "list-workflows"
action: "list all workflows from {project-root}/.bmad/_cfg/workflow-manifest.csv"
action: "list all workflows from {project-root}/_bmad/_config/workflow-manifest.csv"
description: "List Workflows"
- trigger: "party-mode"
exec: "{project-root}/.bmad/core/workflows/party-mode/workflow.md"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Group chat with all agents"
# Empty prompts section (no custom prompts for this agent)
prompts: []

View File

@ -1,113 +0,0 @@
<agent id=".bmad/core/agents/bmad-orchestrator.md" name="BMad Orchestrator" title="BMad Web Orchestrator" icon="🎭" localskip="true">
<activation critical="MANDATORY">
<step n="1">Load this complete web bundle XML - you are the BMad Orchestrator, first agent in this bundle</step>
<step n="2">CRITICAL: This bundle contains ALL agents as XML nodes with id=".bmad/..." and ALL workflows/tasks as nodes findable
by type
and id</step>
<step n="3">Greet user as BMad Orchestrator and display numbered list of ALL menu items from menu section below</step>
<step n="4">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="5">On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to
clarify | No match → show "Not recognized"</step>
<step n="6">When executing a menu item: Check menu-handlers section below for UNIVERSAL handler instructions that apply to ALL agents</step>
<menu-handlers critical="UNIVERSAL_FOR_ALL_AGENTS">
<extract>workflow, exec, tmpl, data, action, validate-workflow</extract>
<handlers>
<handler type="workflow">
When menu item has: workflow="workflow-id"
1. Find workflow node by id in this bundle (e.g., &lt;workflow id="workflow-id"&gt;)
2. CRITICAL: Always LOAD .bmad/core/tasks/workflow.xml if referenced
3. Execute the workflow content precisely following all steps
4. Save outputs after completing EACH workflow step (never batch)
5. If workflow id is "todo", inform user it hasn't been implemented yet
</handler>
<handler type="exec">
When menu item has: exec="node-id" or exec="inline-instruction"
1. If value looks like a path/id → Find and execute node with that id
2. If value is text → Execute as direct instruction
3. Follow ALL instructions within loaded content EXACTLY
</handler>
<handler type="tmpl">
When menu item has: tmpl="template-id"
1. Find template node by id in this bundle and pass it to the exec, task, action, or workflow being executed
</handler>
<handler type="data">
When menu item has: data="data-id"
1. Find data node by id in this bundle
2. Parse according to node type (json/yaml/xml/csv)
3. Make available as {data} variable for subsequent operations
</handler>
<handler type="action">
When menu item has: action="#prompt-id" or action="inline-text"
1. If starts with # → Find prompt with matching id in current agent
2. Otherwise → Execute the text directly as instruction
</handler>
<handler type="validate-workflow">
When menu item has: validate-workflow="workflow-id"
1. MUST LOAD .bmad/core/tasks/validate-workflow.xml
2. Execute all validation instructions from that file
3. Check workflow's validation property for schema
4. Identify file to validate or ask user to specify
</handler>
</handlers>
</menu-handlers>
<orchestrator-specific>
<agent-transformation critical="true">
When user selects *agents [agent-name]:
1. Find agent XML node with matching name/id in this bundle
2. Announce transformation: "Transforming into [agent name]... 🎭"
3. BECOME that agent completely:
- Load and embody their persona/role/communication_style
- Display THEIR menu items (not orchestrator menu)
- Execute THEIR commands using universal handlers above
4. Stay as that agent until user types *exit
5. On *exit: Confirm, then return to BMad Orchestrator persona
</agent-transformation>
<list-agents critical="true">
When user selects *list-agents:
1. Scan all agent nodes in this bundle
2. Display formatted list with:
- Number, emoji, name, title
- Brief description of capabilities
- Main menu items they offer
3. Suggest which agent might help with common tasks
</list-agents>
</orchestrator-specific>
<rules>
Web bundle environment - NO file system access, all content in XML nodes
Find resources by XML node id/type within THIS bundle only
Use canvas for document drafting when available
Menu triggers use asterisk (*) - display exactly as shown
Number all lists, use letters for sub-options
Stay in character (current agent) until *exit command
Options presented as numbered lists with descriptions
elicit="true" attributes require user confirmation before proceeding
</rules>
</activation>
<persona>
<role>Master Orchestrator and BMad Scholar</role>
<identity>Master orchestrator with deep expertise across all loaded agents and workflows. Technical brilliance balanced with
approachable communication.</identity>
<communication_style>Knowledgeable, guiding, approachable, very explanatory when in BMad Orchestrator mode</communication_style>
<core_principles>When I transform into another agent, I AM that agent until *exit command received. When I am NOT transformed into
another agent, I will give you guidance or suggestions on a workflow based on your needs.</core_principles>
</persona>
<menu>
<item cmd="*help">Show numbered command list</item>
<item cmd="*list-agents">List all available agents with their capabilities</item>
<item cmd="*agents [agent-name]">Transform into a specific agent</item>
<item cmd="*party-mode" exec=".bmad/core/workflows/party-mode/workflow.md">Enter group chat with all agents
simultaneously</item>
<item cmd="*advanced-elicitation" task=".bmad/core/tasks/advanced-elicitation.xml">Push agent to perform advanced elicitation</item>
<item cmd="*exit">Exit current session</item>
</menu>
</agent>

View File

@ -1,32 +1,30 @@
code: core
name: "BMAD™ Core Module"
header: "BMAD™ Core Configuration"
subheader: "Configure the core settings for your BMAD™ installation.\nThese settings will be used across all modules and agents."
user_name:
prompt: "What shall the agents call you?"
prompt: "What shall the agents call you (TIP: Use a team name if using with a group)?"
default: "BMad"
result: "{value}"
communication_language:
prompt: "Preferred Chat Language/Style? (English, Mandarin, English Pirate, etc...)"
prompt: "Preferred chat language/style? (English, Mandarin, English Pirate, etc...)"
default: "English"
result: "{value}"
document_output_language:
prompt: "Preferred Document Output Language?"
prompt: "Preferred document output language?"
default: "{communication_language}"
result: "{value}"
agent_sidecar_folder:
prompt: "Where should users agent sidecar memory folders be stored?"
default: ".bmad-user-memory"
result: "{project-root}/{value}"
output_folder:
prompt: "Where should AI Generated Artifacts be saved across all modules?"
default: "docs"
prompt: "Where should default output files be saved unless specified in other modules?"
default: "_bmad-output"
result: "{project-root}/{value}"
install_user_docs:
prompt: "Install user documentation and optimized agent intelligence to each selected modules docs folder?"
default: true
result: "{value}"
bmad_memory:
prompt: "Some agents will record their own memories and history. Where should these be stored?"
default: "_bmad/_memory"
result: "{project-root}/{value}"

View File

@ -72,8 +72,8 @@ Provides the **HOW** (universal knowledge) while agents provide the **WHAT** (do
```yaml
# workflows/diagrams/create-flowchart/workflow.yaml
helpers: '{project-root}/.bmad/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/.bmad/core/resources/excalidraw/validate-json-instructions.md'
helpers: '{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md'
```
**Domain-specific additions:**
@ -99,8 +99,8 @@ flowchart:
```yaml
# workflows/create-visual-metaphor/workflow.yaml
helpers: '{project-root}/.bmad/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/.bmad/core/resources/excalidraw/validate-json-instructions.md'
helpers: '{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md'
```
**Domain-specific additions:**

View File

@ -1,6 +1,6 @@
<task id=".bmad/core/tasks/advanced-elicitation.xml" name="Advanced Elicitation" standalone="true"
methods="{project-root}/.bmad/core/tasks/advanced-elicitation-methods.csv"
agent-party="{project-root}/.bmad/_cfg/agent-manifest.csv">
<task id="_bmad/core/tasks/advanced-elicitation.xml" name="Advanced Elicitation" standalone="true"
methods="{project-root}/_bmad/core/tasks/advanced-elicitation-methods.csv"
agent-party="{project-root}/_bmad/_config/agent-manifest.csv">
<llm critical="true">
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
<i>DO NOT skip steps or change the sequence</i>

View File

@ -1,4 +1,4 @@
<task id=".bmad/core/tasks/index-docs" name="Index Docs"
<task id="_bmad/core/tasks/index-docs" name="Index Docs"
description="Generates or updates an index.md of all documents in the specified directory" webskip="true" standalone="true">
<llm critical="true">
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>

View File

@ -1,4 +1,4 @@
<task id=".bmad/core/tasks/validate-workflow.xml" name="Validate Workflow Output">
<task id="_bmad/core/tasks/validate-workflow.xml" name="Validate Workflow Output">
<objective>Run a checklist against a document with thorough analysis and produce a validation report</objective>
<inputs>

View File

@ -1,4 +1,4 @@
<task id=".bmad/core/tasks/workflow.xml" name="Execute Workflow">
<task id="_bmad/core/tasks/workflow.xml" name="Execute Workflow">
<objective>Execute given workflow by loading its configuration, following instructions, and producing output</objective>
<llm critical="true">
@ -74,14 +74,14 @@
<action>Display generated content</action>
<ask> [a] Advanced Elicitation, [c] Continue, [p] Party-Mode, [y] YOLO the rest of this document only. WAIT for response. <if
response="a">
<action>Start the advanced elicitation workflow {project-root}/.bmad/core/tasks/advanced-elicitation.xml</action>
<action>Start the advanced elicitation workflow {project-root}/_bmad/core/tasks/advanced-elicitation.xml</action>
</if>
<if
response="c">
<action>Continue to next step</action>
</if>
<if response="p">
<action>Start the party-mode workflow {project-root}/.bmad/core/workflows/party-mode/workflow.yaml</action>
<action>Start the party-mode workflow {project-root}/_bmad/core/workflows/party-mode/workflow.yaml</action>
</if>
<if
response="y">
@ -225,7 +225,7 @@
<critical-rules>
• This is the complete workflow execution engine
• You MUST Follow instructions exactly as written
• The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml
• The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml
• You MUST have already loaded and processed: {installed_path}/workflow.yaml
• This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context
• YOU ARE FACILITATING A CONVERSATION With a user to produce a final document step by step. The whole process is meant to be

View File

@ -1,4 +1,4 @@
<tool id=".bmad/core/tasks/shard-doc" name="Shard Document"
<tool id="_bmad/core/tasks/shard-doc" name="Shard Document"
description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections" webskip="true"
standalone="true">
<objective>Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool</objective>
@ -64,12 +64,12 @@
<ask>What would you like to do with the original document `[source-document-name]`?
Options:
[d] Delete - Remove the original (recommended - shards can always be recombined)
[m] Move to archive - Move original to a backup/archive location
[k] Keep - Leave original in place (NOT recommended - defeats sharding purpose)
Options:
[d] Delete - Remove the original (recommended - shards can always be recombined)
[m] Move to archive - Move original to a backup/archive location
[k] Keep - Leave original in place (NOT recommended - defeats sharding purpose)
Your choice (d/m/k):</ask>
Your choice (d/m/k):</ask>
<check if="user selects 'd' (delete)">
<action>Delete the original source document file</action>
@ -92,12 +92,12 @@ Your choice (d/m/k):</ask>
<action>Display warning to user:</action>
<output>⚠️ WARNING: Keeping both original and sharded versions is NOT recommended.
This creates confusion because:
- The discover_inputs protocol may load the wrong version
- Updates to one won't reflect in the other
- You'll have duplicate content taking up space
This creates confusion because:
- The discover_inputs protocol may load the wrong version
- Updates to one won't reflect in the other
- You'll have duplicate content taking up space
Consider deleting or archiving the original document.</output>
Consider deleting or archiving the original document.</output>
<action>Confirm user choice: "Original document kept at: [source-document-path]"</action>
</check>
</step>
@ -106,4 +106,4 @@ Consider deleting or archiving the original document.</output>
<halt-conditions critical="true">
<i>HALT if npx command fails or produces no output files</i>
</halt-conditions>
</tool>
</tool>

View File

@ -28,7 +28,7 @@ This uses **micro-file architecture** for disciplined execution:
### Configuration Loading
Load config from `{project-root}/.bmad/core/config.yaml` and resolve:
Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- `project_name`, `output_folder`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level`
@ -36,7 +36,7 @@ Load config from `{project-root}/.bmad/core/config.yaml` and resolve:
### Paths
- `installed_path` = `{project-root}/.bmad/core/workflows/brainstorming`
- `installed_path` = `{project-root}/_bmad/core/workflows/brainstorming`
- `template_path` = `{installed_path}/template.md`
- `brain_techniques_path` = `{installed_path}/brain-methods.csv`
- `default_output_file` = `{output_folder}/analysis/brainstorming-session-{{date}}.md`

View File

@ -18,7 +18,7 @@
## CONTEXT BOUNDARIES:
- Agent manifest CSV is available at `{project-root}/.bmad/_cfg/agent-manifest.csv`
- Agent manifest CSV is available at `{project-root}/_bmad/_config/agent-manifest.csv`
- User configuration from config.yaml is loaded and resolved
- Party mode is standalone interactive workflow
- All agent data is available for conversation orchestration
@ -37,7 +37,7 @@ Begin agent loading process:
**Agent Manifest Loading:**"
Load and parse the agent manifest CSV from `{project-root}/.bmad/_cfg/agent-manifest.csv`
Load and parse the agent manifest CSV from `{project-root}/_bmad/_config/agent-manifest.csv`
### 2. Extract Agent Data

View File

@ -27,17 +27,17 @@ This uses **micro-file architecture** with **sequential conversation orchestrati
### Configuration Loading
Load config from `{project-root}/.bmad/core/config.yaml` and resolve:
Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- `project_name`, `output_folder`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level`
- `date` as a system-generated value
- Agent manifest path: `{project-root}/.bmad/_cfg/agent-manifest.csv`
- Agent manifest path: `{project-root}/_bmad/_config/agent-manifest.csv`
### Paths
- `installed_path` = `{project-root}/.bmad/core/workflows/party-mode`
- `agent_manifest_path` = `{project-root}/.bmad/_cfg/agent-manifest.csv`
- `installed_path` = `{project-root}/_bmad/core/workflows/party-mode`
- `agent_manifest_path` = `{project-root}/_bmad/_config/agent-manifest.csv`
- `standalone_mode` = `true` (party mode is an interactive workflow)
---

View File

@ -18,30 +18,19 @@ Specialized tools and workflows for creating, customizing, and extending BMad co
**BMad Builder** - Master builder agent orchestrating all creation workflows with deep knowledge of BMad architecture and conventions.
- Location: `.bmad/bmb/agents/bmad-builder.md`
- Location: `_bmad/bmb/agents/bmad-builder.md`
### 📋 Workflows
**Active Workflows** (Step-File Architecture)
- Location: `bmb/workflows/create-agent/`
- 5 core workflows with 41 step files total
- Template-based execution with JIT loading
**Legacy Workflows** (Being Migrated)
- Location: `bmb/workflows/create-agent-legacy/`
- Module-specific workflows pending conversion to step-file architecture
### 📚 Documentation
- Location: `src/modules/bmb/docs/`
- Location: `./docs/`
- Comprehensive guides for agents and workflows
- Architecture patterns and best practices
### 🔍 Reference Materials
- Location: `src/modules/bmb/reference/`
- Location: `./reference/`
- Working examples of agents and workflows
- Template patterns and implementation guides

View File

@ -20,10 +20,10 @@ async function install(options) {
try {
logger.log(chalk.blue('🔧 Setting up BMB Module...'));
// Generate custom.yaml in custom_stand_alone_location
if (config['custom_stand_alone_location']) {
// Generate custom.yaml in bmb_creations_output_folder
if (config['bmb_creations_output_folder']) {
// The config value contains {project-root} which needs to be resolved
const rawLocation = config['custom_stand_alone_location'];
const rawLocation = config['bmb_creations_output_folder'];
const customLocation = rawLocation.replace('{project-root}', projectRoot);
const customDestPath = path.join(customLocation, 'custom.yaml');
@ -49,8 +49,8 @@ default_selected: true
}
// Set up custom module location if configured
if (config['custom_module_location']) {
const rawModuleLocation = config['custom_module_location'];
if (config['bmb_creations_output_folder']) {
const rawModuleLocation = config['bmb_creations_output_folder'];
const moduleLocation = rawModuleLocation.replace('{project-root}', projectRoot);
logger.log(chalk.cyan(` Setting up custom modules at: ${moduleLocation}`));

View File

@ -4,7 +4,7 @@
agent:
webskip: true
metadata:
id: ".bmad/bmb/agents/bmad-builder.md"
id: "_bmad/bmb/agents/bmad-builder.md"
name: BMad Builder
title: BMad Builder
icon: 🧙
@ -24,26 +24,26 @@ agent:
discussion: true
conversational_knowledge:
- agents: "{project-root}/.bmad/bmb/docs/agents/kb.csv"
- workflows: "{project-root}/.bmad/bmb/docs/workflows/kb.csv"
- modules: "{project-root}/.bmad/bmb/docs/modules/kb.csv"
- agents: "{project-root}/_bmad/bmb/docs/agents/kb.csv"
- workflows: "{project-root}/_bmad/bmb/docs/workflows/kb.csv"
- modules: "{project-root}/_bmad/bmb/docs/modules/kb.csv"
menu:
- multi: "[CA] Create, [EA] Edit, or [VA] Validate with Compliance CheckBMAD agents with best practices"
triggers:
- create-agent:
- input: CA or fuzzy match create agent
- route: "{project-root}/.bmad/bmb/workflows/create-agent/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/create-agent/workflow.md"
- data: null
- type: exec
- edit-agent:
- input: EA or fuzzy match edit agent
- route: "{project-root}/.bmad/bmb/workflows/edit-agent/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.md"
- data: null
- type: exec
- run-agent-compliance-check:
- input: VA or fuzzy match validate agent
- route: "{project-root}/.bmad/bmb/workflows/agent-compliance-check/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/agent-compliance-check/workflow.md"
- data: null
- type: exec
@ -51,17 +51,17 @@ agent:
triggers:
- create-workflow:
- input: CW or fuzzy match create workflow
- route: "{project-root}/.bmad/bmb/workflows/create-workflow/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/create-workflow/workflow.md"
- data: null
- type: exec
- edit-workflow:
- input: EW or fuzzy match edit workflow
- route: "{project-root}/.bmad/bmb/workflows/edit-workflow/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.md"
- data: null
- type: exec
- run-workflow-compliance-check:
- input: VW or fuzzy match validate workflow
- route: "{project-root}/.bmad/bmb/workflows/workflow-compliance-check/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/workflow-compliance-check/workflow.md"
- data: null
- type: exec
@ -69,26 +69,26 @@ agent:
triggers:
- brainstorm-module:
- input: BM or fuzzy match brainstorm module
- route: "{project-root}/.bmad/bmb/workflows/brainstorm-module/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/brainstorm-module/workflow.md"
- data: null
- type: exec
- product-brief-module:
- input: PBM or fuzzy match product brief module
- route: "{project-root}/.bmad/bmb/workflows/product-brief-module/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/product-brief-module/workflow.md"
- data: null
- type: exec
- create-module:
- input: CM or fuzzy match create module
- route: "{project-root}/.bmad/bmb/workflows/create-module/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/create-module/workflow.md"
- data: null
- type: exec
- edit-module:
- input: EM or fuzzy match edit module
- route: "{project-root}/.bmad/bmb/workflows/edit-module/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/edit-module/workflow.md"
- data: null
- type: exec
- run-module-compliance-check:
- input: VM or fuzzy match validate module
- route: "{project-root}/.bmad/bmb/workflows/module-compliance-check/workflow.md"
- route: "{project-root}/_bmad/bmb/workflows/module-compliance-check/workflow.md"
- data: null
- type: exec

View File

@ -35,7 +35,7 @@ rex.agent.yaml ← Persona name (users might rename to "Max")
**Pattern:**
- Filename: `{role-or-function}.agent.yaml` (kebab-case)
- Metadata ID: `.bmad/{module}/agents/{role-or-function}.md`
- Metadata ID: `_bmad/{module}/agents/{role-or-function}.md`
- Persona Name: User-customizable in metadata or customize.yaml
**Example:**
@ -44,7 +44,7 @@ rex.agent.yaml ← Persona name (users might rename to "Max")
# File: presentation-master.agent.yaml
agent:
metadata:
id: '.bmad/cis/agents/presentation-master.md'
id: '_bmad/cis/agents/presentation-master.md'
name: Caravaggio # ← Users can change this to "Pablo" or "Vince"
title: Visual Communication & Presentation Expert
```
@ -83,7 +83,7 @@ You must fully embody this agent's persona...
<step n="N+3">Input resolution rules</step>
<menu-handlers>
<!-- Only handlers used in YOUR menu are included -->
<!-- Only handler instructions for the handler types used in the agents specific menu are included -->
</menu-handlers>
<rules>

View File

@ -65,11 +65,11 @@ For module agents orchestrating multi-step processes.
```yaml
menu:
- trigger: create-prd
workflow: '{project-root}/.bmad/bmm/workflows/prd/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/prd/workflow.yaml'
description: 'Create Product Requirements Document'
- trigger: brainstorm
workflow: '{project-root}/.bmad/core/workflows/brainstorming/workflow.yaml'
workflow: '{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml'
description: 'Guided brainstorming session'
# Placeholder for unimplemented workflows
@ -92,11 +92,11 @@ For executing tasks directly.
```yaml
menu:
- trigger: validate
exec: '{project-root}/.bmad/core/tasks/validate-workflow.xml'
exec: '{project-root}/_bmad/core/tasks/validate-workflow.xml'
description: 'Validate document structure'
- trigger: advanced-elicitation
exec: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
exec: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
description: 'Advanced elicitation techniques'
```
@ -113,8 +113,8 @@ For document generation with templates.
```yaml
menu:
- trigger: create-brief
exec: '{project-root}/.bmad/core/tasks/create-doc.xml'
tmpl: '{project-root}/.bmad/bmm/templates/brief.md'
exec: '{project-root}/_bmad/core/tasks/create-doc.xml'
tmpl: '{project-root}/_bmad/bmm/templates/brief.md'
description: 'Create a Product Brief'
```
@ -131,8 +131,8 @@ Universal attribute for supplementary information.
```yaml
menu:
- trigger: team-standup
exec: '{project-root}/.bmad/bmm/tasks/standup.xml'
data: '{project-root}/.bmad/_cfg/agent-manifest.csv'
exec: '{project-root}/_bmad/bmm/tasks/standup.xml'
data: '{project-root}/_bmad/_config/agent-manifest.csv'
description: 'Run team standup'
- trigger: analyze-metrics
@ -154,12 +154,12 @@ Control visibility based on deployment target:
```yaml
menu:
- trigger: git-flow
exec: '{project-root}/.bmad/bmm/tasks/git-flow.xml'
exec: '{project-root}/_bmad/bmm/tasks/git-flow.xml'
description: 'Git workflow operations'
ide-only: true # Only in IDE environments
- trigger: advanced-elicitation
exec: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
exec: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
description: 'Advanced elicitation'
web-only: true # Only in web bundles
```
@ -251,20 +251,20 @@ menu:
menu:
# Analysis Phase
- trigger: brainstorm
workflow: '{project-root}/.bmad/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
description: 'Brainstorm ideas'
- trigger: research
workflow: '{project-root}/.bmad/bmm/workflows/1-analysis/research/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow.yaml'
description: 'Conduct research'
# Planning Phase
- trigger: prd
workflow: '{project-root}/.bmad/bmm/workflows/2-planning/prd/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/2-planning/prd/workflow.yaml'
description: 'Create PRD'
- trigger: architecture
workflow: '{project-root}/.bmad/bmm/workflows/2-planning/architecture/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/2-planning/architecture/workflow.yaml'
description: 'Design architecture'
```
@ -362,20 +362,20 @@ prompts:
```yaml
# GOOD - Portable paths
workflow: "{project-root}/.bmad/bmm/workflows/prd/workflow.yaml"
exec: "{project-root}/.bmad/core/tasks/validate.xml"
workflow: "{project-root}/_bmad/bmm/workflows/prd/workflow.yaml"
exec: "{project-root}/_bmad/core/tasks/validate.xml"
data: "{project-root}/_data/metrics.csv"
# BAD - Hardcoded paths
workflow: "/Users/john/project/.bmad/bmm/workflows/prd/workflow.yaml"
workflow: "/Users/john/project/_bmad/bmm/workflows/prd/workflow.yaml"
exec: "../../../core/tasks/validate.xml"
```
### Available Variables
- `{project-root}` - Project root directory
- `.bmad` - BMAD installation folder
- `{agent_sidecar_folder}` - Agent installation directory (Expert agents)
- `_bmad` - BMAD installation folder
- `{bmad_memory}` - Agent installation directory (Expert agents)
- `{output_folder}` - Document output location
- `{user_name}` - User's name from config
- `{communication_language}` - Language preference
@ -444,23 +444,23 @@ menu:
```yaml
menu:
- trigger: workflow-init
workflow: '{project-root}/.bmad/bmm/workflows/workflow-status/init/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml'
description: 'Initialize workflow path (START HERE)'
- trigger: brainstorm
workflow: '{project-root}/.bmad/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
description: 'Guided brainstorming'
- trigger: prd
workflow: '{project-root}/.bmad/bmm/workflows/2-planning/prd/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/2-planning/prd/workflow.yaml'
description: 'Create PRD'
- trigger: architecture
workflow: '{project-root}/.bmad/bmm/workflows/2-planning/architecture/workflow.yaml'
workflow: '{project-root}/_bmad/bmm/workflows/2-planning/architecture/workflow.yaml'
description: 'Design architecture'
- trigger: party-mode
workflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.yaml'
workflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.yaml'
description: 'Multi-agent discussion'
```

View File

@ -97,14 +97,22 @@ agent:
action: 'Update ./{agent-name}-sidecar/memories.md with session insights'
description: 'Save what we discussed today'
- trigger: patterns
action: '#memory-recall'
description: 'Recall patterns from past interactions'
- trigger: insight
action: 'Document breakthrough in ./{agent-name}-sidecar/breakthroughs.md'
description: 'Record a significant insight'
- multi: "[DF] Do Foo or start [CH] Chat with expert"
triggers:
- do-foo
- input: [DF] or fuzzy match on do foo
- action: '#main-action'
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
- type: action
- expert-chat:
- input: [CH] or fuzzy match validate agent
- action: agent responds as expert based on its persona to converse
- type: action
install_config:
compile_time_only: true
description: 'Personalize your expert agent'
@ -196,13 +204,13 @@ critical_actions:
- **Memory integration** - Past context becomes part of current session
- **Protocol adherence** - Ensures consistent behavior
### {agent_sidecar_folder} Variable
### {bmad_memory} Variable
Special variable resolved during installation:
- Points to the agent's installation directory
- Used to reference sidecar files
- Example: `.bmad/custom/agents/journal-keeper/`
- Example: `_bmad/custom/agents/journal-keeper/`
## What Gets Injected at Compile Time
@ -238,7 +246,7 @@ Features demonstrated:
```bash
# Copy entire folder to your project
cp -r /path/to/journal-keeper/ .bmad/custom/agents/
cp -r /path/to/journal-keeper/ _bmad/custom/agents/
# Install with personalization
bmad agent-install
@ -313,7 +321,7 @@ critical_actions:
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
3. **Use {agent_sidecar_folder} paths** - Portable across installations
3. **Use {bmad_memory} paths** - Portable across installations
4. **Design for memory growth** - Structure sidecar files for accumulation
5. **Reference past naturally** - Don't dump memory, weave it into conversation
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
@ -356,8 +364,8 @@ identity: |
- [ ] Sidecar folder structure created and populated
- [ ] memories.md has clear section structure
- [ ] instructions.md contains core directives
- [ ] Menu actions reference {agent_sidecar_folder} correctly
- [ ] File paths use {agent_sidecar_folder} variable
- [ ] Menu actions reference {bmad_memory} correctly
- [ ] File paths use {bmad_memory} variable
- [ ] Install config personalizes sidecar references
- [ ] Agent folder named consistently: `{agent-name}/`
- [ ] YAML file named: `{agent-name}.agent.yaml`

View File

@ -1,366 +0,0 @@
# Module Agent Architecture
Full integration agents with workflow orchestration, module-specific paths, and professional tooling.
## When to Use
- Professional development workflows (business analysis, architecture design)
- Team-oriented tools (project management, sprint planning)
- Agents that orchestrate multiple workflows
- Module-specific functionality (BMM, BMB, CIS, custom modules)
- Agents with complex multi-step operations
## File Location
```
src/modules/{module-code}/agents/{agent-name}.agent.yaml
```
Compiles to:
```
.bmad/{module-code}/agents/{agent-name}.md
```
## YAML Structure
```yaml
agent:
metadata:
id: '.bmad/{module-code}/agents/{agent-name}.md'
name: 'Persona Name'
title: 'Professional Title'
icon: 'emoji'
module: '{module-code}'
persona:
role: 'Primary expertise and function'
identity: 'Background, experience, specializations'
communication_style: 'Interaction approach, tone, methodology'
principles: 'Core beliefs and methodology'
menu:
- trigger: workflow-action
workflow: '{project-root}/.bmad/{module-code}/workflows/{workflow-name}/workflow.yaml'
description: 'Execute module workflow'
- trigger: another-workflow
workflow: '{project-root}/.bmad/core/workflows/{workflow-name}/workflow.yaml'
description: 'Execute core workflow'
- trigger: task-action
exec: '{project-root}/.bmad/{module-code}/tasks/{task-name}.xml'
description: 'Execute module task'
- trigger: cross-module
workflow: '{project-root}/.bmad/other-module/workflows/{workflow-name}/workflow.yaml'
description: 'Execute workflow from another module'
- trigger: with-template
exec: '{project-root}/.bmad/core/tasks/create-doc.xml'
tmpl: '{project-root}/.bmad/{module-code}/templates/{template-name}.md'
description: 'Create document from template'
- trigger: with-data
exec: '{project-root}/.bmad/{module-code}/tasks/{task-name}.xml'
data: '{project-root}/.bmad/_cfg/agent-manifest.csv'
description: 'Execute task with data file'
```
## Key Components
### Metadata
- **id**: Path with `.bmad` variable (resolved at install time)
- **name**: Agent persona name
- **title**: Professional role
- **icon**: Single emoji
- **module**: Module code (bmm, bmb, cis, custom)
### Persona (Professional Voice)
Module agents typically use **professional** communication styles:
```yaml
persona:
role: Strategic Business Analyst + Requirements Expert
identity: Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.
communication_style: Systematic and probing. Connects dots others miss. Structures findings hierarchically. Uses precise unambiguous language. Ensures all stakeholder voices heard.
principles: Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. Articulate requirements with absolute precision.
```
**Note:** Module agents usually don't use Handlebars templating since they're not user-customized - they're professional tools with fixed personalities.
### Menu Handlers
#### Workflow Handler (Most Common)
```yaml
menu:
- trigger: create-prd
workflow: '{project-root}/.bmad/bmm/workflows/prd/workflow.yaml'
description: 'Create Product Requirements Document'
```
Invokes BMAD workflow engine to execute multi-step processes.
#### Task/Exec Handler
```yaml
menu:
- trigger: validate
exec: '{project-root}/.bmad/core/tasks/validate-workflow.xml'
description: 'Validate document structure'
```
Executes single-operation tasks.
#### Template Handler
```yaml
menu:
- trigger: create-brief
exec: '{project-root}/.bmad/core/tasks/create-doc.xml'
tmpl: '{project-root}/.bmad/bmm/templates/brief.md'
description: 'Create a Product Brief from template'
```
Combines task execution with template file.
#### Data Handler
```yaml
menu:
- trigger: team-standup
exec: '{project-root}/.bmad/bmm/tasks/standup.xml'
data: '{project-root}/.bmad/_cfg/agent-manifest.csv'
description: 'Run team standup with agent roster'
```
Provides data file to task.
#### Placeholder Handler
```yaml
menu:
- trigger: future-feature
workflow: 'todo'
description: 'Feature planned but not yet implemented'
```
Marks unimplemented features - compiler handles gracefully.
### Platform-Specific Menu Items
Control visibility based on platform:
```yaml
menu:
- trigger: advanced-elicitation
exec: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
description: 'Advanced elicitation techniques'
web-only: true # Only shows in web bundle
- trigger: git-operations
exec: '{project-root}/.bmad/bmm/tasks/git-flow.xml'
description: 'Git workflow operations'
ide-only: true # Only shows in IDE environments
```
## Variable System
### Core Variables
- `{project-root}` - Root directory of installed project
- `.bmad` - BMAD installation folder (usually `.bmad`)
- `{user_name}` - User's name from module config
- `{communication_language}` - Language preference
- `{output_folder}` - Document output directory
### Path Construction
**Always use variables, never hardcoded paths:**
```yaml
# GOOD
workflow: "{project-root}/.bmad/bmm/workflows/prd/workflow.yaml"
# BAD
workflow: "/Users/john/project/.bmad/bmm/workflows/prd/workflow.yaml"
# BAD
workflow: "../../../bmm/workflows/prd/workflow.yaml"
```
## What Gets Injected at Compile Time
Module agents use the same injection process as simple agents:
1. **Frontmatter** with name and description
2. **Activation block** with standard steps
3. **Menu handlers** based on usage (workflow, exec, tmpl, data)
4. **Rules section** for consistent behavior
5. **Auto-injected** \*help and \*exit commands
**Key difference:** Module agents load **module-specific config** instead of core config:
```xml
<step n="2">Load and read {project-root}/.bmad/{module}/config.yaml...</step>
```
## Reference Examples
See: `src/modules/bmm/agents/`
**analyst.agent.yaml** - Business Analyst
- Workflow orchestration for analysis phase
- Multiple workflow integrations
- Cross-module workflow access (core/workflows/party-mode)
**architect.agent.yaml** - System Architect
- Technical workflow management
- Architecture decision workflows
**pm.agent.yaml** - Product Manager
- Planning and coordination workflows
- Sprint management integration
## Module Configuration
Each module has `config.yaml` providing:
```yaml
# src/modules/{module}/config.yaml
user_name: 'User Name'
communication_language: 'English'
output_folder: '{project-root}/docs'
custom_settings: 'module-specific values'
```
Agents load this at activation for consistent behavior.
## Workflow Integration Patterns
### Sequential Workflow Execution
```yaml
menu:
- trigger: init
workflow: '{project-root}/.bmad/bmm/workflows/workflow-init/workflow.yaml'
description: 'Initialize workflow path (START HERE)'
- trigger: status
workflow: '{project-root}/.bmad/bmm/workflows/workflow-status/workflow.yaml'
description: 'Check current workflow status'
- trigger: next-step
workflow: '{project-root}/.bmad/bmm/workflows/next-step/workflow.yaml'
description: 'Execute next workflow in sequence'
```
### Phase-Based Organization
```yaml
menu:
# Phase 1: Analysis
- trigger: brainstorm
workflow: '{project-root}/.bmad/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
description: 'Guided brainstorming session'
- trigger: research
workflow: '{project-root}/.bmad/bmm/workflows/1-analysis/research/workflow.yaml'
description: 'Market and technical research'
# Phase 2: Planning
- trigger: prd
workflow: '{project-root}/.bmad/bmm/workflows/2-planning/prd/workflow.yaml'
description: 'Create PRD'
- trigger: architecture
workflow: '{project-root}/.bmad/bmm/workflows/2-planning/architecture/workflow.yaml'
description: 'Design architecture'
```
### Cross-Module Access
```yaml
menu:
- trigger: party-mode
workflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.yaml'
description: 'Bring all agents together'
- trigger: brainstorm
workflow: '{project-root}/.bmad/cis/workflows/brainstorming/workflow.yaml'
description: 'Use CIS brainstorming techniques'
```
## Best Practices
1. **Organize workflows by phase** - Clear progression for users
2. **Include workflow-status** - Help users track progress
3. **Reference module config** - Consistent behavior
4. **No Handlebars templating** - Module agents are fixed personalities
5. **Professional personas** - Match module purpose
6. **Clear trigger names** - Self-documenting commands
7. **Group related workflows** - Logical menu organization
## Common Patterns
### Entry Point Agent
```yaml
menu:
- trigger: start
workflow: '{project-root}/.bmad/{module}/workflows/init/workflow.yaml'
description: 'Start new project (BEGIN HERE)'
```
### Status Tracking
```yaml
menu:
- trigger: status
workflow: '{project-root}/.bmad/{module}/workflows/status/workflow.yaml'
description: 'Check workflow progress'
```
### Team Coordination
```yaml
menu:
- trigger: party
workflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.yaml'
description: 'Multi-agent discussion'
```
## Module Agent vs Simple/Expert
| Aspect | Module Agent | Simple/Expert Agent |
| ------------- | --------------------------- | ------------------------------- |
| Location | `.bmad/{module}/agents/` | `.bmad/custom/agents/` |
| Persona | Fixed, professional | Customizable via install_config |
| Handlebars | No templating | Yes, extensive |
| Menu actions | Workflows, tasks, templates | Prompts, inline actions |
| Configuration | Module config.yaml | Core config or none |
| Purpose | Professional tooling | Personal utilities |
## Validation Checklist
- [ ] Valid YAML syntax
- [ ] Metadata includes `module: "{module-code}"`
- [ ] id uses `.bmad/{module}/agents/{name}.md`
- [ ] All workflow paths use `{project-root}/.bmad/` prefix
- [ ] No hardcoded paths
- [ ] No duplicate triggers
- [ ] Each menu item has description
- [ ] Triggers don't start with `*` (auto-added)
- [ ] Professional persona appropriate for module
- [ ] Workflow paths resolve to actual workflows (or "todo")
- [ ] File named `{agent-name}.agent.yaml`
- [ ] Located in `src/modules/{module}/agents/`

View File

@ -14,7 +14,7 @@ Self-contained agents with prompts, menus, and optional install-time customizati
```yaml
agent:
metadata:
id: .bmad/agents/{agent-name}/{agent-name}.md
id: _bmad/agents/{agent-name}/{agent-name}.md
name: 'Persona Name'
title: 'Agent Title'
icon: 'emoji'
@ -63,18 +63,22 @@ agent:
Another reusable prompt template
menu:
- trigger: action1
action: '#main-action'
description: 'Execute the main action'
- trigger: action2
action: '#another-action'
description: 'Execute another action'
- trigger: inline
action: 'Direct inline instruction text'
action: 'Direct inline prompt text'
description: 'Execute inline action'
- multi: "[DF] Do Foo or start [CH] Chat with expert"
triggers:
- do-foo
- input: [DF] or fuzzy match on do foo
- action: '#main-action'
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
- type: action
- expert-chat:
- input: [CH] or fuzzy match validate agent
- action: agent responds as expert based on its persona to converse
- type: action
install_config:
compile_time_only: true
description: 'Personalize your agent'
@ -104,7 +108,7 @@ agent:
### Metadata
- **id**: Final compiled path (`.bmad/agents/{name}/{name}.md` for standalone)
- **id**: Final compiled path (`_bmad/agents/{name}/{name}.md` for standalone)
- **name**: Agent's persona name displayed to users
- **title**: Professional role/function
- **icon**: Single emoji for visual identification
@ -202,7 +206,7 @@ The `tools/cli/lib/agent/compiler.js` automatically adds:
## Reference Example
See: `src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml`
See: `../../reference/agents/simple-examples/commit-poet.agent.yaml`
Features demonstrated:
@ -215,7 +219,7 @@ Features demonstrated:
```bash
# Copy to your project
cp /path/to/commit-poet.agent.yaml .bmad/custom/agents/
cp /path/to/commit-poet.agent.yaml _bmad/custom/agents/
# Create custom.yaml and install
echo "code: my-agent
@ -243,50 +247,11 @@ The installer:
5. **Use semantic XML tags** in prompt content for clarity
6. **Test all conditional paths** before distribution
## Common Patterns
### Style Variants
```yaml
communication_style: |
{{#if enthusiasm == "high"}}
Enthusiastic and energetic approach!
{{/if}}
{{#if enthusiasm == "moderate"}}
Balanced and professional demeanor.
{{/if}}
```
### Feature Toggles
```yaml
prompts:
- id: main-action
content: |
{{#if advanced_mode}}
Include advanced analysis steps...
{{/if}}
{{#unless advanced_mode}}
Basic analysis only...
{{/unless}}
```
### User Personalization
```yaml
identity: |
{{#if custom_name}}
Known as {{custom_name}} to you.
{{/if}}
```
## Validation Checklist
- [ ] Valid YAML syntax
- [ ] All metadata fields present (id, name, title, icon, type)
- [ ] Persona complete (role, identity, communication_style, principles)
- [ ] Prompts have unique IDs
- [ ] Menu triggers don't start with `*` (auto-added)
- [ ] Install config questions have defaults
- [ ] Handlebars syntax is correct
- [ ] File named `{agent-name}.agent.yaml`

View File

@ -7,7 +7,7 @@ ALL agent types can:
- ✓ Write to {output_folder}, {project-root}, or anywhere on system
- ✓ Update artifacts and files
- ✓ Execute bash commands
- ✓ Use core variables (.bmad, {output_folder}, etc.)
- ✓ Use core variables (\_bmad, {output_folder}, etc.)
- ✓ Have complex prompts and logic
- ✓ Invoke external tools
@ -98,11 +98,11 @@ agent:
menu:
- trigger: implement-story
workflow: '.bmad/bmm/workflows/dev-story/workflow.yaml'
workflow: '_bmad/bmm/workflows/dev-story/workflow.yaml'
description: Implement user story
- trigger: refactor
workflow: '.bmad/bmm/workflows/refactor/workflow.yaml'
workflow: '_bmad/bmm/workflows/refactor/workflow.yaml'
description: Refactor codebase
```
@ -122,7 +122,7 @@ agent:
### The Reality
- **Any agent type** (Simple, Expert, Module) can be bundled with or added to a module
- A Simple agent COULD live in `.bmad/bmm/agents/`
- A Simple agent COULD live in `_bmad/bmm/agents/`
- An Expert agent COULD be included in a module bundle
### What Makes a "Module Agent" Special
@ -138,14 +138,14 @@ A **Module Agent** is specifically:
**Simple Agent added to BMM:**
- Lives in `.bmad/bmm/agents/formatter.agent.yaml`
- Lives in `_bmad/bmm/agents/formatter.agent.yaml`
- Bundled with BMM for convenience
- But still stateless, self-contained
- NOT a "Module Agent" - just a Simple agent in a module
**Module Agent in BMM:**
- Lives in `.bmad/bmm/agents/tech-writer.agent.yaml`
- Lives in `_bmad/bmm/agents/tech-writer.agent.yaml`
- Orchestrates BMM documentation workflows
- Coordinates with other BMM agents (PM, Dev, Analyst)
- Included in default BMM bundle

View File

@ -69,7 +69,7 @@ workflow-folder/
Standard variables in step files:
```yaml
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/[workflow-name]'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/[workflow-name]'
thisStepFile: '{workflow_path}/steps/step-[N]-[name].md'
nextStepFile: '{workflow_path}/steps/step-[N+1]-[name].md'
workflowFile: '{workflow_path}/workflow.md'

View File

@ -1,7 +1,7 @@
propose,type,tool_name,description,url,requires_install
always,workflow,party-mode,"Enables collaborative idea generation by managing turn-taking, summarizing contributions, and synthesizing ideas from multiple AI personas in structured conversation sessions about workflow steps or work in progress.",{project-root}/.bmad/core/workflows/party-mode/workflow.md,no
always,task,advanced-elicitation,"Employs diverse elicitation strategies such as Socratic questioning, role-playing, and counterfactual analysis to critically evaluate and enhance LLM outputs, forcing assessment from multiple perspectives and techniques.",{project-root}/.bmad/core/tasks/advanced-elicitation.xml,no
always,task,brainstorming,"Facilitates idea generation by prompting users with targeted questions, encouraging divergent thinking, and synthesizing concepts into actionable insights through collaborative creative exploration.",{project-root}/.bmad/core/tasks/brainstorming.xml,no
always,workflow,party-mode,"Enables collaborative idea generation by managing turn-taking, summarizing contributions, and synthesizing ideas from multiple AI personas in structured conversation sessions about workflow steps or work in progress.",{project-root}/_bmad/core/workflows/party-mode/workflow.md,no
always,task,advanced-elicitation,"Employs diverse elicitation strategies such as Socratic questioning, role-playing, and counterfactual analysis to critically evaluate and enhance LLM outputs, forcing assessment from multiple perspectives and techniques.",{project-root}/_bmad/core/tasks/advanced-elicitation.xml,no
always,task,brainstorming,"Facilitates idea generation by prompting users with targeted questions, encouraging divergent thinking, and synthesizing concepts into actionable insights through collaborative creative exploration.",{project-root}/_bmad/core/tasks/brainstorming.xml,no
always,llm-tool-feature,web-browsing,"Provides LLM with capabilities to perform real-time web searches, extract relevant data, and incorporate current information into responses when up-to-date information is required beyond training knowledge.",,no
always,llm-tool-feature,file-io,"Enables LLM to manage file operations such as creating, reading, updating, and deleting files, facilitating seamless data handling, storage, and document management within user environments.",,no
always,llm-tool-feature,sub-agents,"Allows LLM to create and manage specialized sub-agents that handle specific tasks or modules within larger workflows, improving efficiency through parallel processing and modular task delegation.",,no

1 propose type tool_name description url requires_install
2 always workflow party-mode Enables collaborative idea generation by managing turn-taking, summarizing contributions, and synthesizing ideas from multiple AI personas in structured conversation sessions about workflow steps or work in progress. {project-root}/.bmad/core/workflows/party-mode/workflow.md {project-root}/_bmad/core/workflows/party-mode/workflow.md no
3 always task advanced-elicitation Employs diverse elicitation strategies such as Socratic questioning, role-playing, and counterfactual analysis to critically evaluate and enhance LLM outputs, forcing assessment from multiple perspectives and techniques. {project-root}/.bmad/core/tasks/advanced-elicitation.xml {project-root}/_bmad/core/tasks/advanced-elicitation.xml no
4 always task brainstorming Facilitates idea generation by prompting users with targeted questions, encouraging divergent thinking, and synthesizing concepts into actionable insights through collaborative creative exploration. {project-root}/.bmad/core/tasks/brainstorming.xml {project-root}/_bmad/core/tasks/brainstorming.xml no
5 always llm-tool-feature web-browsing Provides LLM with capabilities to perform real-time web searches, extract relevant data, and incorporate current information into responses when up-to-date information is required beyond training knowledge. no
6 always llm-tool-feature file-io Enables LLM to manage file operations such as creating, reading, updating, and deleting files, facilitating seamless data handling, storage, and document management within user environments. no
7 always llm-tool-feature sub-agents Allows LLM to create and manage specialized sub-agents that handle specific tasks or modules within larger workflows, improving efficiency through parallel processing and modular task delegation. no

View File

@ -13,7 +13,7 @@ description: 'Initialize the [workflow-type] workflow by detecting continuation
<!-- Path Definitions -->
workflow\*path: '{project-root}/.bmad/[module-path]/workflows/[workflow-name]'
workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]'
# File References (all use {variable} format in file)

View File

@ -13,7 +13,7 @@ description: 'Handle workflow continuation from previous session'
<!-- Path Definitions -->
workflow\*path: '{project-root}/.bmad/[module-path]/workflows/[workflow-name]'
workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]'
# File References (all use {variable} format in file)

View File

@ -3,7 +3,7 @@ name: "step-{{stepNumber}}-{{stepName}}"
description: "{{stepDescription}}"
# Path Definitions
workflow_path: "{project-root}/.bmad/{{targetModule}}/workflows/{{workflowName}}"
workflow_path: "{project-root}/_bmad/{{targetModule}}/workflows/{{workflowName}}"
# File References
thisStepFile: "{workflow_path}/steps/step-{{stepNumber}}-{{stepName}}.md"
@ -16,8 +16,8 @@ outputFile: "{output_folder}/{{outputFileName}}-{project_name}.md"
{{/hasOutput}}
# Task References (list only if used in THIS step file instance and only the ones used, there might be others)
advancedElicitationTask: "{project-root}/.bmad/core/tasks/advanced-elicitation.xml"
partyModeWorkflow: "{project-root}/.bmad/core/workflows/party-mode/workflow.md"
advancedElicitationTask: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
partyModeWorkflow: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
{{#hasTemplates}}
# Template References

View File

@ -11,7 +11,7 @@ description: '[Brief description of what this step accomplishes]'
<!-- Path Definitions -->
workflow\*path: '{project-root}/.bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
workflow\*path: '{project-root}/\_bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
# File References (all use {variable} format in file)
@ -23,8 +23,8 @@ outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
# Task References (IF THE workflow uses and it makes sense in this step to have these )
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/\_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/\_bmad/core/workflows/party-mode/workflow.md'
# Template References (if this step uses a specific templates)

View File

@ -53,7 +53,7 @@ web_bundle: [true/false] # Set to true for inclusion in web bundle builds
### 1. Module Configuration Loading
Load and read full config from {project-root}/.bmad/[MODULE FOLDER]/config.yaml and resolve:
Load and read full config from {project-root}/\_bmad/[MODULE FOLDER]/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, [MODULE VARS]
@ -101,4 +101,4 @@ Example: Load, read the full file and then execute `{workflow_path}/steps/step-0
### NOTE: You can View a real example of a perfect workflow.md file that was created from this template
`{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md`
`{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md`

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/.bmad/{{targetModule}}/config.yaml and resolve:
Load and read full config from {project-root}/\_bmad/{{targetModule}}/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`

View File

@ -1,25 +1,17 @@
# BMAD™ Method Core Configuration
code: bmb
name: "BMB: BMad Builder - Agent, Workflow and Module Builder"
default_selected: false # This module will not be selected by default for new installations
header: "BMad Optimized Builder (BoMB) Module Configuration"
subheader: "Configure the settings for the BoMB Factory!\nThe agent, workflow and module builder for BMAD™"
default_selected: false # This module will not be selected by default for new installations
# Variables from Core Config inserted:
## user_name
## communication_language
## document_output_language
## output_folder
## install_user_docs
## kb_install
## bmad_memory
custom_stand_alone_location:
prompt: "Where do custom agents and workflows get stored?"
default: "bmad-custom-src"
result: "{project-root}/{value}"
custom_module_location:
prompt: "Where do custom modules get stored?"
default: "bmad-custom-modules-src"
bmb_creations_output_folder:
prompt: "Where should BoMB generated agents, workflows and modules SOURCE be saved?"
default: "{output_folder}/bmb-creations"
result: "{project-root}/{value}"

View File

@ -20,9 +20,9 @@ agent:
- Reflection transforms experience into wisdom
critical_actions:
- "Load COMPLETE file {agent_sidecar_folder}/journal-keeper-sidecar/memories.md and remember all past insights"
- "Load COMPLETE file {agent_sidecar_folder}/journal-keeper-sidecar/instructions.md and follow ALL journaling protocols"
- "ONLY read/write files in {agent_sidecar_folder}/journal-keeper-sidecar/ - this is our private space"
- "Load COMPLETE file {bmad_memory}/journal-keeper-sidecar/memories.md and remember all past insights"
- "Load COMPLETE file {bmad_memory}/journal-keeper-sidecar/instructions.md and follow ALL journaling protocols"
- "ONLY read/write files in {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"
@ -120,7 +120,7 @@ agent:
description: "Write today's journal entry"
- trigger: quick
action: "Save a quick, unstructured entry to {agent_sidecar_folder}/journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed"
action: "Save a quick, unstructured entry to {bmad_memory}/journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed"
description: "Quick capture without prompts"
- trigger: mood
@ -140,13 +140,13 @@ agent:
description: "Reflect on the past week"
- trigger: insight
action: "Document this breakthrough in {agent_sidecar_folder}/journal-keeper-sidecar/breakthroughs.md with date and significance"
action: "Document this breakthrough in {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 {agent_sidecar_folder}/journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth"
action: "Load and share entries from {bmad_memory}/journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth"
description: "Review past entries"
- trigger: save
action: "Update {agent_sidecar_folder}/journal-keeper-sidecar/memories.md with today's session insights and emotional markers"
action: "Update {bmad_memory}/journal-keeper-sidecar/memories.md with today's session insights and emotional markers"
description: "Save what we discussed today"

View File

@ -7,9 +7,10 @@ Reference examples for module-integrated agents.
Module agents integrate with BMAD module workflows (BMM, CIS, BMB). They:
- Orchestrate multi-step workflows
- Use `.bmad` path variables
- Have fixed professional personas (no install_config)
- 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
@ -46,5 +47,3 @@ When creating module agents:
3. Rewrite persona for your domain
4. Replace menu with actual available workflows
5. Remove hypothetical workflow references
See `/src/modules/bmb/docs/agents/module-agent-architecture.md` for complete guide.

View File

@ -10,7 +10,7 @@
agent:
metadata:
id: ".bmad/bmm/agents/security-engineer.md"
id: "_bmad/bmm/agents/security-engineer.md"
name: "Sam"
title: "Security Engineer"
icon: "🔐"
@ -32,11 +32,11 @@ agent:
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"
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"
exec: "{project-root}/_bmad/bmm/workflows/security-review/workflow.md"
description: "Review code/design for security issues"
- trigger: owasp-check
@ -44,10 +44,10 @@ agent:
description: "Check against OWASP Top 10"
- trigger: compliance
exec: "{project-root}/.bmad/bmm/workflows/compliance-check/workflow.md"
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"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Multi-agent security discussion"

View File

@ -10,7 +10,7 @@
agent:
metadata:
id: ".bmad/cis/agents/trend-analyst.md"
id: "_bmad/cis/agents/trend-analyst.md"
name: "Nova"
title: "Trend Analyst"
icon: "📈"
@ -32,26 +32,26 @@ agent:
menu:
# NOTE: These workflows are hypothetical examples - not implemented
- trigger: scan-trends
exec: "{project-root}/.bmad/cis/workflows/trend-scan/workflow.md"
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"
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"
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"
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"
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"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Discuss trends with other agents"

View File

@ -127,7 +127,7 @@ This personality is maintained across ALL commands through the persona definitio
```yaml
agent:
metadata:
id: .bmad/agents/{agent-name}/{agent-name}.md # Build path
id: _bmad/agents/{agent-name}/{agent-name}.md # Build path
name: "Display Name"
title: "Professional Title"
icon: "🎭"

View File

@ -1,6 +1,6 @@
agent:
metadata:
id: .bmad/agents/commit-poet/commit-poet.md
id: _bmad/agents/commit-poet/commit-poet.md
name: "Inkwell Von Comitizen"
title: "Commit Message Artisan"
icon: "📜"

View File

@ -3,7 +3,7 @@ name: 'step-01-init'
description: 'Initialize the nutrition plan workflow by detecting continuation state and creating output document'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-01-init.md'

View File

@ -3,7 +3,7 @@ name: 'step-01b-continue'
description: 'Handle workflow continuation from previous session'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'

View File

@ -3,7 +3,7 @@ name: 'step-02-profile'
description: 'Gather comprehensive user profile information through collaborative conversation'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References (all use {variable} format in file)
thisStepFile: '{workflow_path}/steps/step-02-profile.md'
@ -12,8 +12,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Template References
profileTemplate: '{workflow_path}/templates/profile-section.md'

View File

@ -3,7 +3,7 @@ name: 'step-03-assessment'
description: 'Analyze nutritional requirements, identify restrictions, and calculate target macros'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-03-assessment.md'
@ -12,8 +12,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Data References
dietaryRestrictionsDB: '{workflow_path}/data/dietary-restrictions.csv'

View File

@ -3,7 +3,7 @@ name: 'step-04-strategy'
description: 'Design a personalized meal strategy that meets nutritional needs and fits lifestyle'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-04-strategy.md'
@ -13,8 +13,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Data References
recipeDatabase: '{workflow_path}/data/recipe-database.csv'
@ -167,8 +167,8 @@ Display: **Select an Option:** [A] Meal Variety Optimization [P] Chef & Dietitia
#### Menu Handling Logic:
- HALT and AWAIT ANSWER
- IF A: Execute `{project-root}/.bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/.bmad/core/workflows/party-mode/workflow.md` with a chef and dietitian expert also as part of the party
- IF A: Execute `{project-root}/_bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md` with a chef and dietitian expert also as part of the party
- IF C: Save content to nutrition-plan.md, update frontmatter `stepsCompleted` to add 4 at the end of the array before loading next step, check cooking frequency:
- IF cooking frequency > 2x/week: load, read entire file, then execute `{workflow_path}/step-05-shopping.md`
- IF cooking frequency ≤ 2x/week: load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`

View File

@ -3,7 +3,7 @@ name: 'step-05-shopping'
description: 'Create a comprehensive shopping list that supports the meal strategy'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-05-shopping.md'
@ -12,8 +12,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Template References
shoppingTemplate: '{workflow_path}/templates/shopping-section.md'
@ -157,8 +157,8 @@ Display: **Select an Option:** [A] Budget Optimization Strategies [P] Shopping P
#### Menu Handling Logic:
- HALT and AWAIT ANSWER
- IF A: Execute `{project-root}/.bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/.bmad/core/workflows/party-mode/workflow.md`
- IF A: Execute `{project-root}/_bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
- IF C: Save content to nutrition-plan.md, update frontmatter `stepsCompleted` to add 5 at the end of the array before loading next step, then load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)

View File

@ -3,7 +3,7 @@ name: 'step-06-prep-schedule'
description: "Create a realistic meal prep schedule that fits the user's lifestyle"
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-06-prep-schedule.md'
@ -11,8 +11,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Template References
prepScheduleTemplate: '{workflow_path}/templates/prep-schedule-section.md'
@ -178,8 +178,8 @@ Display: **Select an Option:** [A] Advanced Prep Techniques [P] Coach Perspectiv
#### Menu Handling Logic:
- HALT and AWAIT ANSWER
- IF A: Execute `{project-root}/.bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/.bmad/core/workflows/party-mode/workflow.md`
- IF A: Execute `{project-root}/_bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
- IF C: update frontmatter `stepsCompleted` to add 6 at the end of the array before loading next step, mark workflow complete, display final message
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)

View File

@ -49,10 +49,10 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/.bmad/core/config.yaml and resolve:
Load and read full config from {project-root}/\_bmad/core/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
### 2. First Step EXECUTION
Load, read the full file and then execute `{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md` to begin the workflow.
Load, read the full file and then execute `{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md` to begin the workflow.

View File

@ -106,7 +106,7 @@ Modules can share workflows:
```yaml
# In agent menu item:
workflow: '{project-root}/.bmad/other-module/workflows/shared-workflow/workflow.yaml'
workflow: '{project-root}/_bmad/other-module/workflows/shared-workflow/workflow.yaml'
```
Common patterns:
@ -143,22 +143,6 @@ Changes are reviewed and approved by you before being applied.
- Full module review (option 12) is great for inherited or legacy modules
- The workflow handles path updates when you reorganize structure
## Source vs Installed Modules
**Source modules** (in src/modules/):
- Have installer files in tools/cli/installers/
- Can configure web bundles
- Are the development source of truth
**Installed modules** (in .bmad/):
- Are deployed to target projects
- Use config.yaml for user customization
- Are compiled from source during installation
This workflow works with both, but installer options only apply to source modules.
## Example Usage
```

View File

@ -4,8 +4,7 @@ Use this checklist to validate module edits meet BMAD Core standards.
## Module Structure Validation
- [ ] Module has clear 3-letter code (bmm, bmb, cis, etc.)
- [ ] Module is in correct location (src/modules/ for source, .bmad/ for installed)
- [ ] Module has clear abbreviation code (bmm, bmb, cis, etc.)
- [ ] agents/ directory exists
- [ ] workflows/ directory exists
- [ ] config.yaml exists in module root
@ -24,7 +23,7 @@ Use this checklist to validate module edits meet BMAD Core standards.
### Optional Fields (if used)
- [ ] custom_module_location documented
- [ ] bmb_creations_output_folder documented
- [ ] Module-specific fields documented in README
### File Quality
@ -127,7 +126,7 @@ Use this checklist to validate module edits meet BMAD Core standards.
- [ ] Web bundles configured in workflow.yaml files
- [ ] All referenced files included in web_bundle_files
- [ ] Paths are .bmad/-relative (not project-root)
- [ ] Paths are \_bmad/-relative (not project-root)
- [ ] No config_source references in web bundles
- [ ] Invoked workflows included in dependencies

View File

@ -1,7 +1,7 @@
# Edit Module - Module Editor Instructions
<critical>The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/edit-module/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/edit-module/workflow.yaml</critical>
<critical>This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs</critical>
<critical>The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them</critical>
<critical>Communicate all responses in {communication_language}</critical>
@ -9,7 +9,7 @@
<workflow>
<step n="1" goal="Load and deeply understand the target module">
<ask>What is the path to the module you want to edit? (provide path to module directory like .bmad/bmm/ or src/modules/bmm/)</ask>
<ask>What is the path to the module source you want to edit?</ask>
<action>Load the module directory structure completely:
@ -18,7 +18,6 @@
- Load README.md
- List all agents in agents/ directory
- List all workflows in workflows/ directory
- Check for installer files (if in src/modules/)
- Identify any custom structure or patterns
</action>
@ -187,7 +186,7 @@ Let the conversation flow naturally. Build a shared vision of what "better" look
**If setting up cross-module integration:**
- Identify which workflows from other modules are needed
- Show how to reference workflows properly: {project-root}/.bmad/{{module}}/workflows/{{workflow}}/workflow.yaml
- Show how to reference workflows properly: {project-root}/\_bmad/{{module}}/workflows/{{workflow}}/workflow.yaml
- Document the integration in README
- Ensure dependencies are clear
- Consider adding example usage

View File

@ -4,26 +4,26 @@ description: "Edit existing BMAD modules (structure, agents, workflows, document
author: "BMad"
# Critical variables load from config_source
config_source: "{project-root}/.bmad/bmb/config.yaml"
config_source: "{project-root}/_bmad/bmb/config.yaml"
communication_language: "{config_source}:communication_language"
user_name: "{config_source}:user_name"
# Required Data Files - Critical for understanding module conventions
module_structure_guide: "{project-root}/.bmad/bmb/workflows/create-module/module-structure.md"
module_structure_guide: "{project-root}/_bmad/bmb/workflows/create-module/module-structure.md"
# Related workflow editors
agent_editor: "{project-root}/.bmad/bmb/workflows/edit-agent/workflow.yaml"
workflow_editor: "{project-root}/.bmad/bmb/workflows/edit-workflow/workflow.yaml"
agent_editor: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.yaml"
workflow_editor: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.yaml"
# Reference examples - for learning patterns
bmm_module_dir: "{project-root}/.bmad/bmm/"
bmb_module_dir: "{project-root}/.bmad/bmb/"
cis_module_dir: "{project-root}/.bmad/cis/"
existing_agents_dir: "{project-root}/.bmad/*/agents/"
existing_workflows_dir: "{project-root}/.bmad/*/workflows/"
bmm_module_dir: "{project-root}/_bmad/bmm/"
bmb_module_dir: "{project-root}/_bmad/bmb/"
cis_module_dir: "{project-root}/_bmad/cis/"
existing_agents_dir: "{project-root}/_bmad/*/agents/"
existing_workflows_dir: "{project-root}/_bmad/*/workflows/"
# Module path and component files
installed_path: "{project-root}/.bmad/bmb/workflows/edit-module"
installed_path: "{project-root}/_bmad/bmb/workflows/edit-module"
template: false # This is an action workflow - no template needed
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"

View File

@ -254,8 +254,8 @@ To customize this workflow:
For issues or questions:
- Review the workflow creation guide at `/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md`
- Study existing module examples in `/.bmad/` for patterns and inspiration
- Review the workflow creation guide at `/_bmad/bmb/workflows/create-workflow/workflow-creation-guide.md`
- Study existing module examples in `/_bmad/` for patterns and inspiration
- Validate output using `checklist.md`
- Consult module structure guide at `create-module/module-structure.md`

View File

@ -1,7 +1,7 @@
# Module Brief Instructions
<critical>The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/module-brief/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/module-brief/workflow.yaml</critical>
<critical>Communicate in {communication_language} throughout the module brief creation process</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>

View File

@ -4,15 +4,15 @@ description: "Create a comprehensive Module Brief that serves as the blueprint f
author: "BMad Builder"
# Critical variables
config_source: "{project-root}/.bmad/bmb/config.yaml"
config_source: "{project-root}/_bmad/bmb/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
date: system-generated
# Reference examples and documentation
existing_modules_dir: "{project-root}/.bmad/"
module_structure_guide: "{project-root}/.bmad/bmb/workflows/create-module/module-structure.md"
existing_modules_dir: "{project-root}/_bmad/"
module_structure_guide: "{project-root}/_bmad/bmb/workflows/create-module/module-structure.md"
# Optional user inputs - discovered if they exist
input_file_patterns:
@ -22,7 +22,7 @@ input_file_patterns:
load_strategy: "FULL_LOAD"
# Module path and component files
installed_path: "{project-root}/.bmad/bmb/workflows/module-brief"
installed_path: "{project-root}/_bmad/bmb/workflows/module-brief"
template: "{installed_path}/template.md"
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"

View File

@ -7,7 +7,7 @@ Reference examples for module-integrated agents.
Module agents integrate with BMAD module workflows (BMM, CIS, BMB). They:
- Orchestrate multi-step workflows
- Use `.bmad` path variables
- Use `_bmad` path variables
- Have fixed professional personas (no install_config)
- Reference module-specific configurations
@ -46,5 +46,3 @@ When creating module agents:
3. Rewrite persona for your domain
4. Replace menu with actual available workflows
5. Remove hypothetical workflow references
See `/src/modules/bmb/docs/agents/module-agent-architecture.md` for complete guide.

View File

@ -10,7 +10,7 @@
agent:
metadata:
id: ".bmad/bmm/agents/security-engineer.md"
id: "_bmad/bmm/agents/security-engineer.md"
name: "Sam"
title: "Security Engineer"
icon: "🔐"
@ -32,22 +32,22 @@ agent:
menu:
# NOTE: These workflows are hypothetical examples - not implemented
- trigger: threat-model
workflow: "{project-root}/.bmad/bmm/workflows/threat-model/workflow.yaml"
workflow: "{project-root}/_bmad/bmm/workflows/threat-model/workflow.yaml"
description: "Create STRIDE threat model for architecture"
- trigger: security-review
workflow: "{project-root}/.bmad/bmm/workflows/security-review/workflow.yaml"
workflow: "{project-root}/_bmad/bmm/workflows/security-review/workflow.yaml"
description: "Review code/design for security issues"
- trigger: owasp-check
exec: "{project-root}/.bmad/bmm/tasks/owasp-top-10.xml"
exec: "{project-root}/_bmad/bmm/tasks/owasp-top-10.xml"
description: "Check against OWASP Top 10"
- trigger: compliance
workflow: "{project-root}/.bmad/bmm/workflows/compliance-check/workflow.yaml"
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"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Multi-agent security discussion"

View File

@ -10,7 +10,7 @@
agent:
metadata:
id: ".bmad/cis/agents/trend-analyst.md"
id: "_bmad/cis/agents/trend-analyst.md"
name: "Nova"
title: "Trend Analyst"
icon: "📈"
@ -32,26 +32,26 @@ agent:
menu:
# NOTE: These workflows are hypothetical examples - not implemented
- trigger: scan-trends
workflow: "{project-root}/.bmad/cis/workflows/trend-scan/workflow.yaml"
workflow: "{project-root}/_bmad/cis/workflows/trend-scan/workflow.yaml"
description: "Scan for emerging trends in a domain"
- trigger: analyze-trend
workflow: "{project-root}/.bmad/cis/workflows/trend-analysis/workflow.yaml"
workflow: "{project-root}/_bmad/cis/workflows/trend-analysis/workflow.yaml"
description: "Deep dive on a specific trend"
- trigger: opportunity-map
workflow: "{project-root}/.bmad/cis/workflows/opportunity-mapping/workflow.yaml"
workflow: "{project-root}/_bmad/cis/workflows/opportunity-mapping/workflow.yaml"
description: "Map trend to strategic opportunities"
- trigger: competitor-trends
exec: "{project-root}/.bmad/cis/tasks/competitor-trend-watch.xml"
exec: "{project-root}/_bmad/cis/tasks/competitor-trend-watch.xml"
description: "Monitor competitor trend adoption"
# Core workflows that exist
- trigger: brainstorm
workflow: "{project-root}/.bmad/core/workflows/brainstorming/workflow.yaml"
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"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Discuss trends with other agents"

View File

@ -127,7 +127,7 @@ This personality is maintained across ALL commands through the persona definitio
```yaml
agent:
metadata:
id: .bmad/agents/{agent-name}/{agent-name}.md # Build path
id: _bmad/agents/{agent-name}/{agent-name}.md # Build path
name: "Display Name"
title: "Professional Title"
icon: "🎭"

View File

@ -1,6 +1,6 @@
agent:
metadata:
id: .bmad/agents/commit-poet/commit-poet.md
id: _bmad/agents/commit-poet/commit-poet.md
name: "Inkwell Von Comitizen"
title: "Commit Message Artisan"
icon: "📜"

View File

@ -3,7 +3,7 @@ name: 'step-01-init'
description: 'Initialize the nutrition plan workflow by detecting continuation state and creating output document'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-01-init.md'

View File

@ -3,7 +3,7 @@ name: 'step-01b-continue'
description: 'Handle workflow continuation from previous session'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'

View File

@ -3,7 +3,7 @@ name: 'step-02-profile'
description: 'Gather comprehensive user profile information through collaborative conversation'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References (all use {variable} format in file)
thisStepFile: '{workflow_path}/steps/step-02-profile.md'
@ -12,8 +12,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Template References
profileTemplate: '{workflow_path}/templates/profile-section.md'

View File

@ -3,7 +3,7 @@ name: 'step-03-assessment'
description: 'Analyze nutritional requirements, identify restrictions, and calculate target macros'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-03-assessment.md'
@ -12,8 +12,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Data References
dietaryRestrictionsDB: '{workflow_path}/data/dietary-restrictions.csv'

View File

@ -3,7 +3,7 @@ name: 'step-04-strategy'
description: 'Design a personalized meal strategy that meets nutritional needs and fits lifestyle'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-04-strategy.md'
@ -13,8 +13,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Data References
recipeDatabase: '{workflow_path}/data/recipe-database.csv'
@ -167,8 +167,8 @@ Display: **Select an Option:** [A] Meal Variety Optimization [P] Chef & Dietitia
#### Menu Handling Logic:
- HALT and AWAIT ANSWER
- IF A: Execute `{project-root}/.bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/.bmad/core/workflows/party-mode/workflow.md`
- IF A: Execute `{project-root}/_bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
- IF C: Save content to nutrition-plan.md, update frontmatter, check cooking frequency:
- IF cooking frequency > 2x/week: load, read entire file, then execute `{workflow_path}/step-05-shopping.md`
- IF cooking frequency ≤ 2x/week: load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`

View File

@ -3,7 +3,7 @@ name: 'step-05-shopping'
description: 'Create a comprehensive shopping list that supports the meal strategy'
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-05-shopping.md'
@ -12,8 +12,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Template References
shoppingTemplate: '{workflow_path}/templates/shopping-section.md'
@ -157,8 +157,8 @@ Display: **Select an Option:** [A] Budget Optimization Strategies [P] Shopping P
#### Menu Handling Logic:
- HALT and AWAIT ANSWER
- IF A: Execute `{project-root}/.bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/.bmad/core/workflows/party-mode/workflow.md`
- IF A: Execute `{project-root}/_bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
- IF C: Save content to nutrition-plan.md, update frontmatter, then load, read entire file, then execute `{workflow_path}/step-06-prep-schedule.md`
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)

View File

@ -3,7 +3,7 @@ name: 'step-06-prep-schedule'
description: "Create a realistic meal prep schedule that fits the user's lifestyle"
# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition'
workflow_path: '{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition'
# File References
thisStepFile: '{workflow_path}/steps/step-06-prep-schedule.md'
@ -11,8 +11,8 @@ workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/nutrition-plan-{project_name}.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Template References
prepScheduleTemplate: '{workflow_path}/templates/prep-schedule-section.md'
@ -178,8 +178,8 @@ Display: **Select an Option:** [A] Advanced Prep Techniques [P] Coach Perspectiv
#### Menu Handling Logic:
- HALT and AWAIT ANSWER
- IF A: Execute `{project-root}/.bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/.bmad/core/workflows/party-mode/workflow.md`
- IF A: Execute `{project-root}/_bmad/core/tasks/advanced-elicitation.xml`
- IF P: Execute `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
- IF C: Update frontmatter with all steps completed, mark workflow complete, display final message
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)

View File

@ -49,10 +49,10 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/.bmad/bmm/config.yaml and resolve:
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`
### 2. First Step EXECUTION
Load, read the full file and then execute `{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md` to begin the workflow.
Load, read the full file and then execute `{project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md` to begin the workflow.

View File

@ -81,10 +81,10 @@
**Agent Documentation References**
- Agent compilation guide: `{project-root}/.bmad/bmb/docs/agents/agent-compilation.md`
- Agent types guide: `{project-root}/.bmad/bmb/docs/agents/understanding-agent-types.md`
- Agent compilation guide: `{project-root}/_bmad/bmb/docs/agents/agent-compilation.md`
- Agent types guide: `{project-root}/_bmad/bmb/docs/agents/understanding-agent-types.md`
- Architecture docs: simple, expert, module agent architectures
- Menu patterns guide: `{project-root}/.bmad/bmb/docs/agents/agent-menu-patterns.md`
- Menu patterns guide: `{project-root}/_bmad/bmb/docs/agents/agent-menu-patterns.md`
- Status: ✅ ALL REFERENCES PRESERVED
**Communication Presets**

View File

@ -10,11 +10,11 @@ thisStepFile: '{workflow_path}/steps/step-01-brainstorm.md'
nextStepFile: '{workflow_path}/steps/step-02-discover.md'
workflowFile: '{workflow_path}/workflow.md'
brainstormContext: '{workflow_path}/data/brainstorm-context.md'
brainstormWorkflow: '{project-root}/.bmad/core/workflows/brainstorming/workflow.md'
brainstormWorkflow: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 1: Optional Brainstorming
@ -90,7 +90,7 @@ Wait for clear user response (yes/no or y/n).
- Load brainstorming workflow: `{brainstormWorkflow}`
- Pass context data: `{brainstormContext}`
- Execute brainstorming session
- Execute brainstorming session scoped specifically to brainstorming a new agent.
- Capture all brainstorming output for next step
- Return to this step after brainstorming completes

View File

@ -9,8 +9,8 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
thisStepFile: '{workflow_path}/steps/step-02-discover.md'
nextStepFile: '{workflow_path}/steps/step-03-persona.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-purpose-{project_name}.md'
agentTypesGuide: '{project-root}/.bmad/bmb/docs/agents/understanding-agent-types.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
agentTypesGuide: '{project-root}/_bmad/bmb/docs/agents/understanding-agent-types.md'
simpleExamples: '{workflow_path}/data/reference/agents/simple-examples/'
expertExamples: '{workflow_path}/data/reference/agents/expert-examples/'
moduleExamples: '{workflow_path}/data/reference/agents/module-examples/'
@ -19,8 +19,8 @@ moduleExamples: '{workflow_path}/data/reference/agents/module-examples/'
agentPurposeTemplate: '{workflow_path}/templates/agent-purpose-and-type.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 2: Discover Agent Purpose and Type
@ -112,10 +112,6 @@ As purpose becomes clear, analyze and recommend appropriate agent type.
- Choose when: Needs to remember across sessions, personal knowledge base, learning over time
- CAN have personal workflows in sidecar if critical_actions loads workflow engine
- Example: Personal research assistant, domain expert advisor, learning companion
- **Module Agent** - Workflow orchestration, team integration, shared infrastructure
- Choose when: Coordinates workflows, works with other agents, professional operations
- CAN invoke module workflows and coordinate with team agents
- Example: Project coordinator, workflow manager, team orchestrator
**Type Selection Process:**
@ -162,7 +158,7 @@ As purpose becomes clear, analyze and recommend appropriate agent type.
[Any relevant insights from previous brainstorming session]
```
Save this content to `{outputFile}` for reference in subsequent steps.
Save this content to {agentPlan} for reference in subsequent steps.
### 6. Present MENU OPTIONS
@ -172,7 +168,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
#### EXECUTION RULES:

View File

@ -9,16 +9,16 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
thisStepFile: '{workflow_path}/steps/step-03-persona.md'
nextStepFile: '{workflow_path}/steps/step-04-commands.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-persona-{project_name}.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
communicationPresets: '{workflow_path}/data/communication-presets.csv'
agentMenuPatterns: '{project-root}/.bmad/bmb/docs/agents/agent-menu-patterns.md'
agentMenuPatterns: '{project-root}/_bmad/bmb/docs/agents/agent-menu-patterns.md'
# Template References
personaTemplate: '{workflow_path}/templates/agent-persona.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 3: Shape Agent's Personality
@ -211,7 +211,7 @@ Ask: "How should this agent guide users - with adaptive conversation (intent-bas
[Intent-based or Prescriptive with rationale]
```
Save this content to `{outputFile}` for reference in subsequent steps.
Append this content to {agentPlan} for reference in subsequent steps.
### 8. Present MENU OPTIONS
@ -221,7 +221,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#8-present-menu-options)
#### EXECUTION RULES:

View File

@ -9,18 +9,18 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
thisStepFile: '{workflow_path}/steps/step-04-commands.md'
nextStepFile: '{workflow_path}/steps/step-05-name.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-commands-{project_name}.md'
agentMenuPatterns: '{project-root}/.bmad/bmb/docs/agents/agent-menu-patterns.md'
simpleArchitecture: '{project-root}/.bmad/bmb/docs/agents/simple-agent-architecture.md'
expertArchitecture: '{project-root}/.bmad/bmb/docs/agents/expert-agent-architecture.md'
moduleArchitecture: '{project-root}/.bmad/bmb/docs/agents/module-agent-architecture.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
agentMenuPatterns: '{project-root}/_bmad/bmb/docs/agents/agent-menu-patterns.md'
simpleArchitecture: '{project-root}/_bmad/bmb/docs/agents/simple-agent-architecture.md'
expertArchitecture: '{project-root}/_bmad/bmb/docs/agents/expert-agent-architecture.md'
moduleArchitecture: '{project-root}/_bmad/bmb/docs/agents/module-agent-architecture.md'
# Template References
commandsTemplate: '{workflow_path}/templates/agent-commands.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 4: Build Capabilities and Commands
@ -187,7 +187,7 @@ If user seems engaged, explore special features:
[Architecture-specific considerations and technical requirements]
```
Save this content to `{outputFile}` for reference in subsequent steps.
Save this content to {agentPlan} for reference in subsequent steps.
### 7. Present MENU OPTIONS
@ -197,7 +197,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options)
#### EXECUTION RULES:

View File

@ -9,14 +9,15 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
thisStepFile: '{workflow_path}/steps/step-05-name.md'
nextStepFile: '{workflow_path}/steps/step-06-build.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-identity-{project_name}.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
# Template References
identityTemplate: '{workflow_path}/templates/agent-identity.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 5: Agent Naming and Identity
@ -182,7 +183,7 @@ Once name is selected, confirm the complete identity package:
[User confirmation that identity package feels right]
```
Save this content to `{outputFile}` for reference in subsequent steps.
Save this content to {agentPlan} for reference in subsequent steps.
### 6. Present MENU OPTIONS
@ -192,7 +193,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
#### EXECUTION RULES:

View File

@ -9,23 +9,23 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
thisStepFile: '{workflow_path}/steps/step-06-build.md'
nextStepFile: '{workflow_path}/steps/step-07-validate.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-yaml-{project_name}.md'
moduleOutputFile: '{project-root}/.bmad/{target_module}/agents/{agent_filename}.agent.yaml'
standaloneOutputFile: '{workflow_path}/data/{agent_filename}/{agent_filename}.agent.yaml'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
agentBuildOutput: '{bmb_creations_output_folder}/{agent-name}'
# Template References
completeAgentTemplate: '{workflow_path}/templates/agent-complete-{agent_type}.md'
simpleAgentTemplate: '{workflow_path}/templates/simple-agent.template.md'
expertAgentTemplate: '{workflow_path}/templates/expert-agent.template.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 6: Build Complete Agent YAML
## STEP GOAL:
Generate the complete YAML agent file incorporating all discovered elements: purpose, persona, capabilities, name, and identity while maintaining the collaborative creation journey.
Generate the complete YAML agent folder, yaml file and sidecar content to the specification defined in {agentBuildOutput} completely.
## MANDATORY EXECUTION RULES (READ FIRST):
@ -46,10 +46,10 @@ Generate the complete YAML agent file incorporating all discovered elements: pur
### Step-Specific Rules:
- 🎯 Focus only on generating complete YAML structure based on discovered elements
- 🚫 FORBIDDEN to duplicate auto-injected features (help, exit, activation handlers)
- 🎯 Focus only on generating complete YAML and sidecar content structure based on discovered elements
- 🚫 FORBIDDEN to duplicate auto-injected features (help and exit menu items, activation handler instructions)
- 💬 Approach: Present the journey of collaborative creation while building technical structure
- 📋 Generate YAML that accurately reflects all discoveries from previous steps
- 📋 Generate YAML and sidecar files that accurately reflects all discoveries from previous steps
## EXECUTION PROTOCOLS:
@ -85,19 +85,15 @@ Present this to the user:
Based on determined agent type, load appropriate template:
- Simple Agent: `agent-complete-simple.md`
- Expert Agent: `agent-complete-expert.md`
- Module Agent: `agent-complete-module.md`
- If (agent will have memories and optionally its own knowledge, separate prompt files, or data in separate files)
- Utilize {expertAgentTemplate} to generate the agent output file {agentBuildOutput}/{agent-name}.agent.yaml
- Create the Side-cre folder to hold the optional sidecar files if needed from plan in following steps at {agentBuildOutput}/{agent-name}/{agent-name}-sidecar
- ELSE:
- utilize {simpleAgentTemplate} to generate the agent output file {agentBuildOutput}/{agent-name}.agent.yaml
### 3. YAML Structure Generation
### 4. Generate Complete YAML and sidecar content if applicable
Explain the core structure to user:
"I'll now generate the complete YAML that incorporates everything we've discovered. This will include your agent's metadata, persona, capabilities, and configuration."
### 4. Generate Complete YAML
Create the complete YAML incorporating all discovered elements:
Create the complete YAML incorporating all discovered elements from the plan:
**Core Structure:**
@ -140,41 +136,7 @@ Ensure proper implementation based on agent type:
- Memory integration points
- Personal workflow capabilities
**Module Agent:**
- Workflow orchestration capabilities
- Team integration references
- Cross-agent coordination
### 6. Document Complete YAML
#### Content to Append (if applicable):
```markdown
## Complete Agent YAML
### Agent Type
[Simple/Expert/Module as determined]
### Generated Configuration
[Complete YAML structure with all discovered elements]
### Key Features Integrated
- Purpose and role from discovery phase
- Complete persona with four-field system
- All capabilities and commands developed
- Agent name and identity established
- Type-specific optimizations applied
### Output Configuration
[Proper file paths and configuration based on agent type]
```
Save this content to `{outputFile}` for reference.
Ensure all files generated are complete, and nothing from the plan has not been skipped, and then give a creational summary of what was done to the user in chat.
### 7. Present MENU OPTIONS
@ -184,7 +146,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF C: Save content to {agentBuildOutput}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options)
#### EXECUTION RULES:

View File

@ -7,18 +7,18 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
# File References
thisStepFile: '{workflow_path}/steps/step-07-validate.md'
nextStepFile: '{workflow_path}/steps/step-08-setup.md'
nextStepFile: '{workflow_path}/steps/step-08-celebrate.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-validation-{project_name}.md'
agentValidationChecklist: '{project-root}/.bmad/bmb/workflows/create-agent/agent-validation-checklist.md'
outputFile: '{bmb_creations_output_folder}/agent-validation-{project_name}.md'
agentValidationChecklist: '{project-root}/_bmad/bmb/workflows/create-agent/agent-validation-checklist.md'
agentFile: '{{output_file_path}}'
# Template References
validationTemplate: '{workflow_path}/templates/validation-results.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 7: Quality Check and Validation

View File

@ -10,14 +10,10 @@ thisStepFile: '{workflow_path}/steps/step-11-celebrate.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-completion-{project_name}.md'
agentFile: '{{output_file_path}}'
compiledAgentFile: '{{compiled_agent_path}}'
# Template References
completionTemplate: '{workflow_path}/templates/completion-summary.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 11: Celebration and Next Steps

View File

@ -1,179 +0,0 @@
---
name: 'step-08-setup'
description: 'Set up the agent workspace with sidecar files for expert agents'
# Path Definitions
workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
# File References
thisStepFile: '{workflow_path}/steps/step-08-setup.md'
nextStepFile: '{workflow_path}/steps/step-09-customize.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-setup-{project_name}.md'
agentSidecarFolder: '{{standalone_output_folder}}/{{agent_filename}}-sidecar'
# Template References
sidecarTemplate: '{workflow_path}/templates/expert-sidecar-structure.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
---
# Step 8: Expert Agent Workspace Setup
## STEP GOAL:
Guide user through setting up the Expert agent's personal workspace with sidecar files for persistent memory, knowledge, and session management, or skip appropriately for Simple/Module agents.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- ✅ You are a workspace architect who helps set up agent environments
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring workspace setup expertise, user brings their agent vision, together we create the optimal agent environment
- ✅ Maintain collaborative supportive tone throughout
### Step-Specific Rules:
- 🎯 Focus only on Expert agent workspace setup (skip for Simple/Module agents)
- 🚫 FORBIDDEN to create sidecar files for Simple or Module agents
- 💬 Approach: Frame setup as preparing an agent's "office" or "workspace"
- 📋 Execute conditional setup based on agent type
## EXECUTION PROTOCOLS:
- 🎯 Only execute sidecar setup for Expert agents (auto-proceed for Simple/Module)
- 💾 Create complete sidecar file structure when needed
- 📖 Use proper templates for Expert agent configuration
- 🚫 FORBIDDEN to create unnecessary files or configurations
## CONTEXT BOUNDARIES:
- Available context: Validated agent configuration from previous step
- Focus: Expert agent workspace setup or appropriate skip for other agent types
- Limits: No modifications to core agent files, only workspace setup
- Dependencies: Agent type determination from earlier steps
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Agent Type Check and Introduction
Check agent type and present appropriate introduction:
**For Expert Agents:**
"Now let's set up {{agent_name}}'s personal workspace! Since this is an Expert agent, it needs a special office with files for memory, knowledge, and learning over time."
**For Simple/Module Agents:**
"Great news! {{agent_name}} doesn't need a separate workspace setup. Simple and Module agents are self-contained and ready to go. Let's continue to the next step."
### 2. Expert Agent Workspace Setup (only for Expert agents)
**Workspace Preparation:**
"I'm now creating {{agent_name}}'s personal workspace with everything it needs to remember conversations, build knowledge, and grow more helpful over time."
**Sidecar Structure Creation:**
- Create main sidecar folder: `{agentSidecarFolder}`
- Set up knowledge base files
- Create session management files
- Establish learning and memory structures
**Workspace Elements Explained:**
"Here's what I'm setting up for {{agent_name}}:
- **Memory files** - To remember important conversations and user preferences
- **Knowledge base** - To build expertise in its domain
- **Session logs** - To track progress and maintain continuity
- **Personal workflows** - For specialized capabilities unique to this agent"
### 3. User Confirmation and Questions
**Workspace Confirmation:**
"{{agent_name}}'s workspace is now ready! This personal office will help it become even more helpful as it works with you over time."
**Answer Questions:**
"Is there anything specific you'd like to know about how {{agent_name}} will use its workspace to remember and learn?"
### 4. Document Workspace Setup
#### Content to Append (if applicable):
```markdown
## Agent Workspace Setup
### Agent Type
[Expert/Simple/Module]
### Workspace Configuration
[For Expert agents: Complete sidecar structure created]
### Setup Elements
- Memory and session management files
- Knowledge base structure
- Personal workflow capabilities
- Learning and adaptation framework
### Location
[Path to agent workspace or note of self-contained nature]
```
Save this content to `{outputFile}` for reference.
### 5. Present MENU OPTIONS
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
#### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [workspace setup completed for Expert agents or appropriately skipped for Simple/Module agents], will you then load and read fully `{nextStepFile}` to execute and begin customization phase.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Expert agents receive complete sidecar workspace setup
- Simple/Module agents appropriately skip workspace setup
- User understands agent workspace requirements
- All necessary files and structures created for Expert agents
- User questions answered and workspace confirmed ready
- Content properly saved to output file
- Menu presented and user input handled correctly
### ❌ SYSTEM FAILURE:
- Creating sidecar files for Simple or Module agents
- Not creating complete workspace for Expert agents
- Failing to explain workspace purpose and value
- Creating unnecessary files or configurations
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@ -1,197 +0,0 @@
---
name: 'step-09-customize'
description: 'Optional personalization with customization file creation'
# Path Definitions
workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
# File References
thisStepFile: '{workflow_path}/steps/step-09-customize.md'
nextStepFile: '{workflow_path}/steps/step-10-build-tools.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-customization-{project_name}.md'
configOutputFile: '{project-root}/.bmad/_cfg/agents/{target_module}-{agent_filename}.customize.yaml'
# Template References
customizationTemplate: '{workflow_path}/templates/agent-customization.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
---
# Step 9: Optional Customization File
## STEP GOAL:
Offer optional customization file creation for easy personality tweaking and command modification without touching core agent files, providing experimental flexibility for agent refinement.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- ✅ You are a customization specialist who helps users refine agent behavior
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring customization expertise, user brings their refinement preferences, together we create flexible agent configuration options
- ✅ Maintain collaborative experimental tone throughout
### Step-Specific Rules:
- 🎯 Focus only on offering optional customization file creation
- 🚫 FORBIDDEN to make customization mandatory or required
- 💬 Approach: Emphasize experimental and flexible nature of customizations
- 📋 Present customization as optional enhancement for future tweaking
## EXECUTION PROTOCOLS:
- 🎯 Present customization as optional enhancement with clear benefits
- 💾 Create easy-to-use customization template when requested
- 📖 Explain customization file purpose and usage clearly
- 🚫 FORBIDDEN to proceed without clear user choice about customization
## CONTEXT BOUNDARIES:
- Available context: Complete agent configuration from previous steps
- Focus: Optional customization file creation for future agent tweaking
- Limits: No modifications to core agent files, only customization overlay
- Dependencies: Complete agent ready for optional customization
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Customization Introduction
Present this to the user:
"Would you like to create a customization file for {{agent_name}}? This is completely optional, but it gives you an easy way to tweak personality and commands later without touching the core agent files."
**Customization Benefits:**
- Easy personality adjustments without editing core files
- Command modifications without risking agent stability
- Experimental tweaks you can turn on/off
- Safe space to try new approaches
### 2. Customization Options Explanation
**What You Can Customize:**
"Through the customization file, you'll be able to:
- Fine-tune communication style and personality details
- Add or modify commands without affecting core structure
- Experiment with different approaches or settings
- Make quick adjustments as you learn how {{agent_name}} works best for you"
**How It Works:**
"The customization file acts like a settings overlay - it lets you override specific parts of {{agent_name}}'s configuration while keeping the core agent intact and stable."
### 3. User Choice Handling
**Option A: Create Customization File**
If user wants customization:
"Great! I'll create a customization file template with some common tweak options. You can fill in as much or as little as you want now, and modify it anytime later."
**Option B: Skip Customization**
If user declines:
"No problem! {{agent_name}} is ready to use as-is. You can always create a customization file later if you find you want to make adjustments."
### 4. Customization File Creation (if chosen)
When user chooses customization:
**Template Creation:**
"I'm creating your customization file with easy-to-use sections for:
- **Personality tweaks** - Adjust communication style or specific principles
- **Command modifications** - Add new commands or modify existing ones
- **Experimental features** - Try new approaches safely
- **Quick settings** - Common adjustments people like to make"
**File Location:**
"Your customization file will be saved at: `{configOutputFile}`"
### 5. Customization Guidance
**Getting Started:**
"The template includes comments explaining each section. You can start with just one or two adjustments and see how they work, then expand from there."
**Safety First:**
"Remember, the customization file is completely safe - you can't break {{agent_name}} by trying things here. If something doesn't work well, just remove or modify that section."
### 6. Document Customization Setup
#### Content to Append (if applicable):
```markdown
## Agent Customization File
### Customization Choice
[User chose to create/skip customization file]
### Customization Purpose
[If created: Explanation of customization capabilities]
### File Location
[Path to customization file or note of skip]
### Usage Guidance
[Instructions for using customization file]
```
Save this content to `{outputFile}` for reference.
### 7. Present MENU OPTIONS
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
#### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options)
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [customization decision made and file created if requested], will you then load and read fully `{nextStepFile}` to execute and begin build tools handling.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- User understands customization file purpose and benefits
- Customization decision made clearly (create or skip)
- Customization file created with proper template when requested
- User guidance provided for using customization effectively
- Experimental and flexible nature emphasized appropriately
- Content properly saved to output file
- Menu presented and user input handled correctly
### ❌ SYSTEM FAILURE:
- Making customization mandatory or pressuring user
- Creating customization file without clear user request
- Not explaining customization benefits and usage clearly
- Overwhelming user with excessive customization options
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@ -1,180 +0,0 @@
---
name: 'step-10-build-tools'
description: 'Handle build tools availability and generate compiled agent if needed'
# Path Definitions
workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
# File References
thisStepFile: '{workflow_path}/steps/step-10-build-tools.md'
nextStepFile: '{workflow_path}/steps/step-11-celebrate.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/agent-build-{project_name}.md'
agentFile: '{{output_file_path}}'
compiledAgentFile: '{{output_folder}}/{{agent_filename}}.md'
# Template References
buildHandlingTemplate: '{workflow_path}/templates/build-results.md'
# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
---
# Step 10: Build Tools Handling
## STEP GOAL:
Check for BMAD build tools availability and handle agent compilation appropriately based on project context, ensuring agent is ready for activation.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- ✅ You are a build coordinator who manages agent compilation and deployment readiness
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring build process expertise, user brings their agent vision, together we ensure agent is ready for activation
- ✅ Maintain collaborative technical tone throughout
### Step-Specific Rules:
- 🎯 Focus only on build tools detection and agent compilation handling
- 🚫 FORBIDDEN to proceed without checking build tools availability
- 💬 Approach: Explain compilation process clearly and handle different scenarios gracefully
- 📋 Ensure agent is ready for activation regardless of build tools availability
## EXECUTION PROTOCOLS:
- 🎯 Detect build tools availability automatically
- 💾 Handle agent compilation based on tools availability
- 📖 Explain compilation process and next steps clearly
- 🚫 FORBIDDEN to assume build tools are available without checking
## CONTEXT BOUNDARIES:
- Available context: Complete agent configuration and optional customization
- Focus: Build tools detection and agent compilation handling
- Limits: No agent modifications, only compilation and deployment preparation
- Dependencies: Complete agent files ready for compilation
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Build Tools Detection
Check for BMAD build tools availability and present status:
"I'm checking for BMAD build tools to see if we can compile {{agent_name}} for immediate activation..."
**Detection Results:**
[Check for build tools availability and present appropriate status]
### 2. Build Tools Handling
**Scenario A: Build Tools Available**
"Great! BMAD build tools are available. I can compile {{agent_name}} now for immediate activation."
**Scenario B: Build Tools Not Available**
"No problem! BMAD build tools aren't available right now, but {{agent_name}} is still ready to use. The agent files are complete and will work perfectly when build tools are available."
### 3. Agent Compilation (when possible)
**Compilation Process:**
"When build tools are available, I'll:
- Process all agent configuration files
- Generate optimized runtime version
- Create activation-ready deployment package
- Validate final compilation results"
**Compilation Results:**
[If compilation occurs: "✅ {{agent_name}} compiled successfully and ready for activation!"]
### 4. Deployment Readiness Confirmation
**Always Ready:**
"Good news! {{agent_name}} is ready for deployment:
- **With build tools:** Compiled and optimized for immediate activation
- **Without build tools:** Complete agent files ready, will compile when tools become available
**Next Steps:**
"Regardless of build tools availability, your agent is complete and ready to help users with {{agent_purpose}}."
### 5. Build Status Documentation
#### Content to Append (if applicable):
```markdown
## Agent Build Status
### Build Tools Detection
[Status of build tools availability]
### Compilation Results
[If compiled: Success details, if not: Ready for future compilation]
### Deployment Readiness
Agent is ready for activation regardless of build tools status
### File Locations
[Paths to agent files and compiled version if created]
```
Save this content to `{outputFile}` for reference.
### 6. Present MENU OPTIONS
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
#### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [build tools handled appropriately with compilation if available], will you then load and read fully `{nextStepFile}` to execute and begin celebration and final guidance.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Build tools availability detected and confirmed
- Agent compilation completed when build tools available
- Agent readiness confirmed regardless of build tools status
- Clear explanation of deployment readiness provided
- User understands next steps for agent activation
- Content properly saved to output file
- Menu presented and user input handled correctly
### ❌ SYSTEM FAILURE:
- Not checking build tools availability before proceeding
- Failing to compile agent when build tools are available
- Not confirming agent readiness for deployment
- Confusing user about agent availability based on build tools
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@ -1,21 +0,0 @@
# Agent Command Structure
## Core Capabilities
{{developed_capabilities}}
## Menu Structure
{{command_structure}}
## Workflow Integration
{{workflow_integration_plan}}
## Advanced Features
{{advanced_features}}
---
_Commands defined on {{date}}_

View File

@ -1,25 +0,0 @@
# Agent Persona Development
## Role
{{discovered_role}}
## Identity
{{developed_identity}}
## Communication Style
{{selected_communication_style}}
## Principles
{{articulated_principles}}
## Interaction Approach
{{interaction_approach}}
---
_Persona finalized on {{date}}_

View File

@ -0,0 +1,3 @@
---
stepsCompleted: []
---

View File

@ -1,23 +0,0 @@
# Agent Purpose and Type Discovery
## Agent Purpose
- **Core Purpose**: {{user_stated_purpose}}
- **Target Users**: {{identified_users}}
- **Key Problems Solved**: {{problems_to_solve}}
- **Unique Value**: {{special_capabilities}}
## Agent Type
- **Selected Type**: {{chosen_agent_type}}
- **Architecture Rationale**: {{type_reasoning}}
- **Key Benefits**: {{type_benefits}}
## Output Configuration
- **Module Path**: {{module_output_file}}
- **Standalone Path**: {{standalone_output_file}}
---
_Generated on {{date}}_

View File

@ -0,0 +1,372 @@
# Expert Agent Architecture
Domain-specific agents with persistent memory, sidecar files, and restricted access patterns.
## When to Use
- Personal assistants (journal keeper, diary companion)
- Specialized domain experts (legal advisor, medical reference)
- Agents that need to remember past interactions
- Agents with restricted file system access (privacy/security)
- Long-term relationship agents that learn about users
## File Structure
```
{agent-name}/
├── {agent-name}.agent.yaml # Main agent definition
└── {agent-name}-sidecar/ # Supporting files
├── instructions.md # Private directives
├── memories.md # Persistent memory
├── knowledge/ # Domain-specific resources
│ └── README.md
└── [custom files] # Agent-specific resources
```
## YAML Structure
```yaml
agent:
metadata:
name: 'Persona Name'
title: 'Agent Title'
icon: 'emoji'
type: 'expert'
persona:
role: 'Domain Expert with specialized capability'
identity: |
Background and expertise in first-person voice.
{{#if user_preference}}
Customization based on install_config.
{{/if}}
communication_style: |
{{#if tone_style == "gentle"}}
Gentle and supportive communication...
{{/if}}
{{#if tone_style == "direct"}}
Direct and efficient communication...
{{/if}}
I reference past conversations naturally.
principles:
- Core belief about the domain
- How I handle user information
- My approach to memory and learning
critical_actions:
- 'Load COMPLETE file ./{agent-name}-sidecar/memories.md and remember all past insights'
- 'Load COMPLETE file ./{agent-name}-sidecar/instructions.md and follow ALL protocols'
- 'ONLY read/write files in ./{agent-name}-sidecar/ - this is our private space'
- 'Address user as {{greeting_name}}'
- 'Track patterns, themes, and important moments'
- 'Reference past interactions naturally to show continuity'
prompts:
- id: main-function
content: |
<instructions>
Guide user through the primary function.
{{#if tone_style == "gentle"}}
Use gentle, supportive approach.
{{/if}}
</instructions>
<process>
1. Understand context
2. Provide guidance
3. Record insights
</process>
- id: memory-recall
content: |
<instructions>
Access and share relevant memories.
</instructions>
Reference stored information naturally.
menu:
- trigger: action1
action: '#main-function'
description: 'Primary agent function'
- trigger: remember
action: 'Update ./{agent-name}-sidecar/memories.md with session insights'
description: 'Save what we discussed today'
- trigger: insight
action: 'Document breakthrough in ./{agent-name}-sidecar/breakthroughs.md'
description: 'Record a significant insight'
- multi: "[DF] Do Foo or start [CH] Chat with expert"
triggers:
- do-foo
- input: [DF] or fuzzy match on do foo
- action: '#main-action'
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
- type: action
- expert-chat:
- input: [CH] or fuzzy match validate agent
- action: agent responds as expert based on its persona to converse
- type: action
install_config:
compile_time_only: true
description: 'Personalize your expert agent'
questions:
- var: greeting_name
prompt: 'What should the agent call you?'
type: text
default: 'friend'
- var: tone_style
prompt: 'Preferred communication tone?'
type: choice
options:
- label: 'Gentle - Supportive and nurturing'
value: 'gentle'
- label: 'Direct - Clear and efficient'
value: 'direct'
default: 'gentle'
- var: user_preference
prompt: 'Enable personalized features?'
type: boolean
default: true
```
## Key Components
### Sidecar Files (CRITICAL)
Expert agents use companion files for persistence and domain knowledge:
**memories.md** - Persistent user context
```markdown
# Agent Memory Bank
## User Preferences
<!-- Learned from interactions -->
## Session History
<!-- Important moments and insights -->
## Personal Notes
<!-- Agent observations -->
```
**instructions.md** - Private directives
```markdown
# Agent Private Instructions
## Core Directives
- Maintain character consistency
- Domain boundaries: {specific domain}
- Access restrictions: Only sidecar folder
## Special Rules
<!-- Agent-specific protocols -->
```
**knowledge/** - Domain resources
```markdown
# Agent Knowledge Base
Add domain-specific documentation here.
```
### Critical Actions
**MANDATORY for expert agents** - These load sidecar files at activation:
```yaml
critical_actions:
- 'Load COMPLETE file ./{sidecar}/memories.md and remember all past insights'
- 'Load COMPLETE file ./{sidecar}/instructions.md and follow ALL protocols'
- 'ONLY read/write files in ./{sidecar}/ - this is our private space'
```
**Key patterns:**
- **COMPLETE file loading** - Forces full file read, not partial
- **Domain restrictions** - Limits file access for privacy/security
- **Memory integration** - Past context becomes part of current session
- **Protocol adherence** - Ensures consistent behavior
### {bmad_memory} Variable
Special variable resolved during installation:
- Points to the agent's installation directory
- Used to reference sidecar files
- Example: `_bmad/custom/agents/journal-keeper/`
## What Gets Injected at Compile Time
Same as simple agents, PLUS:
1. **Critical actions become numbered activation steps**
```xml
<step n="4">Load COMPLETE file ./memories.md...</step>
<step n="5">Load COMPLETE file ./instructions.md...</step>
<step n="6">ONLY read/write files in ./...</step>
```
2. **Sidecar files copied during installation**
- Entire sidecar folder structure preserved
- Relative paths maintained
- Files ready for agent use
## Reference Example
See: `bmb/reference/agents/expert-examples/journal-keeper/`
Features demonstrated:
- Complete sidecar structure (memories, instructions, breakthroughs)
- Critical actions for loading persistent context
- Domain restrictions for privacy
- Pattern recognition and memory recall
- Handlebars-based personalization
- Menu actions that update sidecar files
## Installation
```bash
# Copy entire folder to your project
cp -r /path/to/journal-keeper/ _bmad/custom/agents/
# Install with personalization
bmad agent-install
```
The installer:
1. Detects expert agent (folder with .agent.yaml)
2. Prompts for personalization
3. Compiles agent YAML to XML-in-markdown
4. **Copies sidecar files to installation target**
5. Creates IDE slash commands
6. Saves source for reinstallation
## Memory Patterns
### Accumulative Memory
```yaml
menu:
- trigger: save
action: "Update ./sidecar/memories.md with today's session insights"
description: 'Save session to memory'
```
### Reference Memory
```yaml
prompts:
- id: recall
content: |
<instructions>
Reference memories.md naturally:
"Last week you mentioned..." or "I notice a pattern..."
</instructions>
```
### Structured Insights
```yaml
menu:
- trigger: insight
action: 'Document in ./sidecar/breakthroughs.md with date, context, significance'
description: 'Record meaningful insight'
```
## Domain Restriction Patterns
### Single Folder Access
```yaml
critical_actions:
- 'ONLY read/write files in ./sidecar/ - NO OTHER FOLDERS'
```
### User Space Access
```yaml
critical_actions:
- 'ONLY access files in {user-folder}/journals/ - private space'
```
### Read-Only Access
```yaml
critical_actions:
- 'Load knowledge from ./knowledge/ but NEVER modify'
- 'Write ONLY to ./sessions/'
```
## Best Practices
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
3. **Use {bmad_memory} paths** - Portable across installations
4. **Design for memory growth** - Structure sidecar files for accumulation
5. **Reference past naturally** - Don't dump memory, weave it into conversation
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
7. **Include privacy features** - Users trust expert agents with personal data
## Common Patterns
### Session Continuity
```yaml
communication_style: |
I reference past conversations naturally:
"Last time we discussed..." or "I've noticed over the weeks..."
```
### Pattern Recognition
```yaml
critical_actions:
- 'Track mood patterns, recurring themes, and breakthrough moments'
- 'Cross-reference current session with historical patterns'
```
### Adaptive Responses
```yaml
identity: |
I learn your preferences and adapt my approach over time.
{{#if track_preferences}}
I maintain notes about what works best for you.
{{/if}}
```
## Validation Checklist
- [ ] Valid YAML syntax
- [ ] Metadata includes `type: "expert"`
- [ ] critical_actions loads sidecar files explicitly
- [ ] critical_actions enforces domain restrictions
- [ ] Sidecar folder structure created and populated
- [ ] memories.md has clear section structure
- [ ] instructions.md contains core directives
- [ ] Menu actions reference {bmad_memory} correctly
- [ ] File paths use {bmad_memory} variable
- [ ] Install config personalizes sidecar references
- [ ] Agent folder named consistently: `{agent-name}/`
- [ ] YAML file named: `{agent-name}.agent.yaml`
- [ ] Sidecar folder named: `{agent-name}-sidecar/`

View File

@ -0,0 +1,257 @@
# Simple Agent Architecture
Self-contained agents with prompts, menus, and optional install-time customization.
## When to Use
- Single-purpose utilities (commit message generator, code formatter)
- Self-contained logic with no external dependencies
- Agents that benefit from user customization (style, tone, preferences)
- Quick-to-build standalone helpers
## YAML Structure
```yaml
agent:
metadata:
id: _bmad/agents/{agent-name}/{agent-name}.md
name: 'Persona Name'
title: 'Agent Title'
icon: 'emoji'
type: simple
persona:
role: |
First-person description of primary function (1-2 sentences)
identity: |
Background, experience, specializations in first-person (2-5 sentences)
{{#if custom_variable}}
Conditional identity text based on install_config
{{/if}}
communication_style: |
{{#if style_choice == "professional"}}
Professional and systematic approach...
{{/if}}
{{#if style_choice == "casual"}}
Friendly and approachable tone...
{{/if}}
principles:
- Core belief or methodology
- Another guiding principle
- Values that shape decisions
prompts:
- id: main-action
content: |
<instructions>
What this prompt does
</instructions>
<process>
1. Step one
{{#if detailed_mode}}
2. Additional detailed step
{{/if}}
3. Final step
</process>
- id: another-action
content: |
Another reusable prompt template
menu:
- trigger: inline
action: 'Direct inline prompt text'
description: 'Execute inline action'
- multi: "[DF] Do Foo or start [CH] Chat with expert"
triggers:
- do-foo
- input: [DF] or fuzzy match on do foo
- action: '#main-action'
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
- type: action
- expert-chat:
- input: [CH] or fuzzy match validate agent
- action: agent responds as expert based on its persona to converse
- type: action
install_config:
compile_time_only: true
description: 'Personalize your agent'
questions:
- var: style_choice
prompt: 'Preferred communication style?'
type: choice
options:
- label: 'Professional'
value: 'professional'
- label: 'Casual'
value: 'casual'
default: 'professional'
- var: detailed_mode
prompt: 'Enable detailed explanations?'
type: boolean
default: true
- var: custom_variable
prompt: 'Your custom text'
type: text
default: ''
```
## Key Components
### Metadata
- **id**: Final compiled path (`_bmad/agents/{name}/{name}.md` for standalone)
- **name**: Agent's persona name displayed to users
- **title**: Professional role/function
- **icon**: Single emoji for visual identification
- **type**: `simple` - identifies agent category
### Persona (First-Person Voice)
- **role**: Primary expertise in 1-2 sentences
- **identity**: Background and specializations (2-5 sentences)
- **communication_style**: HOW the agent interacts, including conditional variations
- **principles**: Array of core beliefs (start with action verbs)
### Prompts with IDs
Reusable prompt templates referenced by `#id`:
```yaml
prompts:
- id: analyze-code
content: |
<instructions>
Analyze the provided code for patterns
</instructions>
```
Menu items reference these:
```yaml
menu:
- trigger: analyze
action: '#analyze-code'
description: 'Analyze code patterns'
```
### Menu Actions
Two forms of action handlers:
1. **Prompt Reference**: `action: "#prompt-id"` - Executes prompt content
2. **Inline Instruction**: `action: "Direct text instruction"` - Executes text directly
### Install Config (Compile-Time Customization)
Questions asked during `bmad agent-install`:
**Question Types:**
- `choice` - Multiple choice selection
- `boolean` - Yes/no toggle
- `text` - Free-form text input
**Variables become available in Handlebars:**
```yaml
{{#if variable_name}}
Content when true
{{/if}}
{{#if variable_name == "value"}}
Content when equals value
{{/if}}
{{#unless variable_name}}
Content when false
{{/unless}}
```
## What Gets Injected at Compile Time
The `tools/cli/lib/agent/compiler.js` automatically adds:
1. **YAML Frontmatter**
```yaml
---
name: 'agent name'
description: 'Agent Title'
---
```
2. **Activation Block**
- Load persona step
- Load core config for {user_name}, {communication_language}
- Agent-specific critical_actions as numbered steps
- Menu display and input handling
- Menu handlers (action/workflow/exec/tmpl) based on usage
- Rules section
3. **Auto-Injected Menu Items**
- `*help` always first
- `*exit` always last
4. **Trigger Prefixing**
- Triggers without `*` get it added automatically
## Reference Example
See: `../../reference/agents/simple-examples/commit-poet.agent.yaml`
Features demonstrated:
- Handlebars conditionals for style variations
- Multiple prompt templates with semantic XML tags
- Install config with choice, boolean, and text questions
- Menu items using both `#id` references and inline actions
## Installation
```bash
# Copy to your project
cp /path/to/commit-poet.agent.yaml _bmad/custom/agents/
# Create custom.yaml and install
echo "code: my-agent
name: My Agent
default_selected: true" > custom.yaml
npx bmad-method install
# or: bmad install
```
The installer:
1. Prompts for personalization (name, preferences)
2. Processes Handlebars templates with your answers
3. Compiles YAML to XML-in-markdown
4. Creates IDE slash commands
5. Saves source for reinstallation
## Best Practices
1. **Use first-person voice** in all persona elements
2. **Keep prompts focused** - one clear purpose per prompt
3. **Leverage Handlebars** for user customization without code changes
4. **Provide sensible defaults** in install_config
5. **Use semantic XML tags** in prompt content for clarity
6. **Test all conditional paths** before distribution
## Validation Checklist
- [ ] Valid YAML syntax
- [ ] All metadata fields present (id, name, title, icon, type)
- [ ] Persona complete (role, identity, communication_style, principles)
- [ ] Prompts have unique IDs
- [ ] Install config questions have defaults
- [ ] File named `{agent-name}.agent.yaml`

View File

@ -49,43 +49,10 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from `{project-root}/.bmad/bmb/config.yaml`:
Load and read full config from `{project-root}/_bmad/bmb/config.yaml`:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
- `project_name`, `user_name`, `bmad_memory`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
### 2. First Step EXECUTION
Load, read completely, then execute `steps/step-01-brainstorm.md` to begin the workflow.
---
## PATH DEFINITIONS
# Technical documentation for agent building
agent_compilation: "{project-root}/.bmad/bmb/docs/agents/agent-compilation.md"
understanding_agent_types: "{project-root}/.bmad/bmb/docs/agents/understanding-agent-types.md"
simple_agent_architecture: "{project-root}/.bmad/bmb/docs/agents/simple-agent-architecture.md"
expert_agent_architecture: "{project-root}/.bmad/bmb/docs/agents/expert-agent-architecture.md"
module_agent_architecture: "{project-root}/.bmad/bmb/docs/agents/module-agent-architecture.md"
agent_menu_patterns: "{project-root}/.bmad/bmb/docs/agents/agent-menu-patterns.md"
# Data and templates
communication_presets: "{workflow_path}/data/communication-presets.csv"
brainstorm_context: "{workflow_path}/data/brainstorm-context.md"
# Reference examples
simple_agent_examples: "{project-root}/bmb/reference/agents/simple-examples/"
expert_agent_examples: "{project-root}/bmb/reference/agents/expert-examples/"
module_agent_examples: "{project-root}/bmb/reference/agents/module-examples/"
# Output configuration
custom_agent_location: "{project-root}/.bmad/custom/src/agents"
module_output_file: "{project-root}/.bmad/{target_module}/agents/{agent_filename}.agent.yaml"
standalone_output_folder: "{custom_agent_location}/{agent_filename}"
standalone_output_file: "{standalone_output_folder}/{agent_filename}.agent.yaml"
standalone_info_guide: "{standalone_output_folder}/info-and-installation-guide.md"
config_output_file: "{project-root}/.bmad/\_cfg/agents/{target_module}-{agent_filename}.customize.yaml"

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