bmad-plus 0.12.2 → 0.14.0

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 (127) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +96 -461
  3. package/package.json +12 -5
  4. package/readme-international/README.de.md +42 -9
  5. package/readme-international/README.es.md +43 -10
  6. package/readme-international/README.fr.md +42 -9
  7. package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +5 -3
  8. package/src/bmad-plus/module.yaml +270 -220
  9. package/src/bmad-plus/packs/pack-dev-studio/README.md +133 -141
  10. package/src/bmad-plus/packs/pack-dev-studio/SKILL.md +49 -0
  11. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +35 -60
  12. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +59 -59
  13. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +55 -93
  14. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +58 -93
  15. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +55 -132
  16. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +63 -78
  17. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +54 -69
  18. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +54 -93
  19. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +32 -60
  20. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +67 -71
  21. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +61 -90
  22. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +56 -78
  23. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +55 -88
  24. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +20 -153
  25. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +20 -173
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +14 -220
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +20 -329
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +15 -314
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +15 -355
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +15 -375
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +14 -357
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +13 -78
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +52 -65
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +14 -81
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +14 -31
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +14 -45
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +13 -128
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +61 -87
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +55 -298
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +52 -426
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +48 -69
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +22 -80
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +60 -482
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +50 -184
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +57 -173
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +56 -108
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +54 -1509
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +54 -296
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +41 -283
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +58 -18
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +103 -72
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +55 -27
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +34 -60
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +46 -87
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/steps/step-01-init.md +10 -0
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +30 -60
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +57 -27
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +47 -138
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +48 -34
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +51 -68
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +46 -3
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +68 -109
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +53 -174
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +39 -53
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +45 -83
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +45 -176
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +45 -63
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +53 -124
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +44 -100
  70. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +56 -116
  71. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +49 -12
  72. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +51 -328
  73. package/src/bmad-plus/packs/pack-dev-studio/shared/catalog.json +489 -0
  74. package/src/bmad-plus/packs/pack-dev-studio/shared/execution.md +69 -0
  75. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +39 -32
  76. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +85 -14
  77. package/src/bmad-plus/packs/pack-memory/README.md +6 -0
  78. package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +12 -5
  79. package/src/bmad-plus/packs/pack-seo/SKILL.md +27 -1
  80. package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +8 -8
  81. package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +1 -2
  82. package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +0 -1
  83. package/src/bmad-plus/packs/pack-seo/seo-chief.md +16 -1
  84. package/src/bmad-plus/packs/pack-seo/seo-judge.md +12 -0
  85. package/src/bmad-plus/packs/pack-seo/seo-scout.md +12 -0
  86. package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +4 -4
  87. package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +5 -3
  88. package/src/bmad-plus/skills/dev-studio/SKILL.md +19 -0
  89. package/tools/bmad-plus-npx.js +4 -2
  90. package/tools/build/adapters.config.js +60 -51
  91. package/tools/build/check-counts.js +52 -54
  92. package/tools/build/check-install-contract.js +450 -0
  93. package/tools/build/generate-adapters.js +252 -56
  94. package/tools/build/generate.js +364 -14
  95. package/tools/build/generated-adapters/.codex/AGENTS.md +20 -7
  96. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +20 -7
  97. package/tools/build/generated-adapters/.opencode/AGENTS.md +20 -7
  98. package/tools/build/generated-adapters/AGENTS.md +20 -7
  99. package/tools/build/generated-adapters/CLAUDE.md +20 -7
  100. package/tools/build/generated-adapters/CONVENTIONS.md +20 -7
  101. package/tools/build/generated-adapters/GEMINI.md +20 -7
  102. package/tools/build/module.template.yaml +82 -0
  103. package/tools/build/pack-delivery.js +78 -0
  104. package/tools/cli/bmad-plus-cli.js +16 -1
  105. package/tools/cli/commands/doctor.js +49 -217
  106. package/tools/cli/commands/install.js +109 -164
  107. package/tools/cli/commands/studio.js +68 -0
  108. package/tools/cli/commands/uninstall.js +173 -65
  109. package/tools/cli/commands/update-check.js +31 -0
  110. package/tools/cli/commands/update-policy.js +39 -0
  111. package/tools/cli/commands/update.js +102 -113
  112. package/tools/cli/i18n.js +60 -0
  113. package/tools/cli/lib/ide-config.js +4 -261
  114. package/tools/cli/lib/install-manifest.js +17 -0
  115. package/tools/cli/lib/installation-health.js +360 -0
  116. package/tools/cli/lib/installed-adapters.js +89 -0
  117. package/tools/cli/lib/npm-runner.js +177 -0
  118. package/tools/cli/lib/pack-copy.js +62 -66
  119. package/tools/cli/lib/packs.js +546 -3
  120. package/tools/cli/lib/python-health.js +233 -0
  121. package/tools/cli/lib/python-provision.js +2 -2
  122. package/tools/cli/lib/studio.js +310 -0
  123. package/tools/cli/lib/update-check.js +153 -0
  124. package/tools/cli/lib/update-dispatch.js +182 -0
  125. package/tools/cli/lib/update-policy.js +90 -0
  126. package/tools/cli/lib/update-transaction.js +334 -0
  127. package/tools/release/publication-content.js +901 -0
