bmad-method 6.0.0-alpha.10 → 6.0.0-alpha.12

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.
Files changed (107) hide show
  1. package/CHANGELOG.md +219 -1105
  2. package/README.md +129 -359
  3. package/docs/custom-agent-installation.md +169 -0
  4. package/{v6-open-items.md → docs/v6-open-items.md} +1 -1
  5. package/package.json +4 -2
  6. package/src/core/resources/excalidraw/README.md +160 -0
  7. package/src/core/resources/excalidraw/library-loader.md +50 -0
  8. package/src/modules/bmb/docs/agent-compilation.md +340 -0
  9. package/src/modules/bmb/docs/agent-menu-patterns.md +524 -0
  10. package/src/modules/bmb/docs/expert-agent-architecture.md +364 -0
  11. package/src/modules/bmb/docs/index.md +55 -0
  12. package/src/modules/bmb/docs/module-agent-architecture.md +367 -0
  13. package/src/modules/bmb/docs/simple-agent-architecture.md +288 -0
  14. package/src/modules/bmb/docs/understanding-agent-types.md +184 -0
  15. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  16. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  17. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  18. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  19. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  20. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  21. package/src/modules/bmb/reference/agents/module-examples/README.md +50 -0
  22. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  23. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  24. package/src/modules/bmb/reference/agents/simple-examples/README.md +223 -0
  25. package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  26. package/src/modules/bmb/reference/readme.md +3 -0
  27. package/src/modules/bmb/workflows/create-agent/agent-validation-checklist.md +174 -0
  28. package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +99 -120
  29. package/src/modules/bmb/workflows/create-agent/communication-presets.csv +61 -0
  30. package/src/modules/bmb/workflows/create-agent/instructions.md +126 -65
  31. package/src/modules/bmb/workflows/create-agent/workflow.yaml +19 -12
  32. package/src/modules/bmb/workflows/edit-agent/README.md +174 -47
  33. package/src/modules/bmb/workflows/edit-agent/instructions.md +397 -33
  34. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +24 -8
  35. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +1 -1
  36. package/src/modules/bmm/agents/analyst.agent.yaml +2 -2
  37. package/src/modules/bmm/agents/architect.agent.yaml +10 -2
  38. package/src/modules/bmm/agents/dev.agent.yaml +2 -2
  39. package/src/modules/bmm/agents/pm.agent.yaml +7 -3
  40. package/src/modules/bmm/agents/sm.agent.yaml +2 -2
  41. package/src/modules/bmm/agents/tea.agent.yaml +2 -2
  42. package/src/modules/bmm/agents/tech-writer.agent.yaml +15 -3
  43. package/src/modules/bmm/agents/ux-designer.agent.yaml +6 -2
  44. package/src/modules/bmm/docs/README.md +4 -0
  45. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +5919 -0
  46. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -0
  47. package/src/modules/bmm/docs/quick-start.md +6 -0
  48. package/src/modules/bmm/docs/scale-adaptive-system.md +6 -0
  49. package/src/modules/bmm/docs/workflows-implementation.md +10 -0
  50. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +4 -4
  51. package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/workflow.yaml +5 -5
  52. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +1 -1
  53. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/instructions.md +7 -8
  54. package/src/modules/bmm/workflows/diagrams/create-dataflow/workflow.yaml +27 -0
  55. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/instructions.md +9 -10
  56. package/src/modules/bmm/workflows/diagrams/create-diagram/workflow.yaml +27 -0
  57. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/instructions.md +4 -5
  58. package/src/modules/bmm/workflows/diagrams/create-flowchart/workflow.yaml +27 -0
  59. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/instructions.md +3 -3
  60. package/src/modules/bmm/workflows/diagrams/create-wireframe/workflow.yaml +27 -0
  61. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +18 -30
  62. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +2 -14
  63. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +2 -14
  64. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +2 -14
  65. package/src/modules/cis/agents/presentation-master.agent.yaml +60 -0
  66. package/tools/cli/commands/agent-install.js +409 -0
  67. package/tools/cli/installers/lib/core/installer.js +119 -0
  68. package/tools/cli/installers/lib/ide/_base-ide.js +25 -0
  69. package/tools/cli/installers/lib/ide/antigravity.js +463 -0
  70. package/tools/cli/installers/lib/ide/claude-code.js +43 -0
  71. package/tools/cli/installers/lib/ide/codex.js +217 -32
  72. package/tools/cli/installers/lib/ide/cursor.js +48 -0
  73. package/tools/cli/installers/lib/ide/github-copilot.js +74 -0
  74. package/tools/cli/installers/lib/ide/manager.js +35 -0
  75. package/tools/cli/installers/lib/ide/opencode.js +45 -0
  76. package/tools/cli/installers/lib/ide/windsurf.js +47 -0
  77. package/tools/cli/lib/agent/compiler.js +390 -0
  78. package/tools/cli/lib/agent/installer.js +725 -0
  79. package/tools/cli/lib/agent/template-engine.js +152 -0
  80. package/docs/installers-bundlers/web-bundler-usage.md +0 -54
  81. package/src/modules/bmb/workflows/create-agent/README.md +0 -203
  82. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +0 -415
  83. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  84. package/src/modules/bmb/workflows/create-agent/agent-types.md +0 -292
  85. package/src/modules/bmb/workflows/create-agent/checklist.md +0 -62
  86. package/src/modules/bmb/workflows/create-agent/communication-styles.md +0 -202
  87. package/src/modules/bmb/workflows/edit-agent/checklist.md +0 -112
  88. package/src/modules/bmb/workflows/redoc/README.md +0 -87
  89. package/src/modules/bmb/workflows/redoc/checklist.md +0 -99
  90. package/src/modules/bmb/workflows/redoc/instructions.md +0 -265
  91. package/src/modules/bmb/workflows/redoc/workflow.yaml +0 -34
  92. package/src/modules/bmm/agents/frame-expert.agent.yaml +0 -42
  93. package/src/modules/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +0 -24
  94. package/src/modules/bmm/workflows/frame-expert/create-diagram/workflow.yaml +0 -25
  95. package/src/modules/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +0 -28
  96. package/src/modules/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +0 -24
  97. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +0 -52
  98. /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/excalidraw-helpers.md +0 -0
  99. /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/validate-json-instructions.md +0 -0
  100. /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/epics-template.md +0 -0
  101. /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/instructions.md +0 -0
  102. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-library.json +0 -0
  103. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-templates.yaml +0 -0
  104. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/checklist.md +0 -0
  105. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/checklist.md +0 -0
  106. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/checklist.md +0 -0
  107. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/checklist.md +0 -0
