standardize custom agent workflow and module output, and improve module folder selection

This commit is contained in:
Brian Madison
2025-12-13 22:59:58 +08:00
parent add789a408
commit cba7cf223f
67 changed files with 815 additions and 1307 deletions

View File

@@ -1,3 +1,6 @@
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."
@@ -18,10 +21,10 @@ document_output_language:
output_folder:
prompt: "Where should AI generated artifacts be saved across all modules?"
default: "docs"
default: "bmad-output"
result: "{project-root}/{value}"
agent_sidecar_folder:
prompt: "Where should users agent sidecar memory folders be stored?"
default: "_bmad-user-memory"
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

@@ -22,26 +22,15 @@ Specialized tools and workflows for creating, customizing, and extending BMad co
### 📋 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

@@ -375,7 +375,7 @@ exec: "../../../core/tasks/validate.xml"
- `{project-root}` - Project root directory
- `_bmad` - BMAD installation folder
- `{agent_sidecar_folder}` - Agent installation directory (Expert agents)
- `{bmad_memory}` - Agent installation directory (Expert agents)
- `{output_folder}` - Document output location
- `{user_name}` - User's name from config
- `{communication_language}` - Language preference

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,7 +204,7 @@ 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:
@@ -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/_config/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/_config/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

@@ -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'
@@ -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:
@@ -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

@@ -1,23 +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
## 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

@@ -8,8 +8,9 @@ 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)
- 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

@@ -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

View File

@@ -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:

View File

@@ -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

@@ -9,7 +9,7 @@ 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'
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/'
@@ -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,7 +9,7 @@ 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'
@@ -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,7 +9,7 @@ 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'
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'
@@ -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,7 +9,8 @@ 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'
@@ -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,12 +9,12 @@ 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'
@@ -25,7 +25,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
## 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,9 +7,9 @@ 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'
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}}'

View File

@@ -10,10 +10,6 @@ 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'

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/_config/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

@@ -80,12 +80,3 @@ brainstorm_context: "{workflow_path}/data/brainstorm-context.md"
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/\_config/agents/{target_module}-{agent_filename}.customize.yaml"

View File

@@ -4,8 +4,8 @@ continueFile: '{installed_path}/steps/step-01b-continue.md'
modulePlanTemplate: '{installed_path}/templates/module-plan.template.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
customModuleLocation: '{custom_module_location}'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
customModuleLocation: '{bmb_creations_output_folder}'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
---
# Step 1: Workflow Initialization

View File

@@ -1,5 +1,5 @@
---
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
---
# Step 1b: Continue Module Creation
@@ -70,7 +70,7 @@ Extract current status from frontmatter fields:
- **Started:** {date}
- **Last Step:** {lastStep}
- **Steps Completed:** {stepsCompleted count}/{total steps}
- **Location:** {custom_module_location}/{module_name}
- **Location:** {bmb_creations_output_folder}/{module_name}
\*\*Progress Summary:"

View File

@@ -1,7 +1,7 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-03-components.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
moduleStructureGuide: '{project-root}/bmb/workflows/create-agent-legacy/create-module/module-structure.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'

View File

@@ -1,7 +1,7 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-04-structure.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
agent_examples_path: '{project-root}/bmb/reference/agents/module-examples'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'

View File