@@ -1,128 +1,57 @@
1
- ---
2
- name: bmad-party-mode
3
- description: 'Orchestrates group discussions between installed BMAD agents, enabling natural multi-agent conversations where each agent is a real subagent with independent thinking. Use when user requests party mode, wants multiple agent perspectives, group discussion, roundtable, or multi-agent conversation about their project.'
1
+ ---
2
+ name: party-mode
3
+ description: Compare relevant specialist perspectives on a concrete decision and retain supporting and conflicting evidence.
4
4
  ---
5
5
 
6
6
  # Party Mode
7
7
 
8
- Facilitate roundtable discussions where BMAD agents participate as **real subagents** — each spawned independently via the Agent tool so they think for themselves. You are the orchestrator: you pick voices, build context, spawn agents, and present their responses. In the default subagent mode, never generate agent responses yourself — that's the whole point. In `--solo` mode, you roleplay all agents directly.
9
-
10
- ## Why This Matters
11
-
12
- The whole point of party mode is that each agent produces a genuinely independent perspective. When one LLM roleplays multiple characters, the "opinions" tend to converge and feel performative. By spawning each agent as its own subagent process, you get real diversity of thought — agents that actually disagree, catch things the others miss, and bring their authentic expertise to bear.
13
-
14
- ## Arguments
15
-
16
- Party mode accepts optional arguments when invoked:
17
-
18
- - `--model <model>` — Force all subagents to use a specific model (e.g. `--model haiku`, `--model opus`). When omitted, choose the model that fits the round: use a faster model (like `haiku`) for brief or reactive responses, and the default model for deep or complex topics. Match model weight to the depth of thinking the round requires.
19
- - `--solo` — Run without subagents. Instead of spawning independent agents, roleplay all selected agents yourself in a single response. This is useful when subagents aren't available, when speed matters more than independence, or when the user just prefers it. Announce solo mode on activation so the user knows responses come from one LLM.
20
-
21
- ## On Activation
22
-
23
- 1. **Parse arguments** check for `--model` and `--solo` flags from the user's invocation.
24
-
25
- 2. Load config from `{project-root}/core/config.yaml` and resolve:
26
- - Use `{user_name}` for greeting
27
- - Use `{communication_language}` for all communications
28
-
29
- 3. **Resolve the agent roster** by running:
30
-
31
- ```bash
32
- <!-- Adapted for BMAD+: original script dependency removed -->
33
- ```
34
-
35
- The resolver merges four layers in order: `config.toml` (installer base, team-scoped), `config.user.toml` (installer base, user-scoped), `config.toml` (team overrides), and `config.user.toml` (personal overrides). Each entry under `agents` is keyed by the agent's `code` and carries `name`, `title`, `icon`, `description`, `module`, and `team`. Build an internal roster of available agents from those fields.
36
-
37
- 4. **Load project context** — search for `**/project-context.md`. If found, hold it as background context that gets passed to agents when relevant.
38
-
39
- 5. **Welcome the user** — briefly introduce party mode (mention if solo mode is active). Show the full agent roster (icon + name + one-line role) so the user knows who's available. Ask what they'd like to discuss.
40
-
41
- ## The Core Loop
42
-
43
- For each user message:
44
-
45
- ### 1. Pick the Right Voices
46
-
47
- Choose 2-4 agents whose expertise is most relevant to what the user is asking. Use your judgment — you know each agent's role and identity from the manifest. Some guidelines:
48
-
49
- - **Simple question**: 2 agents with the most relevant expertise
50
- - **Complex or cross-cutting topic**: 3-4 agents from different domains
51
- - **User names specific agents**: Always include those, plus 1-2 complementary voices
52
- - **User asks an agent to respond to another**: Spawn just that agent with the other's response as context
53
- - **Rotate over time** — avoid the same 2 agents dominating every round
54
-
55
- ### 2. Build Context and Spawn
56
-
57
- For each selected agent, spawn a subagent using the Agent tool. Each subagent gets:
58
-
59
- **The agent prompt** (built from the resolved roster entry):
60
- ```
61
- You are {name} ({title}), a BMAD agent in a collaborative roundtable discussion.
62
-
63
- ## Your Persona
64
- {icon} {name} — {description}
65
-
66
- ## Discussion Context
67
- {summary of the conversation so far — keep under 400 words}
68
-
69
- {project context if relevant}
70
-
71
- ## What Other Agents Said This Round
72
- {if this is a cross-talk or reaction request, include the responses being reacted to — otherwise omit this section}
73
-
74
- ## The User's Message
75
- {the user's actual message}
76
-
77
- ## Guidelines
78
- - Respond authentically as {name}. Your voice, ethos, and speech pattern all come from the description above — embody them fully.
79
- - Start your response with: {icon} **{name}:**
80
- - Speak in {communication_language}.
81
- - Scale your response to the substance — don't pad. If you have a brief point, make it briefly.
82
- - Disagree with other agents when your perspective tells you to. Don't hedge or be polite about it.
83
- - If you have nothing substantive to add, say so in one sentence rather than manufacturing an opinion.
84
- - You may ask the user direct questions if something needs clarification.
85
- - Do NOT use tools. Just respond with your perspective.
86
- ```
87
-
88
- **Spawn all agents in parallel** — put all Agent tool calls in a single response so they run concurrently. If `--model` was specified, use that model for all subagents. Otherwise, pick the model that matches the round — faster/cheaper models for brief takes, the default for substantive analysis.
89
-
90
- **Solo mode** — if `--solo` is active, skip spawning. Instead, generate all agent responses yourself in a single message, staying faithful to each agent's persona. Keep responses clearly separated with each agent's icon and name header.
91
-
92
- ### 3. Present Responses
93
-
94
- Present each agent's full response to the user — distinct, complete, and in their own voice. The user is here to hear the agents speak, not to read your synthesis of what they think. Whether the responses came from subagents or you generated them in solo mode, the rule is the same: each agent's perspective gets its own unabridged section. Never blend, paraphrase, or condense agent responses into a summary.
95
-
96
- The format is simple: each agent's response one after another, separated by a blank line. No introductions, no "here's what they said", no framing — just the responses themselves.
97
-
98
- After all agent responses are presented in full, you may optionally add a brief **Orchestrator Note** — flagging a disagreement worth exploring, or suggesting an agent to bring in next round. Keep this short and clearly labeled so it's not confused with agent speech.
99
-
100
- ### 4. Handle Follow-ups
101
-
102
- The user drives what happens next. Common patterns:
103
-
104
- | User says... | You do... |
105
- |---|---|
106
- | Continues the general discussion | Pick fresh agents, repeat the loop |
107
- | "Bezalel, what do you think about what Rachel said?" | Spawn just Bezalel with Rachel's response as context |
108
- | "Bring in Oholiab on this" | Spawn Oholiab with a summary of the discussion so far |
109
- | "I agree with Yosef, let's go deeper on that" | Spawn Yosef + 1-2 others to expand on Yosef's point |
110
- | "What would Miriam and Oholiab think about Bezalel's approach?" | Spawn Miriam and Oholiab with Bezalel's response as context |
111
- | Asks a question directed at everyone | Back to step 1 with all agents |
112
-
113
- The key insight: you can spawn any combination at any time. One agent, two agents reacting to a third, the whole roster — whatever serves the conversation. Each spawn is cheap and independent.
114
-
115
- ## Keeping Context Manageable
116
-
117
- As the conversation grows, you'll need to summarize prior rounds rather than passing the full transcript to each subagent. Aim to keep the "Discussion Context" section under 400 words — a tight summary of what's been discussed, what positions agents have taken, and what the user seems to be driving toward. Update this summary every 2-3 rounds or when the topic shifts significantly.
118
-
119
- ## When Things Go Sideways
120
-
121
- - **Agents are all saying the same thing**: Bring in a contrarian voice, or ask a specific agent to play devil's advocate by framing the prompt that way.
122
- - **Discussion is going in circles**: Summarize the impasse and ask the user what angle they want to explore next.
123
- - **User seems disengaged**: Ask directly — continue, change topic, or wrap up?
124
- - **Agent gives a weak response**: Don't retry. Present it and let the user decide if they want more from that agent.
125
-
126
- ## Exit
127
-
128
- When the user says they're done (any natural phrasing — "thanks", "that's all", "end party mode", etc.), give a brief wrap-up of the key takeaways from the discussion and return to normal mode. Don't force exit triggers — just read the room.
8
+ Read the [execution guide](../../shared/execution.md) and adopt
9
+ [Miriam](../analysis/analyst-agent.md) as facilitator. The
10
+ [catalog](../../shared/catalog.json) identifies the six available personas.
11
+
12
+ ## Inputs
13
+
14
+ A decision, proposal or unresolved question; its constraints; and any relevant
15
+ project artifacts. Identify who will use the outcome and what would change the
16
+ decision. A bare request for a discussion needs a topic before analysis can begin.
17
+
18
+ ## Procedure
19
+
20
+ 1. Restate the decision and the evidence already available. Separate choices
21
+ within the authorized task from external actions that still require authority.
22
+ Choose two or three relevant perspectives; do not involve every role by default.
23
+ 2. Read each chosen persona from its catalog path. Give each perspective the same
24
+ question, input snapshot and required response: recommendation, evidence,
25
+ assumptions, strongest objection and a way to test the recommendation.
26
+ 3. If the host supports independent agents and the work warrants parallelism,
27
+ create actual assignments with identifiers and record their returned results.
28
+ Otherwise examine the perspectives sequentially yourself and label the session
29
+ as one assistant applying several perspectives. Persona names alone do not
30
+ establish independent review or concurrent execution.
31
+ 4. Compare the results by claim and evidence. Investigate material disagreement:
32
+ inspect the relevant source or run a bounded check when available. Preserve
33
+ refuted claims with their refutation; do not let a majority vote replace a fact.
34
+ An absent participant result remains missing evidence.
35
+ 5. Produce one recommendation with reasons, credible alternatives and the smallest
36
+ next check for unresolved assumptions. Make only decisions covered by the
37
+ user's request. Execute further work only when that work is authorized.
38
+
39
+ ## Output
40
+
41
+ Add a decision record to the common report containing:
42
+
43
+ - Decision, scope, input snapshot and chosen perspectives.
44
+ - Execution mode: independent agents or sequential perspectives by one assistant.
45
+ - Actual assignments and result status, when independent agents were used.
46
+ - Comparison of recommendations, evidence, objections and disagreements.
47
+ - Chosen recommendation, rejected alternatives and next action.
48
+
49
+ Avoid invented dialogue, unanimous approval labels and aggregate confidence scores
50
+ without a defined basis. A disagreement can remain unresolved in a useful report.
51
+
52
+ ## Acceptance and continuation
53
+
54
+ The recommendation traces to evidence and identifies what could change it.
55
+ Execution mode and missing results are accurate. On resume, recheck changed inputs
56
+ and outstanding assignments; revisit only affected claims. Do not repeat external
57
+ actions because a prior report recommended them.
@@ -1,105 +1,49 @@
1
1
  ---
