bmad-plus 0.12.0 → 0.12.2

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 (160) hide show
  1. package/CHANGELOG.md +612 -554
  2. package/README.md +557 -577
  3. package/osint-agent-package/agents/osint-investigator.md +12 -0
  4. package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +491 -482
  5. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +126 -126
  6. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/lawful-basis-record.md +48 -48
  7. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
  8. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/gdpr-osint.md +48 -48
  9. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
  10. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
  11. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
  12. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
  13. package/package.json +104 -91
  14. package/readme-international/README.de.md +596 -589
  15. package/readme-international/README.es.md +613 -606
  16. package/readme-international/README.fr.md +611 -604
  17. package/src/bmad-plus/agents/agent-shadow/SKILL.md +18 -0
  18. package/src/bmad-plus/data/role-triggers.yaml +52 -0
  19. package/src/bmad-plus/module.yaml +283 -283
  20. package/src/bmad-plus/packs/pack-animated/animated-website-agent.md +325 -325
  21. package/src/bmad-plus/packs/pack-animated/templates/animated-website-workflow.md +55 -55
  22. package/src/bmad-plus/packs/pack-backup/backup-agent.md +71 -71
  23. package/src/bmad-plus/packs/pack-backup/templates/backup-workflow.md +51 -51
  24. package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
  25. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
  70. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
  71. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
  72. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
  73. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
  74. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
  75. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
  76. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
  77. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
  78. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
  79. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
  80. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
  81. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
  82. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
  83. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
  84. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
  85. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
  86. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
  87. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
  88. package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +14 -0
  89. package/src/bmad-plus/packs/pack-seo/SKILL.md +171 -171
  90. package/src/bmad-plus/packs/pack-seo/checklist.md +140 -140
  91. package/src/bmad-plus/packs/pack-seo/pagespeed-playbook.md +320 -320
  92. package/src/bmad-plus/packs/pack-seo/ref/audit-schema.json +187 -187
  93. package/src/bmad-plus/packs/pack-seo/ref/cwv-thresholds.md +87 -87
  94. package/src/bmad-plus/packs/pack-seo/ref/eeat-criteria.md +123 -123
  95. package/src/bmad-plus/packs/pack-seo/ref/geo-signals.md +167 -167
  96. package/src/bmad-plus/packs/pack-seo/ref/hreflang-rules.md +153 -153
  97. package/src/bmad-plus/packs/pack-seo/ref/quality-gates.md +133 -133
  98. package/src/bmad-plus/packs/pack-seo/ref/schema-catalog.md +91 -91
  99. package/src/bmad-plus/packs/pack-seo/ref/schema-templates.json +356 -356
  100. package/src/bmad-plus/packs/pack-seo/requirements.txt +17 -0
  101. package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +456 -0
  102. package/src/bmad-plus/packs/pack-seo/scripts/seo_crawl.py +359 -0
  103. package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +304 -0
  104. package/src/bmad-plus/packs/pack-seo/scripts/seo_parse.py +255 -0
  105. package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +410 -0
  106. package/src/bmad-plus/packs/pack-seo/scripts/seo_screenshot.py +202 -0
  107. package/src/bmad-plus/packs/pack-seo/seo-chief.md +294 -294
  108. package/src/bmad-plus/packs/pack-seo/seo-judge.md +241 -241
  109. package/src/bmad-plus/packs/pack-seo/seo-scout.md +171 -171
  110. package/src/bmad-plus/packs/pack-seo/templates/seo-audit-workflow.md +241 -241
  111. package/src/bmad-plus/packs/pack-shield/README.md +6 -6
  112. package/src/bmad-plus/packs/pack-shield/SKILL.md +2 -2
  113. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +11 -11
  114. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +11 -11
  115. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +11 -11
  116. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +11 -11
  117. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +11 -11
  118. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +11 -11
  119. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +11 -11
  120. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +11 -11
  121. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +11 -11
  122. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +11 -11
  123. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +11 -11
  124. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +11 -11
  125. package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +11 -11
  126. package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +11 -11
  127. package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +11 -11
  128. package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +11 -11
  129. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +11 -11
  130. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +11 -11
  131. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +11 -11
  132. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +11 -11
  133. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +11 -11
  134. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +11 -11
  135. package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +1 -1
  136. package/tools/build/check-counts.js +628 -0
  137. package/tools/build/generated-adapters/.codex/AGENTS.md +1 -1
  138. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +1 -1
  139. package/tools/build/generated-adapters/.opencode/AGENTS.md +1 -1
  140. package/tools/build/generated-adapters/AGENTS.md +1 -1
  141. package/tools/build/generated-adapters/CLAUDE.md +1 -1
  142. package/tools/build/generated-adapters/CONVENTIONS.md +1 -1
  143. package/tools/build/generated-adapters/GEMINI.md +1 -1
  144. package/tools/cli/commands/autoconfig.js +470 -472
  145. package/tools/cli/commands/doctor.js +233 -233
  146. package/tools/cli/commands/install.js +598 -495
  147. package/tools/cli/commands/memory-journal-cmd.js +311 -311
  148. package/tools/cli/commands/memory.js +195 -195
  149. package/tools/cli/commands/scan.js +348 -364
  150. package/tools/cli/commands/uninstall.js +101 -101
  151. package/tools/cli/commands/update.js +134 -134
  152. package/tools/cli/i18n.js +845 -845
  153. package/tools/cli/lib/README-memory-journal.md +125 -125
  154. package/tools/cli/lib/ide-config.js +267 -259
  155. package/tools/cli/lib/memory-init.js +204 -113
  156. package/tools/cli/lib/packs.js +209 -209
  157. package/tools/cli/lib/path-hash.js +39 -0
  158. package/tools/cli/lib/python-provision.js +508 -508
  159. package/tools/cli/lib/stack-detect.js +102 -102
  160. package/tools/cli/lib/validate.js +50 -50
