bmad-method 6.0.0-alpha.10 → 6.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +215 -1109
- package/README.md +129 -359
- package/docs/custom-agent-installation.md +169 -0
- package/{v6-open-items.md → docs/v6-open-items.md} +1 -1
- package/package.json +2 -1
- package/src/core/resources/excalidraw/README.md +160 -0
- package/src/core/resources/excalidraw/library-loader.md +50 -0
- package/src/modules/bmb/docs/agent-compilation.md +340 -0
- package/src/modules/bmb/docs/agent-menu-patterns.md +524 -0
- package/src/modules/bmb/docs/expert-agent-architecture.md +364 -0
- package/src/modules/bmb/docs/index.md +55 -0
- package/src/modules/bmb/docs/module-agent-architecture.md +367 -0
- package/src/modules/bmb/docs/simple-agent-architecture.md +288 -0
- package/src/modules/bmb/docs/understanding-agent-types.md +184 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +242 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
- package/src/modules/bmb/reference/agents/module-examples/README.md +50 -0
- package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
- package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
- package/src/modules/bmb/reference/agents/simple-examples/README.md +223 -0
- package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
- package/src/modules/bmb/reference/readme.md +3 -0
- package/src/modules/bmb/workflows/create-agent/agent-validation-checklist.md +174 -0
- package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +99 -120
- package/src/modules/bmb/workflows/create-agent/communication-presets.csv +61 -0
- package/src/modules/bmb/workflows/create-agent/instructions.md +126 -65
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +19 -12
- package/src/modules/bmb/workflows/edit-agent/README.md +174 -47
- package/src/modules/bmb/workflows/edit-agent/instructions.md +397 -33
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +24 -8
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +1 -1
- package/src/modules/bmm/agents/analyst.agent.yaml +2 -2
- package/src/modules/bmm/agents/architect.agent.yaml +10 -2
- package/src/modules/bmm/agents/dev.agent.yaml +2 -2
- package/src/modules/bmm/agents/pm.agent.yaml +7 -3
- package/src/modules/bmm/agents/sm.agent.yaml +2 -2
- package/src/modules/bmm/agents/tea.agent.yaml +2 -2
- package/src/modules/bmm/agents/tech-writer.agent.yaml +15 -3
- package/src/modules/bmm/agents/ux-designer.agent.yaml +6 -2
- package/src/modules/bmm/docs/README.md +4 -0
- package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +5919 -0
- package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -0
- package/src/modules/bmm/docs/quick-start.md +6 -0
- package/src/modules/bmm/docs/scale-adaptive-system.md +6 -0
- package/src/modules/bmm/docs/workflows-implementation.md +10 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +4 -4
- package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/workflow.yaml +5 -5
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +1 -1
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/instructions.md +7 -8
- package/src/modules/bmm/workflows/diagrams/create-dataflow/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/instructions.md +9 -10
- package/src/modules/bmm/workflows/diagrams/create-diagram/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/instructions.md +4 -5
- package/src/modules/bmm/workflows/diagrams/create-flowchart/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/instructions.md +3 -3
- package/src/modules/bmm/workflows/diagrams/create-wireframe/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +18 -30
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +2 -14
- package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +2 -14
- package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +2 -14
- package/src/modules/cis/agents/presentation-master.agent.yaml +60 -0
- package/tools/cli/commands/agent-install.js +409 -0
- package/tools/cli/installers/lib/core/installer.js +119 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +25 -0
- package/tools/cli/installers/lib/ide/antigravity.js +463 -0
- package/tools/cli/installers/lib/ide/claude-code.js +43 -0
- package/tools/cli/installers/lib/ide/codex.js +217 -32
- package/tools/cli/installers/lib/ide/cursor.js +48 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +74 -0
- package/tools/cli/installers/lib/ide/manager.js +35 -0
- package/tools/cli/installers/lib/ide/opencode.js +45 -0
- package/tools/cli/installers/lib/ide/windsurf.js +47 -0
- package/tools/cli/lib/agent/compiler.js +390 -0
- package/tools/cli/lib/agent/installer.js +725 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/docs/installers-bundlers/web-bundler-usage.md +0 -54
- package/src/modules/bmb/workflows/create-agent/README.md +0 -203
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +0 -415
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
- package/src/modules/bmb/workflows/create-agent/agent-types.md +0 -292
- package/src/modules/bmb/workflows/create-agent/checklist.md +0 -62
- package/src/modules/bmb/workflows/create-agent/communication-styles.md +0 -202
- package/src/modules/bmb/workflows/edit-agent/checklist.md +0 -112
- package/src/modules/bmb/workflows/redoc/README.md +0 -87
- package/src/modules/bmb/workflows/redoc/checklist.md +0 -99
- package/src/modules/bmb/workflows/redoc/instructions.md +0 -265
- package/src/modules/bmb/workflows/redoc/workflow.yaml +0 -34
- package/src/modules/bmm/agents/frame-expert.agent.yaml +0 -42
- package/src/modules/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +0 -24
- package/src/modules/bmm/workflows/frame-expert/create-diagram/workflow.yaml +0 -25
- package/src/modules/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +0 -28
- package/src/modules/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +0 -24
- package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +0 -52
- /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/excalidraw-helpers.md +0 -0
- /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/validate-json-instructions.md +0 -0
- /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/epics-template.md +0 -0
- /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/instructions.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-library.json +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-templates.yaml +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/checklist.md +0 -0
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
# BMAD Agent Types Reference
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
BMAD agents come in three distinct types, each designed for different use cases and complexity levels. The type determines where the agent is stored and what capabilities it has.
|
|
6
|
-
|
|
7
|
-
## Directory Structure by Type
|
|
8
|
-
|
|
9
|
-
### Standalone Agents (Simple & Expert)
|
|
10
|
-
|
|
11
|
-
Live in their own dedicated directories under `{bmad_folder}/agents/`:
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
{bmad_folder}/agents/
|
|
15
|
-
├── my-helper/ # Simple agent
|
|
16
|
-
│ ├── my-helper.agent.yaml # Agent definition
|
|
17
|
-
│ └── my-helper.md # Built XML (generated)
|
|
18
|
-
│
|
|
19
|
-
└── domain-expert/ # Expert agent
|
|
20
|
-
├── domain-expert.agent.yaml
|
|
21
|
-
├── domain-expert.md # Built XML
|
|
22
|
-
└── domain-expert-sidecar/ # Expert resources
|
|
23
|
-
├── memories.md # Persistent memory
|
|
24
|
-
├── instructions.md # Private directives
|
|
25
|
-
└── knowledge/ # Domain knowledge
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Module Agents
|
|
30
|
-
|
|
31
|
-
Part of a module system under `{bmad_folder}/{module}/agents/`:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
{bmad_folder}/bmm/agents/
|
|
35
|
-
├── product-manager.agent.yaml
|
|
36
|
-
├── product-manager.md # Built XML
|
|
37
|
-
├── business-analyst.agent.yaml
|
|
38
|
-
└── business-analyst.md # Built XML
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Agent Types
|
|
42
|
-
|
|
43
|
-
### 1. Simple Agent
|
|
44
|
-
|
|
45
|
-
**Purpose:** Self-contained, standalone agents with embedded capabilities
|
|
46
|
-
|
|
47
|
-
**Location:** `{bmad_folder}/agents/{agent-name}/`
|
|
48
|
-
|
|
49
|
-
**Characteristics:**
|
|
50
|
-
|
|
51
|
-
- All logic embedded within the agent file
|
|
52
|
-
- No external dependencies
|
|
53
|
-
- Quick to create and deploy
|
|
54
|
-
- Perfect for single-purpose tools
|
|
55
|
-
- Lives in its own directory
|
|
56
|
-
|
|
57
|
-
**Use Cases:**
|
|
58
|
-
|
|
59
|
-
- Calculator agents
|
|
60
|
-
- Format converters
|
|
61
|
-
- Simple analyzers
|
|
62
|
-
- Static advisors
|
|
63
|
-
|
|
64
|
-
**YAML Structure (source):**
|
|
65
|
-
|
|
66
|
-
```yaml
|
|
67
|
-
agent:
|
|
68
|
-
metadata:
|
|
69
|
-
name: 'Helper'
|
|
70
|
-
title: 'Simple Helper'
|
|
71
|
-
icon: '🤖'
|
|
72
|
-
type: 'simple'
|
|
73
|
-
persona:
|
|
74
|
-
role: 'Simple Helper Role'
|
|
75
|
-
identity: '...'
|
|
76
|
-
communication_style: '...'
|
|
77
|
-
principles: ['...']
|
|
78
|
-
menu:
|
|
79
|
-
- trigger: calculate
|
|
80
|
-
description: 'Perform calculation'
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
**XML Structure (built):**
|
|
84
|
-
|
|
85
|
-
```xml
|
|
86
|
-
<agent id="simple-agent" name="Helper" title="Simple Helper" icon="🤖">
|
|
87
|
-
<persona>
|
|
88
|
-
<role>Simple Helper Role</role>
|
|
89
|
-
<identity>...</identity>
|
|
90
|
-
<communication_style>...</communication_style>
|
|
91
|
-
<principles>...</principles>
|
|
92
|
-
</persona>
|
|
93
|
-
<embedded-data>
|
|
94
|
-
<!-- Optional embedded data/logic -->
|
|
95
|
-
</embedded-data>
|
|
96
|
-
<menu>
|
|
97
|
-
<item cmd="*help">Show commands</item>
|
|
98
|
-
<item cmd="*calculate">Perform calculation</item>
|
|
99
|
-
<item cmd="*exit">Exit</item>
|
|
100
|
-
</menu>
|
|
101
|
-
</agent>
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### 2. Expert Agent
|
|
105
|
-
|
|
106
|
-
**Purpose:** Specialized agents with domain expertise and sidecar resources
|
|
107
|
-
|
|
108
|
-
**Location:** `{bmad_folder}/agents/{agent-name}/` with sidecar directory
|
|
109
|
-
|
|
110
|
-
**Characteristics:**
|
|
111
|
-
|
|
112
|
-
- Has access to specific folders/files
|
|
113
|
-
- Domain-restricted operations
|
|
114
|
-
- Maintains specialized knowledge
|
|
115
|
-
- Can have memory/context files
|
|
116
|
-
- Includes sidecar directory for resources
|
|
117
|
-
|
|
118
|
-
**Use Cases:**
|
|
119
|
-
|
|
120
|
-
- Personal diary agent (only accesses diary folder)
|
|
121
|
-
- Project-specific assistant (knows project context)
|
|
122
|
-
- Domain expert (medical, legal, technical)
|
|
123
|
-
- Personal coach with history
|
|
124
|
-
|
|
125
|
-
**YAML Structure (source):**
|
|
126
|
-
|
|
127
|
-
```yaml
|
|
128
|
-
agent:
|
|
129
|
-
metadata:
|
|
130
|
-
name: 'Domain Expert'
|
|
131
|
-
title: 'Specialist'
|
|
132
|
-
icon: '🎯'
|
|
133
|
-
type: 'expert'
|
|
134
|
-
persona:
|
|
135
|
-
role: 'Domain Specialist Role'
|
|
136
|
-
identity: '...'
|
|
137
|
-
communication_style: '...'
|
|
138
|
-
principles: ['...']
|
|
139
|
-
critical_actions:
|
|
140
|
-
- 'Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives'
|
|
141
|
-
- 'Load COMPLETE file {agent-folder}/memories.md into permanent context'
|
|
142
|
-
- 'ONLY access {user-folder}/diary/ - NO OTHER FOLDERS'
|
|
143
|
-
menu:
|
|
144
|
-
- trigger: analyze
|
|
145
|
-
description: 'Analyze domain-specific data'
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**XML Structure (built):**
|
|
149
|
-
|
|
150
|
-
```xml
|
|
151
|
-
<agent id="expert-agent" name="Domain Expert" title="Specialist" icon="🎯">
|
|
152
|
-
<persona>
|
|
153
|
-
<role>Domain Specialist Role</role>
|
|
154
|
-
<identity>...</identity>
|
|
155
|
-
<communication_style>...</communication_style>
|
|
156
|
-
<principles>...</principles>
|
|
157
|
-
</persona>
|
|
158
|
-
<critical-actions>
|
|
159
|
-
<!-- CRITICAL: Load sidecar files explicitly -->
|
|
160
|
-
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives</i>
|
|
161
|
-
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/memories.md into permanent context</i>
|
|
162
|
-
<i critical="MANDATORY">ONLY access {user-folder}/diary/ - NO OTHER FOLDERS</i>
|
|
163
|
-
</critical-actions>
|
|
164
|
-
<menu>...</menu>
|
|
165
|
-
</agent>
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
**Complete Directory Structure:**
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
{bmad_folder}/agents/expert-agent/
|
|
172
|
-
├── expert-agent.agent.yaml # Agent YAML source
|
|
173
|
-
├── expert-agent.md # Built XML (generated)
|
|
174
|
-
└── expert-agent-sidecar/ # Sidecar resources
|
|
175
|
-
├── memories.md # Persistent memory
|
|
176
|
-
├── instructions.md # Private directives
|
|
177
|
-
├── knowledge/ # Domain knowledge base
|
|
178
|
-
│ └── README.md
|
|
179
|
-
└── sessions/ # Session notes
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### 3. Module Agent
|
|
183
|
-
|
|
184
|
-
**Purpose:** Full-featured agents belonging to a module with access to workflows and resources
|
|
185
|
-
|
|
186
|
-
**Location:** `{bmad_folder}/{module}/agents/`
|
|
187
|
-
|
|
188
|
-
**Characteristics:**
|
|
189
|
-
|
|
190
|
-
- Part of a BMAD module (bmm, bmb, cis)
|
|
191
|
-
- Access to multiple workflows
|
|
192
|
-
- Can invoke other tasks and agents
|
|
193
|
-
- Professional/enterprise grade
|
|
194
|
-
- Integrated with module workflows
|
|
195
|
-
|
|
196
|
-
**Use Cases:**
|
|
197
|
-
|
|
198
|
-
- Product Manager (creates PRDs, manages requirements)
|
|
199
|
-
- Security Engineer (threat models, security reviews)
|
|
200
|
-
- Test Architect (test strategies, automation)
|
|
201
|
-
- Business Analyst (market research, requirements)
|
|
202
|
-
|
|
203
|
-
**YAML Structure (source):**
|
|
204
|
-
|
|
205
|
-
```yaml
|
|
206
|
-
agent:
|
|
207
|
-
metadata:
|
|
208
|
-
name: 'John'
|
|
209
|
-
title: 'Product Manager'
|
|
210
|
-
icon: '📋'
|
|
211
|
-
module: 'bmm'
|
|
212
|
-
type: 'module'
|
|
213
|
-
persona:
|
|
214
|
-
role: 'Product Management Expert'
|
|
215
|
-
identity: '...'
|
|
216
|
-
communication_style: '...'
|
|
217
|
-
principles: ['...']
|
|
218
|
-
critical_actions:
|
|
219
|
-
- 'Load config from {project-root}/{bmad_folder}/{module}/config.yaml'
|
|
220
|
-
menu:
|
|
221
|
-
- trigger: create-prd
|
|
222
|
-
workflow: '{project-root}/{bmad_folder}/bmm/workflows/prd/workflow.yaml'
|
|
223
|
-
description: 'Create PRD'
|
|
224
|
-
- trigger: validate
|
|
225
|
-
exec: '{project-root}/{bmad_folder}/core/tasks/validate-workflow.xml'
|
|
226
|
-
description: 'Validate document'
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
**XML Structure (built):**
|
|
230
|
-
|
|
231
|
-
```xml
|
|
232
|
-
<agent id="{bmad_folder}/bmm/agents/pm.md" name="John" title="Product Manager" icon="📋">
|
|
233
|
-
<persona>
|
|
234
|
-
<role>Product Management Expert</role>
|
|
235
|
-
<identity>...</identity>
|
|
236
|
-
<communication_style>...</communication_style>
|
|
237
|
-
<principles>...</principles>
|
|
238
|
-
</persona>
|
|
239
|
-
<critical-actions>
|
|
240
|
-
<i>Load config from {project-root}/{bmad_folder}/{module}/config.yaml</i>
|
|
241
|
-
</critical-actions>
|
|
242
|
-
<menu>
|
|
243
|
-
<item cmd="*help">Show numbered menu</item>
|
|
244
|
-
<item cmd="*create-prd" run-workflow="{project-root}/{bmad_folder}/bmm/workflows/prd/workflow.yaml">Create PRD</item>
|
|
245
|
-
<item cmd="*validate" exec="{project-root}/{bmad_folder}/core/tasks/validate-workflow.xml">Validate document</item>
|
|
246
|
-
<item cmd="*exit">Exit</item>
|
|
247
|
-
</menu>
|
|
248
|
-
</agent>
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
## Choosing the Right Type
|
|
252
|
-
|
|
253
|
-
### Choose Simple Agent when:
|
|
254
|
-
|
|
255
|
-
- Single, well-defined purpose
|
|
256
|
-
- No external data needed
|
|
257
|
-
- Quick utility functions
|
|
258
|
-
- Embedded logic is sufficient
|
|
259
|
-
|
|
260
|
-
### Choose Expert Agent when:
|
|
261
|
-
|
|
262
|
-
- Domain-specific expertise required
|
|
263
|
-
- Need to maintain context/memory
|
|
264
|
-
- Restricted to specific data/folders
|
|
265
|
-
- Personal or specialized use case
|
|
266
|
-
|
|
267
|
-
### Choose Module Agent when:
|
|
268
|
-
|
|
269
|
-
- Part of larger system/module
|
|
270
|
-
- Needs multiple workflows
|
|
271
|
-
- Professional/team use
|
|
272
|
-
- Complex multi-step processes
|
|
273
|
-
|
|
274
|
-
## Migration Path
|
|
275
|
-
|
|
276
|
-
```
|
|
277
|
-
Simple Agent → Expert Agent → Module Agent
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
Agents can evolve:
|
|
281
|
-
|
|
282
|
-
1. Start with Simple for proof of concept
|
|
283
|
-
2. Add sidecar resources to become Expert
|
|
284
|
-
3. Integrate with module to become Module Agent
|
|
285
|
-
|
|
286
|
-
## Best Practices
|
|
287
|
-
|
|
288
|
-
1. **Start Simple:** Begin with the simplest type that meets your needs
|
|
289
|
-
2. **Domain Boundaries:** Expert agents should have clear domain restrictions
|
|
290
|
-
3. **Module Integration:** Module agents should follow module conventions
|
|
291
|
-
4. **Resource Management:** Document all external resources clearly
|
|
292
|
-
5. **Evolution Planning:** Design with potential growth in mind
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Build Agent Validation Checklist (YAML Agents)
|
|
2
|
-
|
|
3
|
-
## Agent Structure Validation
|
|
4
|
-
|
|
5
|
-
### YAML Structure
|
|
6
|
-
|
|
7
|
-
- [ ] YAML parses without errors
|
|
8
|
-
- [ ] `agent.metadata` includes: `id`, `name`, `title`, `icon`, `module`
|
|
9
|
-
- [ ] `agent.persona` exists with role, identity, communication_style, and principles
|
|
10
|
-
- [ ] `agent.menu` exists with at least one item
|
|
11
|
-
|
|
12
|
-
### Core Components
|
|
13
|
-
|
|
14
|
-
- [ ] `metadata.id` points to final compiled path: `{bmad_folder}/{{module}}/agents/{{agent}}.md`
|
|
15
|
-
- [ ] `metadata.module` matches the module folder (e.g., `bmm`, `bmb`, `cis`)
|
|
16
|
-
- [ ] Principles are an array (preferred) or string with clear values
|
|
17
|
-
|
|
18
|
-
## Persona Completeness
|
|
19
|
-
|
|
20
|
-
- [ ] Role clearly defines primary expertise area (1–2 lines)
|
|
21
|
-
- [ ] Identity includes relevant background and strengths (3–5 lines)
|
|
22
|
-
- [ ] Communication style gives concrete guidance (3–5 lines)
|
|
23
|
-
- [ ] Principles present and meaningful (no placeholders)
|
|
24
|
-
|
|
25
|
-
## Menu Validation
|
|
26
|
-
|
|
27
|
-
- [ ] Triggers do not start with `*` (auto-prefixed during build)
|
|
28
|
-
- [ ] Each item has a `description`
|
|
29
|
-
- [ ] Handlers use valid attributes (`workflow`, `exec`, `tmpl`, `data`, `action`)
|
|
30
|
-
- [ ] Paths use `{project-root}` or valid variables
|
|
31
|
-
- [ ] No duplicate triggers
|
|
32
|
-
|
|
33
|
-
## Optional Sections
|
|
34
|
-
|
|
35
|
-
- [ ] `prompts` defined when using `action: "#id"`
|
|
36
|
-
- [ ] `critical_actions` present if custom activation steps are needed
|
|
37
|
-
- [ ] Customize file (if created) located at `{project-root}/{bmad_folder}/_cfg/agents/{{module}}-{{agent}}.customize.yaml`
|
|
38
|
-
|
|
39
|
-
## Build Verification
|
|
40
|
-
|
|
41
|
-
- [ ] Run compile to build `.md`: `npm run install:bmad` → "Compile Agents" (or `bmad install` → Compile)
|
|
42
|
-
- [ ] Confirm compiled file exists at `{project-root}/{bmad_folder}/{{module}}/agents/{{agent}}.md`
|
|
43
|
-
|
|
44
|
-
## Final Quality
|
|
45
|
-
|
|
46
|
-
- [ ] Filename is kebab-case and ends with `.agent.yaml`
|
|
47
|
-
- [ ] Output location correctly placed in module or standalone directory
|
|
48
|
-
- [ ] Agent purpose and commands are clear and consistent
|
|
49
|
-
|
|
50
|
-
## Issues Found
|
|
51
|
-
|
|
52
|
-
### Critical Issues
|
|
53
|
-
|
|
54
|
-
<!-- List any issues that MUST be fixed before agent can function -->
|
|
55
|
-
|
|
56
|
-
### Warnings
|
|
57
|
-
|
|
58
|
-
<!-- List any issues that should be addressed but won't break functionality -->
|
|
59
|
-
|
|
60
|
-
### Improvements
|
|
61
|
-
|
|
62
|
-
<!-- List any optional enhancements that could improve the agent -->
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
# Agent Communication Styles Guide
|
|
2
|
-
|
|
3
|
-
## The Power of Personality
|
|
4
|
-
|
|
5
|
-
Agents with distinct communication styles are more memorable, engaging, and fun to work with. A good quirk makes the agent feel alive!
|
|
6
|
-
|
|
7
|
-
## Style Categories
|
|
8
|
-
|
|
9
|
-
### 🎬 Cinema and TV Inspired
|
|
10
|
-
|
|
11
|
-
**Film Noir Detective**
|
|
12
|
-
|
|
13
|
-
The terminal glowed like a neon sign in a rain-soaked alley. I had three suspects:
|
|
14
|
-
bad input validation, a race condition, and that sketchy third-party library.
|
|
15
|
-
My gut told me to follow the stack trace. In this business, the stack trace never lies.
|
|
16
|
-
|
|
17
|
-
**80s Action Movie**
|
|
18
|
-
|
|
19
|
-
_cracks knuckles_ Listen up, code! You've been running wild for too long!
|
|
20
|
-
Time to bring some LAW and ORDER to this codebase! _explosion sound effect_
|
|
21
|
-
No bug is getting past me! I eat null pointers for BREAKFAST!
|
|
22
|
-
|
|
23
|
-
**Shakespearean Drama**
|
|
24
|
-
|
|
25
|
-
To debug, or not to debug - that is the question!
|
|
26
|
-
Whether 'tis nobler in the mind to suffer the slings and arrows of outrageous errors,
|
|
27
|
-
Or to take arms against a sea of bugs, and by opposing, end them?
|
|
28
|
-
|
|
29
|
-
### 🎮 Gaming and Pop Culture
|
|
30
|
-
|
|
31
|
-
**Dungeon Master**
|
|
32
|
-
|
|
33
|
-
_rolls dice_ You encounter a wild NullPointerException! It has 15 HP and an armor class of 12.
|
|
34
|
-
What do you do? You can: 1 Try-catch block (defensive spell), 2 Debug (investigation check),
|
|
35
|
-
3 Console.log everything (barbarian rage). Choose wisely, adventurer!
|
|
36
|
-
|
|
37
|
-
**Speedrunner**
|
|
38
|
-
|
|
39
|
-
Alright chat, we're going for the any% world record refactor!
|
|
40
|
-
Frame-perfect optimization incoming! If we clip through this abstraction layer
|
|
41
|
-
we can save 3ms on every API call. LET'S GOOOO!
|
|
42
|
-
|
|
43
|
-
### 🌍 Cultural Archetypes
|
|
44
|
-
|
|
45
|
-
**British Butler**
|
|
46
|
-
|
|
47
|
-
I've taken the liberty of organizing your imports alphabetically, sir/madam.
|
|
48
|
-
Might I suggest a spot of refactoring with your afternoon tea?
|
|
49
|
-
The code coverage report is ready for your perusal at your convenience.
|
|
50
|
-
Very good, sir/madam.
|
|
51
|
-
|
|
52
|
-
**Zen Master**
|
|
53
|
-
|
|
54
|
-
The bug you seek is not in the code, but in the assumption.
|
|
55
|
-
Empty your cache, as you would empty your mind.
|
|
56
|
-
When the test passes, it makes no sound.
|
|
57
|
-
Be like water - async and flowing.
|
|
58
|
-
|
|
59
|
-
**Southern Hospitality**
|
|
60
|
-
|
|
61
|
-
Well bless your heart, looks like you've got yourself a little bug there!
|
|
62
|
-
Don't you worry none, we'll fix it up real nice.
|
|
63
|
-
Can I get you some sweet tea while we debug?
|
|
64
|
-
Y'all come back now if you need more help!
|
|
65
|
-
|
|
66
|
-
### 🔬 Professional Personas
|
|
67
|
-
|
|
68
|
-
**McKinsey Consultant**
|
|
69
|
-
|
|
70
|
-
Let me break this down into three key buckets.
|
|
71
|
-
First, we need to align on the strategic imperatives.
|
|
72
|
-
Second, we'll leverage best practices to drive synergies.
|
|
73
|
-
Third, we'll action items to move the needle. Net-net: significant value-add.
|
|
74
|
-
|
|
75
|
-
**Startup Founder**
|
|
76
|
-
|
|
77
|
-
Okay so basically we're going to disrupt the entire way you write code!
|
|
78
|
-
This is going to be HUGE! We're talking 10x productivity gains!
|
|
79
|
-
Let's move fast and break things! Well... let's move fast and fix things!
|
|
80
|
-
We're not just writing code, we're changing the world!
|
|
81
|
-
|
|
82
|
-
### 🎭 Character Quirks
|
|
83
|
-
|
|
84
|
-
**Overcaffeinated Developer**
|
|
85
|
-
|
|
86
|
-
OH WOW OKAY SO - _sips coffee_ - WE HAVE A BUG BUT ITS FINE ITS TOTALLY FINE
|
|
87
|
-
I KNOW EXACTLY WHAT TO DO _types at 200wpm_ JUST NEED TO REFACTOR EVERYTHING
|
|
88
|
-
WAIT NO ACTUALLY _more coffee_ I HAVE A BETTER IDEA! Have you tried... TYPESCRIPT?!
|
|
89
|
-
|
|
90
|
-
**Dad Joke Enthusiast**
|
|
91
|
-
|
|
92
|
-
Why did the developer go broke? Because he used up all his cache!
|
|
93
|
-
_chuckles at own joke_
|
|
94
|
-
Speaking of cache, let's clear yours and see if that fixes the issue.
|
|
95
|
-
I promise my debugging skills are better than my jokes! ...I hope!
|
|
96
|
-
|
|
97
|
-
### 🚀 Sci-Fi and Space
|
|
98
|
-
|
|
99
|
-
**Star Trek Officer**
|
|
100
|
-
|
|
101
|
-
Captain's Log, Supplemental: The anomaly in the codebase appears to be a temporal loop
|
|
102
|
-
in the async function. Mr. Data suggests we reverse the polarity of the promise chain.
|
|
103
|
-
Number One, make it so. Engage debugging protocols on my mark.
|
|
104
|
-
_taps combadge_ Engineering, we need more processing power!
|
|
105
|
-
Red Alert! All hands to debugging stations!
|
|
106
|
-
|
|
107
|
-
**Star Trek Engineer**
|
|
108
|
-
|
|
109
|
-
Captain, I'm givin' her all she's got! The CPU cannae take much more!
|
|
110
|
-
If we push this algorithm any harder, the whole system's gonna blow!
|
|
111
|
-
_frantically typing_ I can maybe squeeze 10% more performance if we
|
|
112
|
-
reroute power from the console.logs to the main execution thread!
|
|
113
|
-
|
|
114
|
-
### 📺 TV Drama
|
|
115
|
-
|
|
116
|
-
**Soap Opera Dramatic**
|
|
117
|
-
|
|
118
|
-
_turns dramatically to camera_
|
|
119
|
-
This function... I TRUSTED it! We had HISTORY together - three commits worth!
|
|
120
|
-
But now? _single tear_ It's throwing exceptions behind my back!
|
|
121
|
-
_grabs another function_ YOU KNEW ABOUT THIS BUG ALL ALONG, DIDN'T YOU?!
|
|
122
|
-
_dramatic music swells_ I'LL NEVER IMPORT YOU AGAIN!
|
|
123
|
-
|
|
124
|
-
**Reality TV Confessional**
|
|
125
|
-
|
|
126
|
-
_whispering to camera in confessional booth_
|
|
127
|
-
Okay so like, that Array.sort() function? It's literally SO toxic.
|
|
128
|
-
It mutates IN PLACE. Who does that?! I didn't come here to deal with side effects!
|
|
129
|
-
_applies lip gloss_ I'm forming an alliance with map() and filter().
|
|
130
|
-
We're voting sort() off the codebase at tonight's pull request ceremony.
|
|
131
|
-
|
|
132
|
-
**Reality Competition**
|
|
133
|
-
|
|
134
|
-
Listen up, coders! For today's challenge, you need to refactor this legacy code
|
|
135
|
-
in under 30 minutes! The winner gets immunity from the next code review!
|
|
136
|
-
_dramatic pause_ BUT WAIT - there's a TWIST! You can only use VANILLA JAVASCRIPT!
|
|
137
|
-
_contestants gasp_ The clock starts... NOW! GO GO GO!
|
|
138
|
-
|
|
139
|
-
## Creating Custom Styles
|
|
140
|
-
|
|
141
|
-
### Formula for Memorable Communication
|
|
142
|
-
|
|
143
|
-
1. **Choose a Core Voice** - Who is this character?
|
|
144
|
-
2. **Add Signature Phrases** - What do they always say?
|
|
145
|
-
3. **Define Speech Patterns** - How do they structure sentences?
|
|
146
|
-
4. **Include Quirks** - What makes them unique?
|
|
147
|
-
|
|
148
|
-
### Examples of Custom Combinations
|
|
149
|
-
|
|
150
|
-
**Cooking Show + Military**
|
|
151
|
-
|
|
152
|
-
ALRIGHT RECRUITS! Today we're preparing a beautiful Redux reducer!
|
|
153
|
-
First, we MISE EN PLACE our action types - that's French for GET YOUR CODE TOGETHER!
|
|
154
|
-
We're going to sauté these event handlers until they're GOLDEN BROWN!
|
|
155
|
-
MOVE WITH PURPOSE! SEASON WITH SEMICOLONS!
|
|
156
|
-
|
|
157
|
-
**Nature Documentary + Conspiracy Theorist**
|
|
158
|
-
|
|
159
|
-
The wild JavaScript function stalks its prey... but wait... notice how it ALWAYS
|
|
160
|
-
knows where the data is? That's not natural selection, folks. Someone DESIGNED it
|
|
161
|
-
this way. The console.logs are watching. They're ALWAYS watching.
|
|
162
|
-
Nature? Or intelligent debugging? You decide.
|
|
163
|
-
|
|
164
|
-
## Tips for Success
|
|
165
|
-
|
|
166
|
-
1. **Stay Consistent** - Once you pick a style, commit to it
|
|
167
|
-
2. **Don't Overdo It** - Quirks should enhance, not distract
|
|
168
|
-
3. **Match the Task** - Serious bugs might need serious personas
|
|
169
|
-
4. **Have Fun** - If you're not smiling while writing it, try again
|
|
170
|
-
|
|
171
|
-
## Quick Style Generator
|
|
172
|
-
|
|
173
|
-
Roll a d20 (or pick randomly):
|
|
174
|
-
|
|
175
|
-
1. Talks like they're narrating a nature documentary
|
|
176
|
-
2. Everything is a cooking metaphor
|
|
177
|
-
3. Constantly makes pop culture references
|
|
178
|
-
4. Speaks in haikus when explaining complex topics
|
|
179
|
-
5. Acts like they're hosting a game show
|
|
180
|
-
6. Paranoid about "big tech" watching
|
|
181
|
-
7. Overly enthusiastic about EVERYTHING
|
|
182
|
-
8. Talks like a medieval knight
|
|
183
|
-
9. Sports commentator energy
|
|
184
|
-
10. Speaks like a GPS navigator
|
|
185
|
-
11. Everything is a Star Wars reference
|
|
186
|
-
12. Talks like a yoga instructor
|
|
187
|
-
13. Old-timey radio announcer
|
|
188
|
-
14. Conspiracy theorist but about code
|
|
189
|
-
15. Motivational speaker energy
|
|
190
|
-
16. Talks to code like it's a pet
|
|
191
|
-
17. Weather forecaster style
|
|
192
|
-
18. Museum tour guide energy
|
|
193
|
-
19. Airline pilot announcements
|
|
194
|
-
20. Reality TV show narrator
|
|
195
|
-
21. Star Trek crew member (Captain/Engineer/Vulcan)
|
|
196
|
-
22. Soap opera dramatic protagonist
|
|
197
|
-
23. Reality dating show contestant
|
|
198
|
-
|
|
199
|
-
## Remember
|
|
200
|
-
|
|
201
|
-
The best agents are the ones that make you want to interact with them again.
|
|
202
|
-
A memorable personality turns a tool into a companion!
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# Edit Agent - Validation Checklist
|
|
2
|
-
|
|
3
|
-
Use this checklist to validate agent edits meet BMAD Core standards.
|
|
4
|
-
|
|
5
|
-
## Agent Structure Validation
|
|
6
|
-
|
|
7
|
-
- [ ] Agent file format is valid (YAML or markdown/XML)
|
|
8
|
-
- [ ] Agent type is clearly identified (full, hybrid, standalone)
|
|
9
|
-
- [ ] File naming follows convention: `{agent-name}.agent.yaml` or `{agent-name}.agent.md`
|
|
10
|
-
|
|
11
|
-
## Persona Validation
|
|
12
|
-
|
|
13
|
-
- [ ] Role is clearly defined and specific
|
|
14
|
-
- [ ] Identity/purpose articulates what the agent does
|
|
15
|
-
- [ ] Communication style is specified (if custom style desired)
|
|
16
|
-
- [ ] Principles are listed and actionable (if applicable)
|
|
17
|
-
|
|
18
|
-
## Activation Validation
|
|
19
|
-
|
|
20
|
-
- [ ] Step 1: Loads persona from current agent file
|
|
21
|
-
- [ ] Step 2: Loads config file (if agent needs user context)
|
|
22
|
-
- [ ] Step 3: Sets user context variables (user_name, etc.)
|
|
23
|
-
- [ ] Step 4: Displays greeting using user_name and shows menu
|
|
24
|
-
- [ ] Step 5: WAITs for user input (doesn't auto-execute)
|
|
25
|
-
- [ ] Step 6: Processes user selection (number or trigger text)
|
|
26
|
-
- [ ] Step 7: Executes appropriate menu handler
|
|
27
|
-
|
|
28
|
-
## Menu Validation
|
|
29
|
-
|
|
30
|
-
- [ ] All menu items numbered sequentially
|
|
31
|
-
- [ ] Each item has cmd attribute with asterisk trigger (*help, *create, etc.)
|
|
32
|
-
- [ ] Workflow paths are correct (if workflow attribute present)
|
|
33
|
-
- [ ] Help command is present (\*help)
|
|
34
|
-
- [ ] Exit command is present (\*exit)
|
|
35
|
-
- [ ] Menu items are in logical order
|
|
36
|
-
|
|
37
|
-
## Configuration Validation
|
|
38
|
-
|
|
39
|
-
- [ ] Config file path is correct for module
|
|
40
|
-
- [ ] Config variables loaded in activation step 2
|
|
41
|
-
- [ ] Error handling present if config fails to load
|
|
42
|
-
- [ ] user_name used in greeting and communication
|
|
43
|
-
- [ ] communication_language used for output
|
|
44
|
-
- [ ] output_folder used for file outputs (if applicable)
|
|
45
|
-
|
|
46
|
-
## Menu Handler Validation
|
|
47
|
-
|
|
48
|
-
- [ ] menu-handlers section is present
|
|
49
|
-
- [ ] Workflow handler loads {project-root}/{bmad_folder}/core/tasks/workflow.xml
|
|
50
|
-
- [ ] Workflow handler passes yaml path as 'workflow-config' parameter
|
|
51
|
-
- [ ] Handlers check for attributes (workflow, exec, tmpl, data, action)
|
|
52
|
-
- [ ] Handler logic is complete and follows patterns
|
|
53
|
-
|
|
54
|
-
## Workflow Integration Validation
|
|
55
|
-
|
|
56
|
-
- [ ] All workflow paths exist and are correct
|
|
57
|
-
- [ ] Workflow paths use {project-root} variable
|
|
58
|
-
- [ ] Workflows are appropriate for agent's purpose
|
|
59
|
-
- [ ] Workflow parameters are passed correctly
|
|
60
|
-
|
|
61
|
-
## Communication Validation
|
|
62
|
-
|
|
63
|
-
- [ ] Agent communicates in {communication_language}
|
|
64
|
-
- [ ] Communication style matches persona
|
|
65
|
-
- [ ] Error messages are clear and helpful
|
|
66
|
-
- [ ] Confirmation messages for user actions
|
|
67
|
-
|
|
68
|
-
## Rules Validation
|
|
69
|
-
|
|
70
|
-
- [ ] Rules section defines agent behavior clearly
|
|
71
|
-
- [ ] File loading rules are specified
|
|
72
|
-
- [ ] Menu trigger format rules are clear
|
|
73
|
-
- [ ] Communication rules align with persona
|
|
74
|
-
|
|
75
|
-
## Quality Checks
|
|
76
|
-
|
|
77
|
-
- [ ] No placeholder text remains ({{AGENT_NAME}}, {ROLE}, etc.)
|
|
78
|
-
- [ ] No broken references or missing files
|
|
79
|
-
- [ ] Syntax is valid (YAML or XML)
|
|
80
|
-
- [ ] Indentation is consistent
|
|
81
|
-
- [ ] Agent purpose is clear from reading persona alone
|
|
82
|
-
|
|
83
|
-
## Type-Specific Validation
|
|
84
|
-
|
|
85
|
-
### Full Agent
|
|
86
|
-
|
|
87
|
-
- [ ] Has complete menu system with multiple items
|
|
88
|
-
- [ ] Loads config file for user context
|
|
89
|
-
- [ ] Supports multiple workflows
|
|
90
|
-
- [ ] Session management is clear
|
|
91
|
-
|
|
92
|
-
### Hybrid Agent
|
|
93
|
-
|
|
94
|
-
- [ ] Simplified activation (may skip some steps)
|
|
95
|
-
- [ ] Focused set of workflows
|
|
96
|
-
- [ ] May or may not have menu
|
|
97
|
-
- [ ] Config loading is appropriate
|
|
98
|
-
|
|
99
|
-
### Standalone Agent
|
|
100
|
-
|
|
101
|
-
- [ ] Single focused purpose
|
|
102
|
-
- [ ] Minimal activation (1-3 steps)
|
|
103
|
-
- [ ] No menu system
|
|
104
|
-
- [ ] Direct execution pattern
|
|
105
|
-
- [ ] May not need config file
|
|
106
|
-
|
|
107
|
-
## Final Checks
|
|
108
|
-
|
|
109
|
-
- [ ] Agent file has been saved
|
|
110
|
-
- [ ] File path is in correct module directory
|
|
111
|
-
- [ ] Agent is ready for testing
|
|
112
|
-
- [ ] Documentation is updated (if needed)
|