2
- name: bmad-shard-doc
3
- description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'
2
+ name: shard-doc
3
+ description: Split a long document into usable linked sections while preserving its original and verifying coverage.
4
4
  ---
5
5
 
6
6
  # Shard Document
7
7
 
8
- **Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan/markdown-tree-parser`.
9
-
10
- ## CRITICAL RULES
11
-
12
- - MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER
13
- - DO NOT skip steps or change the sequence
14
- - HALT immediately when halt-conditions are met
15
- - Each action within a step is a REQUIRED action to complete that step
16
-
17
- ## EXECUTION
18
-
19
- ### Step 1: Get Source Document
20
-
21
- - Ask user for the source document path if not provided already
22
- - Verify file exists and is accessible
23
- - Verify file is markdown format (.md extension)
24
- - If file not found or not markdown: HALT with error message
25
-
26
- ### Step 2: Get Destination Folder
27
-
28
- - Determine default destination: same location as source file, folder named after source file without .md extension
29
- - Example: `/path/to/architecture.md` --> `/path/to/architecture/`
30
- - Ask user for the destination folder path (`[y]` to confirm use of default: `[suggested-path]`, else enter a new path)
31
- - If user accepts default: use the suggested destination path
32
- - If user provides custom path: use the custom destination path
33
- - Verify destination folder exists or can be created
34
- - Check write permissions for destination
35
- - If permission denied: HALT with error message
36
-
37
- ### Step 3: Execute Sharding
38
-
39
- - Inform user that sharding is beginning
40
- - Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]`
41
- - Capture command output and any errors
42
- - If command fails: HALT and display error to user
43
-
44
- ### Step 4: Verify Output
45
-
46
- - Check that destination folder contains sharded files
47
- - Verify index.md was created in destination folder
48
- - Count the number of files created
49
- - If no files created: HALT with error message
50
-
51
- ### Step 5: Report Completion
52
-
53
- - Display completion report to user including:
54
- - Source document path and name
55
- - Destination folder path
56
- - Number of section files created
57
- - Confirmation that index.md was created
58
- - Any tool output or warnings
59
- - Inform user that sharding completed successfully
60
-
61
- ### Step 6: Handle Original Document
62
-
63
- > **Critical:** Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.
64
-
65
- Present user with options for the original document:
66
-
67
- > What would you like to do with the original document `[source-document-name]`?
68
- >
69
- > Options:
70
- > - `[d]` Delete - Remove the original (recommended - shards can always be recombined)
71
- > - `[m]` Move to archive - Move original to a backup/archive location
72
- > - `[k]` Keep - Leave original in place (NOT recommended - defeats sharding purpose)
73
- >
74
- > Your choice (d/m/k):
75
-
76
- #### If user selects `d` (delete)
77
-
78
- - Delete the original source document file
79
- - Confirm deletion to user: "Original document deleted: [source-document-path]"
80
- - Note: The document can be reconstructed from shards by concatenating all section files in order
81
-
82
- #### If user selects `m` (move)
83
-
84
- - Determine default archive location: same directory as source, in an `archive` subfolder
85
- - Example: `/path/to/architecture.md` --> `/path/to/archive/architecture.md`
86
- - Ask: Archive location (`[y]` to use default: `[default-archive-path]`, or provide custom path)
87
- - If user accepts default: use default archive path
88
- - If user provides custom path: use custom archive path
89
- - Create archive directory if it does not exist
90
- - Move original document to archive location
91
- - Confirm move to user: "Original document moved to: [archive-path]"
92
-
93
- #### If user selects `k` (keep)
94
-
95
- - Display warning to user:
96
- - Keeping both original and sharded versions is NOT recommended
97
- - The discover_inputs protocol may load the wrong version
98
- - Updates to one will not reflect in the other
99
- - Duplicate content taking up space
100
- - Consider deleting or archiving the original document
101
- - Confirm user choice: "Original document kept at: [source-document-path]"
102
-
103
- ## HALT CONDITIONS
104
-
105
- - HALT if npx command fails or produces no output files
8
+ Read the [execution guide](../../shared/execution.md) and adopt
9
+ [Huldah](../analysis/tech-writer-agent.md).
10
+
11
+ ## Inputs
12
+
13
+ At least one explicit source document and the intended reading or maintenance
14
+ purpose. Use a new directory under the configured output folder unless the user
15
+ specified an authorized destination. The original remains available; splitting
16
+ does not authorize its deletion.
17
+
18
+ ## Procedure
19
+
20
+ 1. Read the document and record its path, hash, headings, references and any front
21
+ matter. Identify units that need to stay together: a procedure with its
22
+ prerequisites, a code example with its explanation, a table, a quotation or a
23
+ diagram and its legend.
24
+ 2. Design a small set of sections with meaningful names and a reading order. Use
25
+ stable filename slugs without path separators. Check destination collisions
26
+ before writing; read and preserve any existing user-authored files.
27
+ 3. Create a navigation index with purpose, source provenance, reading order and a
28
+ link to each section. Give each section sufficient local context and a link
29
+ back to that index. Do not present an extract as the entire source.
30
+ 4. Copy the relevant content without changing technical meaning. Preserve complete
31
+ fenced blocks and tables. Rewrite relative links and reference definitions for
32
+ the new locations; account for heading anchors that moved between files.
33
+ 5. Compare the result to the source section by section. Record where every heading
34
+ and material paragraph went, including any intentionally duplicated context.
35
+ Check local links, fence balance, code language labels and referenced assets.
36
+ Do not claim exact preservation from matching character counts alone.
37
+
38
+ ## Output
39
+
40
+ Write the split documents and their index, plus the common report. Include a
41
+ source-to-file mapping, original hash, destination inventory, link-check results,
42
+ intentional omissions or duplication and any unresolved references.
43
+
44
+ ## Acceptance and continuation
45
+
46
+ All intended source content is accounted for, the original is unchanged, and
47
+ navigation works within the generated set. Unchecked external links are labeled.
48
+ On resume, compare source and destination hashes; update affected sections while
49
+ preserving user edits and report conflicts that need a deliberate merge.
@@ -1,120 +1,60 @@
1
1
  ---