@@ -0,0 +1,524 @@
1
+ # BMAD Agent Menu Patterns
2
+
3
+ Design patterns for agent menus in YAML source files.
4
+
5
+ ## Menu Structure
6
+
7
+ Agents define menus in YAML, with triggers auto-prefixed with `*` during compilation:
8
+
9
+ ```yaml
10
+ menu:
11
+ - trigger: action-name
12
+ [handler]: [value]
13
+ description: 'What this command does'
14
+ ```
15
+
16
+ **Note:** `*help` and `*exit` are auto-injected by the compiler - DO NOT include them.
17
+
18
+ ## Handler Types
19
+
20
+ ### 1. Action Handler (Prompts & Inline)
21
+
22
+ For simple and expert agents with self-contained logic.
23
+
24
+ **Reference to Prompt ID:**
25
+
26
+ ```yaml
27
+ prompts:
28
+ - id: analyze-code
29
+ content: |
30
+ <instructions>
31
+ Analyze the provided code for patterns and issues.
32
+ </instructions>
33
+
34
+ <process>
35
+ 1. Identify code structure
36
+ 2. Check for anti-patterns
37
+ 3. Suggest improvements
38
+ </process>
39
+
40
+ menu:
41
+ - trigger: analyze
42
+ action: '#analyze-code'
43
+ description: 'Analyze code patterns'
44
+ ```
45
+
46
+ **Inline Instruction:**
47
+
48
+ ```yaml
49
+ menu:
50
+ - trigger: quick-check
51
+ action: 'Perform a quick syntax validation on the current file'
52
+ description: 'Quick syntax check'
53
+ ```
54
+
55
+ **When to Use:**
56
+
57
+ - Simple/Expert agents with self-contained operations
58
+ - `#id` for complex, multi-step prompts
59
+ - Inline text for simple, one-line instructions
60
+
61
+ ### 2. Workflow Handler
62
+
63
+ For module agents orchestrating multi-step processes.
64
+
65
+ ```yaml
66
+ menu:
67
+ - trigger: create-prd
68
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/prd/workflow.yaml'
69
+ description: 'Create Product Requirements Document'
70
+
71
+ - trigger: brainstorm
72
+ workflow: '{project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml'
73
+ description: 'Guided brainstorming session'
74
+
75
+ # Placeholder for unimplemented workflows
76
+ - trigger: future-feature
77
+ workflow: 'todo'
78
+ description: 'Coming soon'
79
+ ```
80
+
81
+ **When to Use:**
82
+
83
+ - Module agents with workflow integration
84
+ - Multi-step document generation
85
+ - Complex interactive processes
86
+ - Use "todo" for planned but unimplemented features
87
+
88
+ ### 3. Exec Handler
89
+
90
+ For executing tasks directly.
91
+
92
+ ```yaml
93
+ menu:
94
+ - trigger: validate
95
+ exec: '{project-root}/{bmad_folder}/core/tasks/validate-workflow.xml'
96
+ description: 'Validate document structure'
97
+
98
+ - trigger: advanced-elicitation
99
+ exec: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
100
+ description: 'Advanced elicitation techniques'
101
+ ```
102
+
103
+ **When to Use:**
104
+
105
+ - Single-operation tasks
106
+ - Core system operations
107
+ - Utility functions
108
+
109
+ ### 4. Template Handler
110
+
111
+ For document generation with templates.
112
+
113
+ ```yaml
114
+ menu:
115
+ - trigger: create-brief
116
+ exec: '{project-root}/{bmad_folder}/core/tasks/create-doc.xml'
117
+ tmpl: '{project-root}/{bmad_folder}/bmm/templates/brief.md'
118
+ description: 'Create project brief'
119
+ ```
120
+
121
+ **When to Use:**
122
+
123
+ - Template-based document creation
124
+ - Combine `exec` with `tmpl` path
125
+ - Structured output generation
126
+
127
+ ### 5. Data Handler
128
+
129
+ Universal attribute for supplementary information.
130
+
131
+ ```yaml
132
+ menu:
133
+ - trigger: team-standup
134
+ exec: '{project-root}/{bmad_folder}/bmm/tasks/standup.xml'
135
+ data: '{project-root}/{bmad_folder}/_cfg/agent-manifest.csv'
136
+ description: 'Run team standup'
137
+
138
+ - trigger: analyze-metrics
139
+ action: 'Analyze these metrics and identify trends'
140
+ data: '{project-root}/_data/metrics.json'
141
+ description: 'Analyze performance metrics'
142
+ ```
143
+
144
+ **When to Use:**
145
+
146
+ - Add to ANY handler type
147
+ - Reference data files (CSV, JSON, YAML)
148
+ - Provide context for operations
149
+
150
+ ## Platform-Specific Menus
151
+
152
+ Control visibility based on deployment target:
153
+
154
+ ```yaml
155
+ menu:
156
+ - trigger: git-flow
157
+ exec: '{project-root}/{bmad_folder}/bmm/tasks/git-flow.xml'
158
+ description: 'Git workflow operations'
159
+ ide-only: true # Only in IDE environments
160
+
161
+ - trigger: advanced-elicitation
162
+ exec: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
163
+ description: 'Advanced elicitation'
164
+ web-only: true # Only in web bundles
165
+ ```
166
+
167
+ ## Trigger Naming Conventions
168
+
169
+ ### Action-Based (Recommended)
170
+
171
+ ```yaml
172
+ # Creation
173
+ - trigger: create-prd
174
+ - trigger: build-module
175
+ - trigger: generate-report
176
+
177
+ # Analysis
178
+ - trigger: analyze-requirements
179
+ - trigger: review-code
180
+ - trigger: validate-architecture
181
+
182
+ # Operations
183
+ - trigger: update-status
184
+ - trigger: sync-data
185
+ - trigger: deploy-changes
186
+ ```
187
+
188
+ ### Domain-Based
189
+
190
+ ```yaml
191
+ # Development
192
+ - trigger: brainstorm
193
+ - trigger: architect
194
+ - trigger: refactor
195
+
196
+ # Project Management
197
+ - trigger: sprint-plan
198
+ - trigger: retrospective
199
+ - trigger: standup
200
+ ```
201
+
202
+ ### Bad Patterns
203
+
204
+ ```yaml
205
+ # TOO VAGUE
206
+ - trigger: do
207
+ - trigger: run
208
+ - trigger: process
209
+
210
+ # TOO LONG
211
+ - trigger: create-comprehensive-product-requirements-document
212
+
213
+ # NO VERB
214
+ - trigger: prd
215
+ - trigger: config
216
+ ```
217
+
218
+ ## Menu Organization
219
+
220
+ ### Recommended Order
221
+
222
+ ```yaml
223
+ menu:
224
+ # Note: *help auto-injected first by compiler
225
+
226
+ # 1. Primary workflows (main value)
227
+ - trigger: workflow-init
228
+ workflow: '...'
229
+ description: 'Start here - initialize workflow'
230
+
231
+ - trigger: create-prd
232
+ workflow: '...'
233
+ description: 'Create PRD'
234
+
235
+ # 2. Secondary operations
236
+ - trigger: validate
237
+ exec: '...'
238
+ description: 'Validate document'
239
+
240
+ # 3. Utilities
241
+ - trigger: party-mode
242
+ workflow: '...'
243
+ description: 'Multi-agent discussion'
244
+
245
+ # Note: *exit auto-injected last by compiler
246
+ ```
247
+
248
+ ### Grouping by Phase
249
+
250
+ ```yaml
251
+ menu:
252
+ # Analysis Phase
253
+ - trigger: brainstorm
254
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
255
+ description: 'Brainstorm ideas'
256
+
257
+ - trigger: research
258
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/1-analysis/research/workflow.yaml'
259
+ description: 'Conduct research'
260
+
261
+ # Planning Phase
262
+ - trigger: prd
263
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/2-planning/prd/workflow.yaml'
264
+ description: 'Create PRD'
265
+
266
+ - trigger: architecture
267
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/2-planning/architecture/workflow.yaml'
268
+ description: 'Design architecture'
269
+ ```
270
+
271
+ ## Description Best Practices
272
+
273
+ ### Good Descriptions
274
+
275
+ ```yaml
276
+ # Clear action + object
277
+ - description: 'Create Product Requirements Document'
278
+
279
+ # Specific outcome
280
+ - description: 'Analyze security vulnerabilities'
281
+
282
+ # User benefit
283
+ - description: 'Optimize code for performance'
284
+
285
+ # Context when needed
286
+ - description: 'Start here - initialize workflow path'
287
+ ```
288
+
289
+ ### Poor Descriptions
290
+
291
+ ```yaml
292
+ # Too vague
293
+ - description: 'Process'
294
+
295
+ # Technical jargon
296
+ - description: 'Execute WF123'
297
+
298
+ # Missing context
299
+ - description: 'Run'
300
+
301
+ # Redundant with trigger
302
+ - description: 'Create PRD' # trigger: create-prd (too similar)
303
+ ```
304
+
305
+ ## Prompts Section (Simple/Expert Agents)
306
+
307
+ ### Prompt Structure
308
+
309
+ ```yaml
310
+ prompts:
311
+ - id: unique-identifier
312
+ content: |
313
+ <instructions>
314
+ What this prompt accomplishes
315
+ </instructions>
316
+
317
+ <process>
318
+ 1. First step
319
+ {{#if custom_option}}
320
+ 2. Conditional step
321
+ {{/if}}
322
+ 3. Final step
323
+ </process>
324
+
325
+ <output_format>
326
+ Expected structure of results
327
+ </output_format>
328
+ ```
329
+
330
+ ### Semantic XML Tags in Prompts
331
+
332
+ Use XML tags to structure prompt content:
333
+
334
+ - `<instructions>` - What to do
335
+ - `<process>` - Step-by-step approach
336
+ - `<output_format>` - Expected results
337
+ - `<examples>` - Sample outputs
338
+ - `<constraints>` - Limitations
339
+ - `<context>` - Background information
340
+
341
+ ### Handlebars in Prompts
342
+
343
+ Customize based on install_config:
344
+
345
+ ```yaml
346
+ prompts:
347
+ - id: analyze
348
+ content: |
349
+ {{#if detailed_mode}}
350
+ Perform comprehensive analysis with full explanations.
351
+ {{/if}}
352
+ {{#unless detailed_mode}}
353
+ Quick analysis focusing on key points.
354
+ {{/unless}}
355
+
356
+ Address {{user_name}} in {{communication_style}} tone.
357
+ ```
358
+
359
+ ## Path Variables
360
+
361
+ ### Always Use Variables
362
+
363
+ ```yaml
364
+ # GOOD - Portable paths
365
+ workflow: "{project-root}/{bmad_folder}/bmm/workflows/prd/workflow.yaml"
366
+ exec: "{project-root}/{bmad_folder}/core/tasks/validate.xml"
367
+ data: "{project-root}/_data/metrics.csv"
368
+
369
+ # BAD - Hardcoded paths
370
+ workflow: "/Users/john/project/.bmad/bmm/workflows/prd/workflow.yaml"
371
+ exec: "../../../core/tasks/validate.xml"
372
+ ```
373
+
374
+ ### Available Variables
375
+
376
+ - `{project-root}` - Project root directory
377
+ - `{bmad_folder}` - BMAD installation folder
378
+ - `{agent-folder}` - Agent installation directory (Expert agents)
379
+ - `{output_folder}` - Document output location
380
+ - `{user_name}` - User's name from config
381
+ - `{communication_language}` - Language preference
382
+
383
+ ## Complete Examples
384
+
385
+ ### Simple Agent Menu
386
+
387
+ ```yaml
388
+ prompts:
389
+ - id: format-code
390
+ content: |
391
+ <instructions>
392
+ Format the provided code according to style guidelines.
393
+ </instructions>
394
+
395
+ Apply:
396
+ - Consistent indentation
397
+ - Proper spacing
398
+ - Clear naming conventions
399
+
400
+ menu:
401
+ - trigger: format
402
+ action: '#format-code'
403
+ description: 'Format code to style guidelines'
404
+
405
+ - trigger: lint
406
+ action: 'Check code for common issues and anti-patterns'
407
+ description: 'Lint code for issues'
408
+
409
+ - trigger: suggest
410
+ action: 'Suggest improvements for code readability'
411
+ description: 'Suggest improvements'
412
+ ```
413
+
414
+ ### Expert Agent Menu
415
+
416
+ ```yaml
417
+ critical_actions:
418
+ - 'Load {agent-folder}/memories.md'
419
+ - 'Follow {agent-folder}/instructions.md'
420
+ - 'ONLY access {agent-folder}/'
421
+
422
+ prompts:
423
+ - id: reflect
424
+ content: |
425
+ Guide {{user_name}} through reflection on recent entries.
426
+ Reference patterns from memories.md naturally.
427
+
428
+ menu:
429
+ - trigger: write
430
+ action: '#reflect'
431
+ description: 'Write journal entry'
432
+
433
+ - trigger: save
434
+ action: 'Update {agent-folder}/memories.md with session insights'
435
+ description: "Save today's session"
436
+
437
+ - trigger: patterns
438
+ action: 'Analyze recent entries for recurring themes'
439
+ description: 'View patterns'
440
+ ```
441
+
442
+ ### Module Agent Menu
443
+
444
+ ```yaml
445
+ menu:
446
+ - trigger: workflow-init
447
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/workflow-status/init/workflow.yaml'
448
+ description: 'Initialize workflow path (START HERE)'
449
+
450
+ - trigger: brainstorm
451
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
452
+ description: 'Guided brainstorming'
453
+
454
+ - trigger: prd
455
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/2-planning/prd/workflow.yaml'
456
+ description: 'Create PRD'
457
+
458
+ - trigger: architecture
459
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/2-planning/architecture/workflow.yaml'
460
+ description: 'Design architecture'
461
+
462
+ - trigger: party-mode
463
+ workflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.yaml'
464
+ description: 'Multi-agent discussion'
465
+ ```
466
+
467
+ ## Validation Checklist
468
+
469
+ - [ ] No duplicate triggers
470
+ - [ ] Triggers don't start with `*` (auto-added)
471
+ - [ ] Every item has a description
472
+ - [ ] Paths use variables, not hardcoded
473
+ - [ ] `#id` references exist in prompts section
474
+ - [ ] Workflow paths resolve or are "todo"
475
+ - [ ] No `*help` or `*exit` (auto-injected)
476
+ - [ ] Descriptions are clear and action-oriented
477
+ - [ ] Platform-specific flags used correctly (ide-only, web-only)
478
+
479
+ ## Common Mistakes
480
+
481
+ ### Duplicate Triggers
482
+
483
+ ```yaml
484
+ # BAD - compiler will fail
485
+ - trigger: analyze
486
+ action: '#first'
487
+ description: 'First analysis'
488
+
489
+ - trigger: analyze
490
+ action: '#second'
491
+ description: 'Second analysis'
492
+ ```
493
+
494
+ ### Including Auto-Injected Items
495
+
496
+ ```yaml
497
+ # BAD - these are auto-injected
498
+ menu:
499
+ - trigger: help
500
+ description: 'Show help'
501
+
502
+ - trigger: exit
503
+ description: 'Exit agent'
504
+ ```
505
+
506
+ ### Missing Prompt Reference
507
+
508
+ ```yaml
509
+ # BAD - prompt id doesn't exist
510
+ menu:
511
+ - trigger: analyze
512
+ action: '#nonexistent-prompt'
513
+ description: 'Analysis'
514
+ ```
515
+
516
+ ### Hardcoded Paths
517
+
518
+ ```yaml
519
+ # BAD - not portable
520
+ menu:
521
+ - trigger: run
522
+ workflow: '/absolute/path/to/workflow.yaml'
523
+ description: 'Run workflow'
524
+ ```