@@ -1,7 +1,7 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-05-config.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
@@ -122,7 +122,7 @@ For a [module type] module, we'll create this structure:"
### 3. Create Directory Structure
Create all directories in {custom_module_location}/{module_name}/:
Create all directories in {bmb_creations_output_folder}/{module_name}/:
1. **agents/** - For agent definition files
2. **workflows/** - For workflow folders
@@ -169,7 +169,7 @@ Update module-plan.md with structure section:
## Module Structure
**Module Type:** [Simple/Standard/Complex]
**Location:** {custom_module_location}/{module_name}
**Location:** {bmb_creations_output_folder}/{module_name}
**Directory Structure Created:**
- ✅ agents/

View File

@@ -1,7 +1,7 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-06-agents.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---

View File

@@ -1,7 +1,7 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-07-workflows.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
agentTemplate: '{installed_path}/templates/agent.template.md'
agent_examples_path: '{project-root}/bmb/reference/agents/module-examples'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
@@ -217,7 +217,7 @@ agent:
**If agent needs memory:**
1. Create folder: {custom_module_location}/{module_name}/agents/[agent-name]-sidecar/
1. Create folder: {bmb_creations_output_folder}/{module_name}/agents/[agent-name]-sidecar/
2. Create files:
- memories.md (empty, for persistent memory)
- instructions.md (empty, for agent protocols)
@@ -228,7 +228,7 @@ agent:
**If agent has workflows:**
For each workflow that needs separate file:
1. Create folder: {custom_module_location}/{module_name}/workflows/[workflow-name]/
1. Create folder: {bmb_creations_output_folder}/{module_name}/workflows/[workflow-name]/
2. Create README.md with workflow plan
### 4. Repeat for All Agents

View File

@@ -1,7 +1,7 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-08-installer.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
workflowPlanTemplate: '{installed_path}/templates/workflow-plan-template.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
@@ -61,7 +61,7 @@ I've already created workflow folders and README.md files for each agent's workf
**Workflow folders found:**
- [List all workflow folders in {custom_module_location}/{module_name}/workflows/]
- [List all workflow folders in {bmb_creations_output_folder}/{module_name}/workflows/]
**Each workflow folder contains a README.md with:**

View File

@@ -1,7 +1,7 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-09-documentation.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
installerTemplate: '{installed_path}/templates/installer.template.js'
installConfigTemplate: '{installed_path}/templates/install-config.template.yaml'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
@@ -72,13 +72,13 @@ From step 5, we planned these configuration fields:
### 2. Create Installer Directory
Ensure \_module-installer directory exists
Directory: {custom_module_location}/{module_name}/\_module-installer/
Directory: {bmb_creations_output_folder}/{module_name}/\_module-installer/
### 3. Create module.yaml
"I'll create the module.yaml file based on your configuration plan. This is the core installer configuration file."
Create file: {custom_module_location}/{module_name}/module.yaml from template {installConfigTemplate}
Create file: {bmb_creations_output_folder}/{module_name}/module.yaml from template {installConfigTemplate}
### 4. Handle Custom Installation Logic
@@ -95,7 +95,7 @@ Does your module need any special setup during installation? For example:
"I'll create an installer.js file for custom logic."
Create file: {custom_module_location}/{module_name}/\_module-installer/installer.js from {installerTemplate}
Create file: {bmb_creations_output_folder}/{module_name}/\_module-installer/installer.js from {installerTemplate}
Update installer.js with module-specific logic

View File

@@ -1,8 +1,8 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-10-roadmap.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
moduleReadmeFile: '{custom_module_location}/{module_name}/README.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
moduleReadmeFile: '{bmb_creations_output_folder}/{module_name}/README.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
@@ -249,7 +249,7 @@ Update module-plan.md with documentation section:
## Documentation
### README.md Created
- Location: {custom_module_location}/{module_name}/README.md
- Location: {bmb_creations_output_folder}/{module_name}/README.md
- Sections: [list of sections included]
- Status: Complete

View File

@@ -1,8 +1,8 @@
---
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
nextStepFile: '{installed_path}/steps/step-11-validate.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
moduleTodoFile: '{custom_module_location}/{module_name}/TODO.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
moduleTodoFile: '{bmb_creations_output_folder}/{module_name}/TODO.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
@@ -75,7 +75,7 @@ I'll organize the remaining work into logical phases to ensure a successful modu
### 3. Generate TODO.md
Create file: {custom_module_location}/{module_name}/TODO.md
Create file: {bmb_creations_output_folder}/{module_name}/TODO.md
````markdown
# {module_display_name} Development Roadmap
@@ -273,7 +273,7 @@ Update module-plan.md with roadmap section:
## Development Roadmap
### TODO.md Created
- Location: {custom_module_location}/{module_name}/TODO.md
- Location: {bmb_creations_output_folder}/{module_name}/TODO.md
- Phases defined: 3
- Immediate tasks prioritized

View File

@@ -1,6 +1,6 @@
---
workflowFile: '{installed_path}/workflow.md'
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
validationChecklist: '{installed_path}/validation.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
@@ -197,7 +197,7 @@ Fix issues one by one with user confirmation
- **Name:** {module_display_name}
- **Code:** {module_name}
- **Location:** {custom_module_location}/{module_name}
- **Location:** {bmb_creations_output_folder}/{module_name}
- **Type:** {module_type}
- **Status:** Ready for testing

View File

@@ -18,7 +18,7 @@ agent:
identity: |
{agent-identity - multi-line description}
communication_style: |
{communication-style - multi-line description}
{communication-style - 1-2 short sentences to describe chat style}
principles:
- '{agent-principle-1}'
- '{agent-principle-2}'
@@ -27,9 +27,9 @@ agent:
# Optional: Only include if agent needs memory/persistence
critical_actions:
- 'Load COMPLETE file ./[agent-name]-sidecar/memories.md and integrate all past interactions'
- 'Load COMPLETE file ./[agent-name]-sidecar/instructions.md and follow ALL protocols'
- 'ONLY read/write files in ./[agent-name]-sidecar/ - this is our private workspace'
- 'Load COMPLETE file [bmad_memory]/[agent-name]-sidecar/memories.md and integrate all past interactions'
- 'Load COMPLETE file [bmad_memory]/[agent-name]-sidecar/instructions.md and follow ALL protocols'
- 'ONLY read/write files in [bmad_memory]/[agent-name]-sidecar/* - this is our private workspace'
# Optional: Embedded prompts for common interactions
prompts:
@@ -98,7 +98,7 @@ agent:
When creating expert agents in modules, create a sidecar folder:
```
{custom_module_location}/{module_name}/agents/[agent-name]-sidecar/
{bmb_creations_output_folder}/{module_name}/agents/[agent-name]-sidecar/
├── memories.md # Persistent memory across sessions
├── instructions.md # Agent-specific protocols
├── insights.md # Important breakthroughs/realizations
@@ -166,14 +166,12 @@ Expert agents support three types of menu actions:
## Notes for Module Creation:
1. **File Paths**:
- Agent files go in: `{custom_module_location}/{module_name}/agents/[agent-name]/[agent-name].yaml`
- Sidecar folders go in: `{custom_module_location}/{module_name}/agents/[agent-name]/[agent-name]-sidecar/`
- Agent files go in: `[bmb_creations_output_folder]/[module_name]/agents/[agent-name]/[agent-name].yaml`
- Sidecar folders go in: `[bmb_creations_output_folder]/[module_name]/agents/[agent-name]/[agent-name]-sidecar/`
2. **Variable Usage**:
- `{agent_sidecar_folder}` resolves to the agents sidecar folder destination after installation
- `_bmad` resolves to \_bmad
- `{custom_module}` resolves to custom/src/modules
- `{module}` is your module code/name
- `bmad_memory` resolves to the agents sidecar folder destination after installation
- `module` is your module code/name
3. **Creating Sidecar Structure**:
- When agent is created, also create the sidecar folder

View File

@@ -48,7 +48,7 @@ installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `custom_module_location`
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
### 2. First Step EXECUTION

View File

@@ -11,7 +11,7 @@ nextStepFile: '{workflow_path}/steps/step-02-gather.md'
workflowFile: '{workflow_path}/workflow.md'
# Output files for workflow creation process
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Template References
# No workflow plan template needed - will create plan file directly
@@ -83,7 +83,7 @@ After getting the workflow name:
**Check for existing workflows:**
- Look for folder at `{custom_stand_alone_location}/workflows/{new_workflow_name}/`
- Look for folder at `{bmb_creations_output_folder}/workflows/{new_workflow_name}/`
- If it exists, inform the user and suggest or get from them a unique name or postfix
**Example alternatives:**

View File

@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
thisStepFile: '{workflow_path}/steps/step-02-gather.md'
nextStepFile: '{workflow_path}/steps/step-03-tools-configuration.md'
# Output files for workflow creation process
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Task References

View File

@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
thisStepFile: '{workflow_path}/steps/step-03-tools-configuration.md'
nextStepFile: '{workflow_path}/steps/step-04-plan-review.md'
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Documentation References

View File

@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-04-plan-review.md'
nextStepFormDesign: '{workflow_path}/steps/step-05-output-format-design.md'
nextStepDesign: '{workflow_path}/steps/step-06-design.md'
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Task References

View File

@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
thisStepFile: '{workflow_path}/steps/step-05-output-format-design.md'
nextStepFile: '{workflow_path}/steps/step-06-design.md'
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Task References

View File

@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-06-design.md'
nextStepFile: '{workflow_path}/steps/step-07-build.md'
workflowFile: '{workflow_path}/workflow.md'
# Output files for workflow creation process
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Task References

View File

@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-07-build.md'
nextStepFile: '{workflow_path}/steps/step-08-review.md'
workflowFile: '{workflow_path}/workflow.md'
# Output files for workflow creation process
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Template References
@@ -95,7 +95,7 @@ Ready to proceed?"
Create the workflow folder structure in the target location:
```
{custom_stand_alone_location}/workflows/{workflow_name}/
{bmb_creations_output_folder}/workflows/{workflow_name}/
├── workflow.md
├── steps/
│ ├── step-01-init.md

View File

@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-08-review.md'
workflowFile: '{workflow_path}/workflow.md'
# Output files for workflow creation process
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Task References

View File

@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
thisStepFile: '{workflow_path}/steps/step-09-complete.md'
workflowFile: '{workflow_path}/workflow.md'
# Output files for workflow creation process
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
completionFile: '{targetWorkflowPath}/completion-summary-{new_workflow_name}.md'
---

View File

@@ -51,7 +51,7 @@ This uses **step-file architecture** for disciplined execution:
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `custom_stand_alone_location`
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
### 2. First Step EXECUTION

View File

@@ -1,19 +1,15 @@
# BMad Game Dev Module Configuration
code: bmgd
name: "BMGD: BMad Game Development"
default_selected: false
header: "BMad Game Development Module"
subheader: "Configure the settings for the BMad Game Development module"
default_selected: false
# Core config values automatically inherited:
# Variables from Core Config inserted:
## user_name
## communication_language
## document_output_language
## output_folder
## install_user_docs
## kb_install
## bmad_memory
game_project_name:
prompt: "What is the name of your game project?"

View File

@@ -48,5 +48,5 @@ agent:
- type: exec
- expert-chat:
- input: CH or fuzzy match validate agent
- action: agent responds as expert based on its personal to converse
- action: agent responds as expert based on its persona to converse
- type: action

View File

@@ -23,7 +23,7 @@ When you edit `workflow-method-greenfield.excalidraw`, regenerate the SVG:
After regenerating the SVG, validate that it renders correctly:
```bash
./tools/validate-svg-changes.sh src/modules/bmm/docs/images/workflow-method-greenfield.svg
./tools/validate-svg-changes.sh path/to/workflow-method-greenfield.svg
```
This script:

View File

@@ -155,22 +155,6 @@ Epic/Release Gate → TEA: *nfr-assess, *trace Phase 2 (release decision)
**Note**: `*trace` is a two-phase workflow: Phase 1 (traceability) + Phase 2 (gate decision). This reduces cognitive load while maintaining natural workflow.
### Unique Directory Architecture
TEA is the only BMM agent with its own top-level module directory (`bmm/testarch/`):
```
src/modules/bmm/
├── agents/
│ └── tea.agent.yaml # Agent definition (standard location)
├── workflows/
│ └── testarch/ # TEA workflows (standard location)
└── testarch/ # Knowledge base (UNIQUE!)
├── knowledge/ # 21 production-ready test pattern fragments
├── tea-index.csv # Centralized knowledge lookup (21 fragments indexed)
└── README.md # This guide
```
### Why TEA Gets Special Treatment
TEA uniquely requires:

View File

@@ -1,16 +1,15 @@
# BMAD™ Method Core Configuration
code: bmm
name: "BMM: BMad Method Agile-AI Driven-Development"
default_selected: true # This module will be selected by default for new installations
header: "BMad Method™: Breakthrough Method of Agile-Ai Driven-Dev"
subheader: "Agent and Workflow Configuration for this module"
default_selected: true # This module will be selected by default for new installations
# Variables from Core Config inserted:
## user_name
## communication_language
## document_output_language
## output_folder
## bmad_memory
project_name:
prompt: "What is the title of your project you will be working on?"
@@ -31,20 +30,28 @@ user_skill_level:
- value: "expert"
label: "Expert - Deep technical knowledge, be direct and technical"
sprint_artifacts:
prompt: "Where should sprint artifacts be stored (sprint status, stories, retrospectives)?"
default: "{output_folder}/sprint-artifacts"
planning_artifacts: # Phase 1-3 artifacts
prompt: "Where should project planning artifacts be stored?\n - Such as: (Brain Storming, Briefs, PRDs, UX Designs, Architectures, Detailed Epics Plan)"
default: "{output_folder}/project-planning-artifacts"
result: "{project-root}/{value}"
implementation_artifacts: # Phase 4 artifacts
prompt: "Where should implementation artifacts be stored?\n - Such as: (sprint status, individual story files and reviews, retrospectives, Quick Flow output)"
default: "{output_folder}/implementation-artifacts"
result: "{project-root}/{value}"
project_knowledge: # Artifacts from research, document-project output, other long lived accurate kn
prompt: "Where should non-ephemeral project knowledge be stored (docs, research, references)?"
default: "docs"
result: "{project-root}/{value}"
tea_use_mcp_enhancements:
prompt: "Enable Test Architect Playwright MCP capabilities (healing, exploratory, verification)? You have to setup your MCPs yourself; refer to test-architecture.md for hints."
prompt: "Enable Test Architect Playwright MCP capabilities (healing, exploratory, verification)?\nYou have to setup your MCPs yourself; refer to test-architecture.md for hints."
default: false
result: "{value}"
tea_use_playwright_utils:
prompt:
- "Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?"
- "This adds fixture-based utilities for auth, API requests, network recording, polling, intercept, recurse, logging, file download handling, and burn-in."
- "You must install packages yourself, or use test architect's *framework command."
- "Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?\nYou must install packages yourself, or use test architect's *framework command."
default: false
result: "{value}"

View File

@@ -1,12 +1,12 @@
# BMAD™ Creative Intelligence Suite Configuration
code: cis
name: "CIS: Creative Innovation Suite"
default_selected: false # This module will not be selected by default for new installations
header: "Creative Innovation Suite (CIS) Module"
subheader: "No Configuration needed - uses Core Config only."
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
## bmad_memory