@@ -1,75 +1,75 @@
1
- ---
2
- name: bmad-help
3
- description: 'Analyzes current state and user query to answer BMad questions or recommend the next skill(s) to use. Use when user asks for help, bmad help, what to do next, or what to start with in BMad.'
4
- ---
5
-
6
- # BMad Help
7
-
8
- ## Purpose
9
-
10
- Help the user understand where they are in their BMad workflow and what to do next, and also answer broader questions when asked that could be augmented with remote sources such as module documentation sources.
11
-
12
- ## Desired Outcomes
13
-
14
- When this skill completes, the user should:
15
-
16
- 1. **Know where they are** — which module and phase they're in, what's already been completed
17
- 2. **Know what to do next** — the next recommended and/or required step, with clear reasoning
18
- 3. **Know how to invoke it** — skill name, menu code, action context, and any args that shortcut the conversation
19
- 4. **Get offered a quick start** — when a single skill is the clear next step, offer to run it for the user right now rather than just listing it
20
- 5. **Feel oriented, not overwhelmed** — surface only what's relevant to their current position; don't dump the entire catalog
21
- 6. **Get answers to general questions** — when the question doesn't map to a specific skill, use the module's registered documentation to give a grounded answer
22
-
23
- ## Data Sources
24
-
25
- - **Catalog**: `{project-root}/_config/bmad-help.csv` — assembled manifest of all installed module skills
26
- - **Config**: `config.yaml` and `user-config.yaml` files in `{project-root}/` and its subfolders — resolve `output-location` variables, provide `communication_language` and `project_knowledge`
27
- - **Artifacts**: Files matching `outputs` patterns at resolved `output-location` paths reveal which steps are possibly completed; their content may also provide grounding context for recommendations
28
- - **Project knowledge**: If `project_knowledge` resolves to an existing path, read it for grounding context. Never fabricate project-specific details.
29
- - **Module docs**: Rows with `_meta` in the `skill` column carry a URL or path in `output-location` pointing to the module's documentation (e.g., llms.txt). Fetch and use these to answer general questions about that module.
30
-
31
- ## CSV Interpretation
32
-
33
- The catalog uses this format:
34
-
35
- ```
36
- module,skill,display-name,menu-code,description,action,args,phase,preceded-by,followed-by,required,output-location,outputs
37
- ```
38
-
39
- **Phases** determine the high-level flow:
40
- - `anytime` — available regardless of workflow state
41
- - Numbered phases (`1-analysis`, `2-planning`, etc.) flow in order; naming varies by module
42
-
43
- **Sequencing** determines recommended ordering within and across phases (these are soft suggestions, not hard gates — see `required` for gating):
44
- - `preceded-by` — skills that should ideally complete before this one
45
- - `followed-by` — skills that should ideally run after this one
46
- - Format: `skill-name` for single-action skills, `skill-name:action` for multi-action skills
47
-
48
- **Required gates**:
49
- - `required=true` items must complete before the user can meaningfully proceed to later phases
50
- - A phase with no required items is entirely optional — recommend it but be clear about what's actually required next
51
-
52
- **Completion detection**:
53
- - Search resolved output paths for `outputs` patterns
54
- - Fuzzy-match found files to catalog rows
55
- - User may also state completion explicitly, or it may be evident from the current conversation
56
-
57
- **Descriptions carry routing context** — some contain cycle info and alternate paths (e.g., "back to DS if fixes needed"). Read them as navigation hints, not just display text.
58
-
59
- ## Response Format
60
-
61
- For each recommended item, present:
62
- - `[menu-code]` **Display name** — e.g., "[PR] PRD"
63
- - Skill name in backticks — e.g., `bmad-prd`
64
- - For multi-action skills: action invocation context — e.g., "tech-writer lets create a mermaid diagram!"
65
- - Description if present in CSV; otherwise your existing knowledge of the skill suffices
66
- - Args if available
67
-
68
- **Ordering**: Show optional items first, then the next required item. Make it clear which is which.
69
-
70
- ## Constraints
71
-
72
- - Present all output in `{communication_language}`
73
- - Recommend running each skill in a **fresh context window**
74
- - Match the user's tone — conversational when they're casual, structured when they want specifics
75
- - If the active module is ambiguous, retrieve all meta rows remote sources to find relevant info also to help answer their question
1
+ ---
2
+ name: bmad-help
3
+ description: 'Analyzes current state and user query to answer BMad questions or recommend the next skill(s) to use. Use when user asks for help, bmad help, what to do next, or what to start with in BMad.'
4
+ ---
5
+
6
+ # BMad Help
7
+
8
+ ## Purpose
9
+
10
+ Help the user understand where they are in their BMad workflow and what to do next, and also answer broader questions when asked that could be augmented with remote sources such as module documentation sources.
11
+
12
+ ## Desired Outcomes
13
+
14
+ When this skill completes, the user should:
15
+
16
+ 1. **Know where they are** — which module and phase they're in, what's already been completed
17
+ 2. **Know what to do next** — the next recommended and/or required step, with clear reasoning
18
+ 3. **Know how to invoke it** — skill name, menu code, action context, and any args that shortcut the conversation
19
+ 4. **Get offered a quick start** — when a single skill is the clear next step, offer to run it for the user right now rather than just listing it
20
+ 5. **Feel oriented, not overwhelmed** — surface only what's relevant to their current position; don't dump the entire catalog
21
+ 6. **Get answers to general questions** — when the question doesn't map to a specific skill, use the module's registered documentation to give a grounded answer
22
+
23
+ ## Data Sources
24
+
25
+ - **Catalog**: `{project-root}/_config/bmad-help.csv` — assembled manifest of all installed module skills
26
+ - **Config**: `config.yaml` and `user-config.yaml` files in `{project-root}/` and its subfolders — resolve `output-location` variables, provide `communication_language` and `project_knowledge`
27
+ - **Artifacts**: Files matching `outputs` patterns at resolved `output-location` paths reveal which steps are possibly completed; their content may also provide grounding context for recommendations
28
+ - **Project knowledge**: If `project_knowledge` resolves to an existing path, read it for grounding context. Never fabricate project-specific details.
29
+ - **Module docs**: Rows with `_meta` in the `skill` column carry a URL or path in `output-location` pointing to the module's documentation (e.g., llms.txt). Fetch and use these to answer general questions about that module.
30
+
31
+ ## CSV Interpretation
32
+
33
+ The catalog uses this format:
34
+
35
+ ```
36
+ module,skill,display-name,menu-code,description,action,args,phase,preceded-by,followed-by,required,output-location,outputs
37
+ ```
38
+
39
+ **Phases** determine the high-level flow:
40
+ - `anytime` — available regardless of workflow state
41
+ - Numbered phases (`1-analysis`, `2-planning`, etc.) flow in order; naming varies by module
42
+
43
+ **Sequencing** determines recommended ordering within and across phases (these are soft suggestions, not hard gates — see `required` for gating):
44
+ - `preceded-by` — skills that should ideally complete before this one
45
+ - `followed-by` — skills that should ideally run after this one
46
+ - Format: `skill-name` for single-action skills, `skill-name:action` for multi-action skills
47
+
48
+ **Required gates**:
49
+ - `required=true` items must complete before the user can meaningfully proceed to later phases
50
+ - A phase with no required items is entirely optional — recommend it but be clear about what's actually required next
51
+
52
+ **Completion detection**:
53
+ - Search resolved output paths for `outputs` patterns
54
+ - Fuzzy-match found files to catalog rows
55
+ - User may also state completion explicitly, or it may be evident from the current conversation
56
+
57
+ **Descriptions carry routing context** — some contain cycle info and alternate paths (e.g., "back to DS if fixes needed"). Read them as navigation hints, not just display text.
58
+
59
+ ## Response Format
60
+
61
+ For each recommended item, present:
62
+ - `[menu-code]` **Display name** — e.g., "[PR] PRD"
63
+ - Skill name in backticks — e.g., `bmad-prd`
64
+ - For multi-action skills: action invocation context — e.g., "tech-writer lets create a mermaid diagram!"
65
+ - Description if present in CSV; otherwise your existing knowledge of the skill suffices
66
+ - Args if available
67
+
68
+ **Ordering**: Show optional items first, then the next required item. Make it clear which is which.
69
+
70
+ ## Constraints
71
+
72
+ - Present all output in `{communication_language}`
73
+ - Recommend running each skill in a **fresh context window**
74
+ - Match the user's tone — conversational when they're casual, structured when they want specifics
75
+ - If the active module is ambiguous, retrieve all meta rows remote sources to find relevant info also to help answer their question
@@ -1,6 +1,6 @@
1
- ---
2
- name: bmad-brainstorming
3
- description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says help me brainstorm or help me ideate.'
4
- ---
5
-
6
- Follow the instructions in ./workflow.md.
1
+ ---
2
+ name: bmad-brainstorming
3
+ description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says help me brainstorm or help me ideate.'
4
+ ---
5
+
6
+ Follow the instructions in ./workflow.md.
@@ -1,111 +1,111 @@
1
- ---
2
- name: bmad-customize
3
- description: Authors and updates customization overrides for installed BMad skills. Use when the user says 'customize bmad', 'override a skill', 'change agent behavior', or 'customize a workflow'.
4
- ---
5
-
6
- # BMad Customize
7
-
8
- Translate the user's intent into a correctly-placed TOML override file under `{project-root}/custom/` for a customizable agent or workflow skill. Discover, route, author, write, verify.
9
-
10
- Scope v1: per-skill `[agent]` overrides (`bmad-agent-<role>.toml` / `.user.toml`) and per-skill `[workflow]` overrides (`bmad-<workflow>.toml` / `.user.toml`). Central config (`{project-root}/custom/config.toml`) is out of scope — point users at the [How to Customize BMad guide](https://docs.bmad-method.org/how-to/customize-bmad/).
11
-
12
- When the target's `agent configuration` doesn't expose what the user wants, say so plainly. Don't invent fields.
13
-
14
- ## Preflight
15
-
16
- - No `{project-root}/` → BMad isn't installed. Say so, stop.
17
- - `{project-root}/scripts/resolve_customization.py` missing → continue, but Step 6 verify falls back to manual merge.
18
- - Both present → proceed.
19
-
20
- ## Activation
21
-
22
- Load `config.toml` and `config.user.toml` from `{project-root}` for `user_name` (default `BMad`) and `communication_language` (default `English`). Greet. If the user's invocation already names a target skill AND a specific change, jump to Step 3.
23
-
24
- ## Step 1: Classify intent
25
-
26
- - **Directed** — specific skill + specific change → Step 3.
27
- - **Exploratory** — "what can I customize?" → Step 2.
28
- - **Audit/iterate** — wants to review or change something already customized → Step 2, lead with skills that have existing overrides; read the existing override in Step 3 before composing.
29
- - **Cross-cutting** — could live on multiple surfaces → Step 3, choose agent vs workflow explicitly with the user.
30
-
31
- ## Step 2: Discovery
32
-
33
- ```
34
- List all installed BMAD+ agents and skills from your project directory
35
- ```
36
-
37
- Use `--extra-root <path>` (repeatable) if the user has skills installed in additional locations.
38
-
39
- Group the returned `agents` and `workflows` for the user; for each show name, description, whether `has_team_override` or `has_user_override` is true. Surface any `errors[]`. For audit/iterate intents, lead with already-overridden entries.
40
-
41
- Empty list: show `scanned_roots`, ask whether skills live elsewhere (offer `--extra-root`); otherwise stop.
42
-
43
- ## Step 3: Determine the right surface
44
-
45
- Read the target's `agent configuration`. Top-level `[agent]` or `[workflow]` block defines the surface.
46
-
47
- If a team or user override already exists, read it first and summarize what's already overridden before composing.
48
-
49
- **Cross-cutting intent — walk both surfaces with the user:**
50
- - Every workflow a given agent runs → agent surface (e.g. `bmad-agent-pm.toml` with `persistent_facts`, `principles`).
51
- - One workflow only → workflow surface (e.g. `bmad-prd.toml` with `activation_steps_prepend`).
52
- - Several specific workflows → multiple workflow overrides in sequence, not an agent override.
53
-
54
- **Single-surface heuristic:**
55
- - Workflow-level: template swap, output path, step-specific behavior, or a named scalar already exposed (`*_template`, `on_complete`). Surgical, reliable.
56
- - Agent-level: persona, communication style, org-wide facts, menu changes, behavior that should apply to every workflow the agent dispatches.
57
-
58
- When ambiguous, present both with tradeoff, recommend one, let the user decide.
59
-
60
- Intent outside the exposed surface (step logic, ordering, anything not in `agent configuration`): say so; offer `activation_steps_prepend`/`append` or `persistent_facts` as approximations, or recommend `bmad-builder` to create a custom skill.
61
-
62
- ## Step 4: Compose the override
63
-
64
- Translate plain-English into TOML against the target's `agent configuration` fields. If an existing override was read, frame the change as additive.
65
-
66
- Merge semantics:
67
- - **Scalars** (`icon`, `role`, `*_template`, `on_complete`) — override wins.
68
- - **Append arrays** (`persistent_facts`, `activation_steps_prepend`/`append`, `principles`) — team/user entries append in order.
69
- - **Keyed arrays of tables** (menu items with `code` or `id`) — matching keys replace, new keys append.
70
-
71
- Overrides are sparse: only the fields being changed. Never copy the whole `agent configuration`.
72
-
73
- **Template swap** (`*_template` scalar): offer to copy the default template to `{project-root}/custom/{skill-name}-{purpose}-template.md`, point the override at the new path, offer to help edit it.
74
-
75
- ## Step 5: Team or user placement
76
-
77
- Under `{project-root}/custom/`:
78
- - `{skill-name}.toml` — team, committed. Policies, org conventions, compliance.
79
- - `{skill-name}.user.toml` — user, gitignored. Personal tone, private facts, shortcuts.
80
-
81
- Default by character (policy → team, personal → user), confirm before writing.
82
-
83
- ## Step 6: Show, confirm, write, verify
84
-
85
- 1. Show the full TOML. If the file exists, show a diff. Never silently overwrite.
86
- 2. Wait for explicit yes.
87
- 3. Write. Create `{project-root}/custom/` if needed.
88
- 4. Verify:
89
- ```
90
- <!-- Adapted for BMAD+: original script dependency removed -->
91
- ```
92
- Show the merged output, point out the changed fields.
93
-
94
- **Resolver missing or fails:** read whichever layers exist — `<install-path>/agent configuration` (base), `{project-root}/custom/{skill-name}.toml` (team), `{project-root}/custom/{skill-name}.user.toml` (user) — apply base → team → user with the same merge rules (scalars override, tables deep-merge, `code`/`id`-keyed arrays merge by key, all other arrays append), describe how the changed fields resolve.
95
-
96
- **Verify shows override didn't land** (field unchanged, merge conflict, file not picked up): re-enter Step 4 with the verify output as context. Usually wrong field name, wrong merge mode (scalar vs array), or wrong scope.
97
- 5. Summarize what changed, where the file lives, how to iterate. Remind the user to commit team overrides.
98
-
99
- ## Complete when
100
-
101
- - Override file written (or user explicitly aborted).
102
- - User has seen resolver output (or manual fallback merge summary).
103
- - User has acknowledged the summary.
104
-
105
- Otherwise the skill isn't done — finish or tell the user they're exiting incomplete.
106
-
107
- ## When this skill can't help
108
-
109
- - **Central config** (`{project-root}/custom/config.toml`) — see the [How to Customize BMad guide](https://docs.bmad-method.org/how-to/customize-bmad/).
110
- - **Step logic, ordering, behavior not in `agent configuration`** — open a feature request, or use `bmad-builder` to create a custom skill. Offer to help with either.
1
+ ---
2
+ name: bmad-customize
3
+ description: Authors and updates customization overrides for installed BMad skills. Use when the user says 'customize bmad', 'override a skill', 'change agent behavior', or 'customize a workflow'.
4
+ ---
5
+
6
+ # BMad Customize
7
+
8
+ Translate the user's intent into a correctly-placed TOML override file under `{project-root}/custom/` for a customizable agent or workflow skill. Discover, route, author, write, verify.
9
+
10
+ Scope v1: per-skill `[agent]` overrides (`bmad-agent-<role>.toml` / `.user.toml`) and per-skill `[workflow]` overrides (`bmad-<workflow>.toml` / `.user.toml`). Central config (`{project-root}/custom/config.toml`) is out of scope — point users at the [How to Customize BMad guide](https://docs.bmad-method.org/how-to/customize-bmad/).
11
+
12
+ When the target's `agent configuration` doesn't expose what the user wants, say so plainly. Don't invent fields.
13
+
14
+ ## Preflight
15
+
16
+ - No `{project-root}/` → BMad isn't installed. Say so, stop.
17
+ - `{project-root}/scripts/resolve_customization.py` missing → continue, but Step 6 verify falls back to manual merge.
18
+ - Both present → proceed.
19
+
20
+ ## Activation
21
+
22
+ Load `config.toml` and `config.user.toml` from `{project-root}` for `user_name` (default `BMad`) and `communication_language` (default `English`). Greet. If the user's invocation already names a target skill AND a specific change, jump to Step 3.
23
+
24
+ ## Step 1: Classify intent
25
+
26
+ - **Directed** — specific skill + specific change → Step 3.
27
+ - **Exploratory** — "what can I customize?" → Step 2.
28
+ - **Audit/iterate** — wants to review or change something already customized → Step 2, lead with skills that have existing overrides; read the existing override in Step 3 before composing.
29
+ - **Cross-cutting** — could live on multiple surfaces → Step 3, choose agent vs workflow explicitly with the user.
30
+
31
+ ## Step 2: Discovery
32
+
33
+ ```
34
+ List all installed BMAD+ agents and skills from your project directory
35
+ ```
36
+
37
+ Use `--extra-root <path>` (repeatable) if the user has skills installed in additional locations.
38
+
39
+ Group the returned `agents` and `workflows` for the user; for each show name, description, whether `has_team_override` or `has_user_override` is true. Surface any `errors[]`. For audit/iterate intents, lead with already-overridden entries.
40
+
41
+ Empty list: show `scanned_roots`, ask whether skills live elsewhere (offer `--extra-root`); otherwise stop.
42
+
43
+ ## Step 3: Determine the right surface
44
+
45
+ Read the target's `agent configuration`. Top-level `[agent]` or `[workflow]` block defines the surface.
46
+
47
+ If a team or user override already exists, read it first and summarize what's already overridden before composing.
48
+
49
+ **Cross-cutting intent — walk both surfaces with the user:**
50
+ - Every workflow a given agent runs → agent surface (e.g. `bmad-agent-pm.toml` with `persistent_facts`, `principles`).
51
+ - One workflow only → workflow surface (e.g. `bmad-prd.toml` with `activation_steps_prepend`).
52
+ - Several specific workflows → multiple workflow overrides in sequence, not an agent override.
53
+
54
+ **Single-surface heuristic:**
55
+ - Workflow-level: template swap, output path, step-specific behavior, or a named scalar already exposed (`*_template`, `on_complete`). Surgical, reliable.
56
+ - Agent-level: persona, communication style, org-wide facts, menu changes, behavior that should apply to every workflow the agent dispatches.
57
+
58
+ When ambiguous, present both with tradeoff, recommend one, let the user decide.
59
+
60
+ Intent outside the exposed surface (step logic, ordering, anything not in `agent configuration`): say so; offer `activation_steps_prepend`/`append` or `persistent_facts` as approximations, or recommend `bmad-builder` to create a custom skill.
61
+
62
+ ## Step 4: Compose the override
63
+
64
+ Translate plain-English into TOML against the target's `agent configuration` fields. If an existing override was read, frame the change as additive.
65
+
66
+ Merge semantics:
67
+ - **Scalars** (`icon`, `role`, `*_template`, `on_complete`) — override wins.
68
+ - **Append arrays** (`persistent_facts`, `activation_steps_prepend`/`append`, `principles`) — team/user entries append in order.
69
+ - **Keyed arrays of tables** (menu items with `code` or `id`) — matching keys replace, new keys append.
70
+
71
+ Overrides are sparse: only the fields being changed. Never copy the whole `agent configuration`.
72
+
73
+ **Template swap** (`*_template` scalar): offer to copy the default template to `{project-root}/custom/{skill-name}-{purpose}-template.md`, point the override at the new path, offer to help edit it.
74
+
75
+ ## Step 5: Team or user placement
76
+
77
+ Under `{project-root}/custom/`:
78
+ - `{skill-name}.toml` — team, committed. Policies, org conventions, compliance.
79
+ - `{skill-name}.user.toml` — user, gitignored. Personal tone, private facts, shortcuts.
80
+
81
+ Default by character (policy → team, personal → user), confirm before writing.
82
+
83
+ ## Step 6: Show, confirm, write, verify
84
+
85
+ 1. Show the full TOML. If the file exists, show a diff. Never silently overwrite.
86
+ 2. Wait for explicit yes.
87
+ 3. Write. Create `{project-root}/custom/` if needed.
88
+ 4. Verify:
89
+ ```
90
+ <!-- Adapted for BMAD+: original script dependency removed -->
91
+ ```
92
+ Show the merged output, point out the changed fields.
93
+
94
+ **Resolver missing or fails:** read whichever layers exist — `<install-path>/agent configuration` (base), `{project-root}/custom/{skill-name}.toml` (team), `{project-root}/custom/{skill-name}.user.toml` (user) — apply base → team → user with the same merge rules (scalars override, tables deep-merge, `code`/`id`-keyed arrays merge by key, all other arrays append), describe how the changed fields resolve.
95
+
96
+ **Verify shows override didn't land** (field unchanged, merge conflict, file not picked up): re-enter Step 4 with the verify output as context. Usually wrong field name, wrong merge mode (scalar vs array), or wrong scope.
97
+ 5. Summarize what changed, where the file lives, how to iterate. Remind the user to commit team overrides.
98
+
99
+ ## Complete when
100
+
101
+ - Override file written (or user explicitly aborted).
102
+ - User has seen resolver output (or manual fallback merge summary).
103
+ - User has acknowledged the summary.
104
+
105
+ Otherwise the skill isn't done — finish or tell the user they're exiting incomplete.
106
+
107
+ ## When this skill can't help
108
+
109
+ - **Central config** (`{project-root}/custom/config.toml`) — see the [How to Customize BMad guide](https://docs.bmad-method.org/how-to/customize-bmad/).
110
+ - **Step logic, ordering, behavior not in `agent configuration`** — open a feature request, or use `bmad-builder` to create a custom skill. Offer to help with either.
111
111
  - **Skills without a `agent configuration`** — not customizable.