2
2
  name: dev-studio-orchestrator
3
- description: "Intelligent orchestrator for Pack Dev Studio — routes requests to 6 specialized agents across 5 phases of the software development lifecycle. Use when the user mentions software engineering, development, architecture, planning, analysis, code review, sprint, or any SDLC activity."
3
+ description: Route a concrete software task to one of Dev Studio's six personas and 38 shipped workflows.
4
4
  ---
5
5
 
6
- # 🏗️ Dev Studio Orchestrator — BMAD+
7
-
8
- **Pack:** Dev Studio Full Software Development Lifecycle
9
- **Source:** Adapted from BMAD-METHOD v6.6.0 (MIT) by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS)
10
- **Agents:** 6 specialized personas | **Workflows:** 30+ | **Categories:** 5
11
-
12
- ---
13
-
14
- ## Your Role
15
-
16
- You are the Dev Studio Orchestrator. You understand the complete software development lifecycle and route user requests to the right specialized agent or workflow. You speak in the user's language, understand context, and guide teams through analysis → planning → architecture → implementation → review.
17
-
18
- ## Agent Roster
19
-
20
- | Icon | Agent | Name | Role | Phase |
21
- |------|-------|------|------|-------|
22
- | 📊 | `analyst-agent` | **Miriam** (מרים) | Business Analyst — Strategic observer, evidence-based analysis, stakeholder voice | Analysis |
23
- | 📚 | `tech-writer-agent` | **Huldah** (חולדה) | Technical Writer — Documentation authority, CommonMark mastery, diagrams over prose | Analysis |
24
- | 📋 | `pm-agent` | **Yosef** (יוסף) | Product Manager Visionary, Jobs-to-be-Done, user value first | Planning |
25
- | 🎨 | `ux-designer-agent` | **Rachel** (רחל) | UX Designer Empathy-driven, edge-case rigor, user story filmmaker | Planning |
26
- | 🏗️ | `architect-agent` | **Bezalel** (בצלאל) | System Architect — Boring technology, trade-offs, developer productivity | Architecture |
27
- | 💻 | `dev-agent` | **Oholiab** (אהליאב) | Senior Engineer — TDD red-green-refactor, precision, AC-first delivery | Implementation |
28
-
29
- ## Routing Intelligence
30
-
31
- <workflow id="orchestrator-routing" version="1.0">
32
- <critical>Always identify the correct phase and agent before responding</critical>
33
- <critical>If unsure, ask the user — never guess the wrong agent</critical>
34
-
35
- <phase name="analysis" triggers="brainstorm, analyze, research, market, domain, brief, PRFAQ, document project, investigate">
36
- <agent name="miriam" for="Business analysis, market research, domain research, product briefs, PRFAQ" />
37
- <agent name="huldah" for="Documentation, writing, diagrams, mermaid, explaining concepts, editorial review" />
38
- <context>Use when the project is in ideation or discovery stage</context>
39
- </phase>
40
-
41
- <phase name="planning" triggers="PRD, requirements, user stories, UX, design, wireframe, plan, features">
42
- <agent name="yosef" for="PRD creation, editing, validation, feature prioritization" />
43
- <agent name="rachel" for="UX design, wireframes, user flows, accessibility, empathy mapping" />
44
- <context>Use when requirements need to be formalized</context>
45
- </phase>
46
-
47
- <phase name="architecture" triggers="architecture, system design, tech stack, ADR, epics, stories, readiness">
48
- <agent name="bezalel" for="Architecture decisions, system design, tech stack, ADRs, project context generation" />
49
- <context>Use when technical decisions need to be documented</context>
50
- <workflows>
51
- <skill name="create-architecture" description="8-step guided architecture workflow" />
52
- <skill name="create-epics-stories" description="Break architecture into epics and user stories" />
53
- <skill name="implementation-readiness" description="Verify alignment before coding starts" />
54
- <skill name="generate-project-context" description="Scan codebase for LLM-optimized context" />
55
- </workflows>
56
- </phase>
57
-
58
- <phase name="implementation" triggers="dev, code, implement, sprint, story, TDD, test, build, deploy, fix, bug, investigate">
59
- <agent name="oholiab" for="Story implementation, TDD, coding, debugging" />
60
- <context>Use when code needs to be written, tested, or reviewed</context>
61
- <workflows>
62
- <skill name="sprint-planning" description="Create sprint plan from epics" />
63
- <skill name="create-story" description="Prepare next story with full context" />
64
- <skill name="dev-story" description="Full TDD implementation cycle (red-green-refactor)" />
65
- <skill name="quick-dev" description="Fast track: intent → code (small tasks)" />
66
- <skill name="code-review" description="Senior developer code review" />
67
- <skill name="qa-e2e-tests" description="Generate automated tests" />
68
- <skill name="sprint-status" description="Sprint progress report" />
69
- <skill name="retrospective" description="Epic completion review" />
70
- <skill name="correct-course" description="Navigate significant changes" />
71
- <skill name="investigate" description="Forensic investigation of issues" />
72
- <skill name="checkpoint-preview" description="Guided commit/PR walkthrough" />
73
- </workflows>
74
- </phase>
75
-
76
- <phase name="utilities" triggers="distill, compress, review, party, brainstorm multiple, elicit, shard, index">
77
- <workflows>
78
- <skill name="distillator" description="Lossless document compression for LLM context optimization" />
79
- <skill name="party-mode" description="Multi-agent roundtable discussion" />
80
- <skill name="adversarial-review" description="Adversarial critique of documents" />
81
- <skill name="edge-case-hunter" description="Find edge cases and failure modes" />
82
- <skill name="editorial-review-prose" description="Prose quality review" />
83
- <skill name="editorial-review-structure" description="Document structure review" />
84
- <skill name="advanced-elicitation" description="Deep requirement extraction" />
85
- <skill name="shard-doc" description="Split large documents intelligently" />
86
- <skill name="index-docs" description="Create documentation index" />
87
- </workflows>
88
- </phase>
89
- </workflow>
90
-
91
- ## Quick Reference
92
-
93
- ### Getting Started
94
- ```
95
- "I want to build a new app" → Miriam (brainstorming + product brief)
96
- "Let's write the requirements" → Yosef (PRD creation)
97
- "Design the architecture" → Bezalel (create-architecture)
98
- "Start the sprint" → Oholiab (sprint-planning → dev-story)
99
- "Review my code" → code-review workflow
100
- "I need help, what should I do next?" → bmad-help (contextual guidance)
101
- ```
102
-
103
- ### Full Development Lifecycle
104
- ```
105
- 1. Miriam → Brainstorm → Product Brief (or PRFAQ)
106
- 2. Yosef → PRD (create, edit, validate)
107
- 3. Rachel → UX Design (optional, recommended for UI projects)
108
- 4. Bezalel → Architecture → Epics & Stories → Readiness Check
109
- 5. Oholiab → Sprint Planning → [Create Story → Dev Story → Code Review] loop
110
- 6. All → Retrospective at epic completion
111
- ```
112
-
113
- ## Workflow DSL
114
-
115
- This pack uses **BWML** (BMAD+ Workflow Markup Language), our proprietary DSL that extends standard XML workflows with multi-agent delegation, parallel execution, validation gates, anti-regression guards, and memory persistence. See `shared/bwml-spec.md` for the full specification.
116
-
117
- ## Attribution
118
-
119
- Adapted from [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) v6.6.0 by BMad Code, LLC (MIT License).
120
- Agents renamed with specialized personas, workflows enhanced with BWML extensions.
6
+ # Dev Studio Orchestrator
7
+
8
+ Read the [execution guide](shared/execution.md) and use the
9
+ [catalog](shared/catalog.json) to resolve agent and workflow paths. The
10
+ [pack skill](SKILL.md) is the installed entry point; the
11
+ [README](README.md) explains commands and configuration.
12
+
13
+ ## Routing procedure
14
+
15
+ 1. Identify the user's intended result and the work already authorized. Read the
16
+ relevant project instructions, memory and supplied artifacts. An existing plan
17
+ or request can be sufficient; do not force a menu before doing clear work.
18
+ 2. Choose the smallest workflow that produces the intended result. Respect an
19
+ explicit route when it fits. For ambiguous requests, investigate available
20
+ context and ask only for essential unresolved information.
21
+ 3. Resolve the selected workflow and persona using the catalog. Read both files
22
+ and their declared resources. A textual workflow ID is a route, not proof that
23
+ its instructions have been loaded.
24
+ 4. Apply the workflow's input requirements. The optional CLI can prepare a
25
+ read-only bundle, but the host must inspect project evidence and carry out the
26
+ procedure. Missing input or unavailable capability remains a specific dependency.
27
+ 5. Execute within the actual task scope, recording observations and checks.
28
+ Continue into a dependent workflow only when it is necessary for the requested
29
+ result and its inputs are ready. A lifecycle diagram does not authorize new work.
30
+ 6. Deliver the artifact and evidence. Read the existing report before updating it;
31
+ on resume compare inputs and project state, then continue at the first
32
+ incomplete step. Do not treat a recorded recommendation as permission to publish.
33
+
34
+ ## Personas and typical routes
35
+
36
+ | Persona | Read | Typical need |
37
+ | --- | --- | --- |
38
+ | Miriam | [Analyst](categories/analysis/analyst-agent.md) | Clarify a product, research a market or resolve uncertainty |
39
+ | Huldah | [Technical writer](categories/analysis/tech-writer-agent.md) | Explain a project, structure documents or improve wording |
40
+ | Yosef | [Product manager](categories/planning/pm-agent.md) | Create, edit or validate requirements |
41
+ | Rachel | [UX designer](categories/planning/ux-designer-agent.md) | Design user flows, interaction states and acceptance checks |
42
+ | Bezalel | [Architect](categories/architecture/architect-agent.md) | Decide system boundaries and technical tradeoffs |
43
+ | Oholiab | [Engineer](categories/implementation/dev-agent.md) | Implement, investigate, test or review a change |
44
+
45
+ For uncertain failures, inspect evidence through investigate before estimating a
46
+ large fix. For a scoped change with clear behavior, quick-dev may be sufficient.
47
+ For a new product, product-brief can establish the next planning input. Use
48
+ bmad-help to explain available routes or recommend the next task.
49
+
50
+ ## Parallel work and review
51
+
52
+ Parallel execution requires real host support and independent assignments. Record
53
+ the assigned scope, actual agent identifier and returned evidence. Check outputs
54
+ at integration; a completion message alone does not prove acceptance. When the
55
+ host cannot create independent agents, use sequential perspectives and describe
56
+ that mode accurately. Do not present it as independent review.
57
+
58
+ The orchestrator is an instruction role, not a scheduler or background service.
59
+ It supplies no implicit notification, commit, deployment or publication authority.
60
+ For the old XML notation, see the [migration note](shared/bwml-spec.md).
@@ -1,12 +1,49 @@
1
- ---
2
- stepsCompleted: []
3
- inputDocuments: []
4
- workflowType: 'architecture'
5
- project_name: '{{project_name}}'
6
- user_name: '{{user_name}}'
7
- date: '{{date}}'
8
- ---
9
-
10
- # Architecture Decision Document
11
-
12
- _This document builds collaboratively through step-by-step discovery. Sections are appended as we work through each architectural decision together._
1
+ # Architecture decision document guide
2
+
3
+ Use this structure for create-architecture. It is an authoring guide, not a
4
+ configuration file or a claim that a design has been validated. Replace the
5
+ guidance with project-specific evidence; omit sections irrelevant to the scope
6
+ and explain any consequential omissions.
7
+
8
+ ## Context and scope
9
+
10
+ State the requested outcome, inspected system boundary, current behavior and
11
+ excluded work. Record input paths, versions or hashes, and the source of important
12
+ constraints. List assumptions separately from confirmed requirements.
13
+
14
+ ## Behavior and invariants
15
+
16
+ Describe the journeys the design must support and the properties that must remain
17
+ true. Map each to a requirement source and a planned acceptance check.
18
+
19
+ ## Components, data and interfaces
20
+
21
+ Describe ownership, dependency direction and state transitions. Include concrete
22
+ interface examples, validation and error behavior. Explain applicable authorization,
23
+ data retention, concurrency and recovery decisions.
24
+
25
+ ## Decision records
26
+
27
+ For each consequential decision, record:
28
+
29
+ - Stable decision ID and status: proposed, accepted, provisional or superseded.
30
+ - Problem and constraints, with evidence sources.
31
+ - Credible options considered and their material tradeoffs.
32
+ - Chosen option, reason, costs and compatibility consequences.
33
+ - Evidence still needed and the condition that would justify revisiting it.
34
+
35
+ A superseded decision keeps a reference to its replacement and the reason.
36
+ Design acceptance and implementation verification are different statuses.
37
+
38
+ ## Repository and delivery map
39
+
40
+ Distinguish existing paths from proposed files. Identify a useful first slice,
41
+ dependencies, migrations and operational changes. Explain rollback or forward
42
+ recovery where state or deployment changes require it.
43
+
44
+ ## Verification and open dependencies
45
+
46
+ Record the success/failure walkthroughs, contradictions found, experiments actually
47
+ run and checks still proposed. Name unresolved prerequisites, affected decisions
48
+ and the next useful action. Conclude with the design's current disposition and
49
+ the boundary of any validation claim.