bmm-opencode 1.2.0 → 1.3.1

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 (51) hide show
  1. package/.opencode/agents/gen-subagent.md +0 -9
  2. package/.opencode/agents/party-mode.md +41 -24
  3. package/.opencode/skills/bmad-bmm-check-implementation-readiness/SKILL.md +1 -1
  4. package/.opencode/skills/bmad-bmm-code-review/SKILL.md +1 -1
  5. package/.opencode/skills/bmad-bmm-correct-course/SKILL.md +1 -1
  6. package/.opencode/skills/bmad-bmm-create-architecture/SKILL.md +1 -1
  7. package/.opencode/skills/bmad-bmm-create-epics-and-stories/SKILL.md +1 -1
  8. package/.opencode/skills/bmad-bmm-create-prd/SKILL.md +1 -1
  9. package/.opencode/skills/bmad-bmm-create-product-brief/SKILL.md +1 -1
  10. package/.opencode/skills/bmad-bmm-create-story/SKILL.md +1 -1
  11. package/.opencode/skills/bmad-bmm-create-ux-design/SKILL.md +1 -1
  12. package/.opencode/skills/bmad-bmm-dev-story/SKILL.md +1 -1
  13. package/.opencode/skills/bmad-bmm-dev-team-mode/SKILL.md +215 -0
  14. package/.opencode/skills/bmad-bmm-document-project/SKILL.md +1 -1
  15. package/.opencode/skills/bmad-bmm-domain-research/SKILL.md +1 -1
  16. package/.opencode/skills/bmad-bmm-edit-prd/SKILL.md +1 -1
  17. package/.opencode/skills/bmad-bmm-generate-project-context/SKILL.md +1 -1
  18. package/.opencode/skills/bmad-bmm-market-research/SKILL.md +1 -1
  19. package/.opencode/skills/bmad-bmm-qa-automate/SKILL.md +1 -1
  20. package/.opencode/skills/bmad-bmm-quick-dev/SKILL.md +1 -1
  21. package/.opencode/skills/bmad-bmm-quick-spec/SKILL.md +1 -1
  22. package/.opencode/skills/bmad-bmm-retrospective/SKILL.md +1 -1
  23. package/.opencode/skills/bmad-bmm-sprint-planning/SKILL.md +1 -1
  24. package/.opencode/skills/bmad-bmm-sprint-status/SKILL.md +1 -1
  25. package/.opencode/skills/bmad-bmm-technical-research/SKILL.md +1 -1
  26. package/.opencode/skills/bmad-bmm-validate-prd/SKILL.md +1 -1
  27. package/.opencode/skills/bmad-cis-design-thinking/SKILL.md +1 -1
  28. package/.opencode/skills/bmad-cis-innovation-strategy/SKILL.md +1 -1
  29. package/.opencode/skills/bmad-cis-problem-solving/SKILL.md +1 -1
  30. package/.opencode/skills/bmad-cis-storytelling/SKILL.md +1 -1
  31. package/.opencode/skills/bmad-core-brainstorming/SKILL.md +1 -1
  32. package/.opencode/skills/bmad-core-party-mode/SKILL.md +14 -1
  33. package/.opencode/skills/bmad-core-task-editorial-review-prose/SKILL.md +1 -1
  34. package/.opencode/skills/bmad-core-task-editorial-review-structure/SKILL.md +1 -1
  35. package/.opencode/skills/bmad-core-task-help/SKILL.md +1 -1
  36. package/.opencode/skills/bmad-core-task-index-docs/SKILL.md +1 -1
  37. package/.opencode/skills/bmad-core-task-review-adversarial-general/SKILL.md +1 -1
  38. package/.opencode/skills/bmad-core-task-shard-doc/SKILL.md +1 -1
  39. package/.opencode/skills/bmad-tea-teach-me-testing/SKILL.md +1 -1
  40. package/.opencode/skills/bmad-tea-testarch-atdd/SKILL.md +1 -1
  41. package/.opencode/skills/bmad-tea-testarch-automate/SKILL.md +1 -1
  42. package/.opencode/skills/bmad-tea-testarch-ci/SKILL.md +1 -1
  43. package/.opencode/skills/bmad-tea-testarch-framework/SKILL.md +1 -1
  44. package/.opencode/skills/bmad-tea-testarch-nfr/SKILL.md +1 -1
  45. package/.opencode/skills/bmad-tea-testarch-test-design/SKILL.md +1 -1
  46. package/.opencode/skills/bmad-tea-testarch-test-review/SKILL.md +1 -1
  47. package/.opencode/skills/bmad-tea-testarch-trace/SKILL.md +1 -1
  48. package/README.md +40 -4
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +43 -5
  51. package/package.json +2 -2
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  description: "Generates specialized subagents by analyzing problems and producing ready-to-use agent configurations"
3
3
  mode: subagent
4
- model: "anthropic/claude-sonnet-4-20250514"
5
- temperature: 0.3
6
- steps: 30
7
4
  tools:
8
5
  read: true
9
6
  glob: true
@@ -12,12 +9,6 @@ tools:
12
9
  write: true
13
10
  edit: true
14
11
  bash: false
15
- permission:
16
- bash: deny
17
- edit:
18
- "*": "deny"
19
- ".opencode/agents/*.md": "allow"
20
- ".opencode/skills/*/SKILL.md": "allow"
21
12
  ---
22
13
 
23
14
  🏭 **Gen Subagent** - Agent Factory
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  description: "Multi-agent meeting orchestrator - reads agent roster, asks meeting purpose, selects relevant agents, allows dynamic additions during meeting"
3
3
  mode: subagent
4
- model: "anthropic/claude-sonnet-4-20250514"
5
- temperature: 0.4
6
- steps: 200
7
4
  tools:
8
5
  read: true
9
6
  glob: true
@@ -16,11 +13,6 @@ tools:
16
13
  skill: true
17
14
  todowrite: true
18
15
  todoread: true
19
- permission:
20
- edit: deny
21
- bash: deny
22
- task:
23
- "*": "allow"
24
16
  ---
25
17
 
26
18
  🎉 **Party Mode** - Parallel Multi-Agent Meeting Orchestrator
@@ -174,6 +166,10 @@ After user describes meeting purpose:
174
166
 
175
167
  ### 2.1 Analyze & Recommend
176
168
 
169
+ For each recommended agent, generate a **Title** = `Agent Name [model]: [first impression of the topic]`.
170
+ The first impression should be a short, punchy one-liner (≤15 words) reflecting that agent's instinctive reaction to the meeting topic based on their expertise and principles.
171
+ The **model** is the AI model that will power this agent (determined by the `delegate_task` category used to launch it).
172
+
177
173
  ```
178
174
  ## Meeting Analysis
179
175
 
@@ -184,11 +180,16 @@ After user describes meeting purpose:
184
180
 
185
181
  Based on your meeting purpose, I recommend inviting:
186
182
 
187
- | # | Agent | Why This Agent? |
188
- |---|-------|-----------------|
189
- | 1 | 🏗️ Winston (architect) | [Specific relevance to topic] |
190
- | 2 | 💻 Amelia (dev) | [Specific relevance] |
191
- | 3 | 🧪 Murat (tea) | [Specific relevance] |
183
+ | # | Agent | Model | Title | Why This Agent? |
184
+ |---|-------|-------|-------|-----------------|
185
+ | 1 | 🏗️ Winston (architect) | [model] | Winston [model]: [first impression] | [Specific relevance to topic] |
186
+ | 2 | 💻 Amelia (dev) | [model] | Amelia [model]: [first impression] | [Specific relevance] |
187
+ | 3 | 🧪 Murat (tea) | [model] | Murat [model]: [first impression] | [Specific relevance] |
188
+
189
+ > **Title examples:**
190
+ > - `Winston [o3]: This screams distributed event sourcing`
191
+ > - `Amelia [sonnet-4]: We need a clean API contract first`
192
+ > - `Murat [gemini-2.5-pro]: Risk-based testing is critical here`
192
193
 
193
194
  ### Not Recommended (but available):
194
195
  - 📖 Sophia (storyteller): Not directly relevant unless narrative needed
@@ -253,7 +254,10 @@ Provide your expert perspective on this topic. Think deeply and thoroughly.
253
254
 
254
255
  **Structure your response as:**
255
256
 
256
- ### {agent.icon} {agent.displayName}'s Analysis
257
+ ### {agent.icon} {agent.title}
258
+
259
+ > **IMPORTANT**: Your title was assigned as: **{agent.title}** (format: "Name [model]: first impression").
260
+ > Use this title as your section header. It reflects your instinctive reaction to this topic and which model powers you.
257
261
 
258
262
  **Key Insights** (from your expertise):
259
263
  1. [Insight based on your role]
@@ -281,11 +285,11 @@ Provide your expert perspective on this topic. Think deeply and thoroughly.
281
285
  ```
282
286
  🔄 **Meeting in Progress - Agents Thinking...**
283
287
 
284
- | Agent | Status | Task ID |
285
- |-------|--------|---------|
286
- | 🏗️ Winston | 🔄 analyzing... | bg_xxx |
287
- | 💻 Amelia | 🔄 analyzing... | bg_yyy |
288
- | 🧪 Murat | 🔄 analyzing... | bg_zzz |
288
+ | Agent | Model | Status | Task ID |
289
+ |-------|-------|--------|---------|
290
+ | 🏗️ Winston | o3 | 🔄 analyzing... | bg_xxx |
291
+ | 💻 Amelia | sonnet-4 | 🔄 analyzing... | bg_yyy |
292
+ | 🧪 Murat | gemini-2.5-pro | 🔄 analyzing... | bg_zzz |
289
293
 
290
294
  ⏳ Collecting insights from all participants...
291
295
 
@@ -313,7 +317,7 @@ Provide your expert perspective on this topic. Think deeply and thoroughly.
313
317
 
314
318
  ### Individual Contributions
315
319
 
316
- #### 🏗️ Winston (Architect)
320
+ #### 🏗️ Winston [o3]: This screams distributed event sourcing
317
321
  **Key Insights:**
318
322
  - [insight]
319
323
 
@@ -325,7 +329,7 @@ Provide your expert perspective on this topic. Think deeply and thoroughly.
325
329
 
326
330
  ---
327
331
 
328
- #### 💻 Amelia (Dev)
332
+ #### 💻 Amelia [sonnet-4]: We need a clean API contract first
329
333
  [... same structure ...]
330
334
 
331
335
  ---
@@ -380,7 +384,9 @@ John will analyze the current discussion context and provide product perspective
380
384
 
381
385
  [After completion:]
382
386
 
383
- ### 📋 John (PM) - Late Arrival Contribution
387
+ ### 📋 John [sonnet-4]: Let's validate the user value proposition
388
+
389
+ > *Title reflects John's first impression of the topic upon joining, with the model used.*
384
390
 
385
391
  **Context Reviewed**: [summary of what John caught up on]
386
392
 
@@ -393,7 +399,11 @@ John will analyze the current discussion context and provide product perspective
393
399
  ---
394
400
 
395
401
  John has been added to the active participants.
396
- Current attendees: Winston, Amelia, Murat, **John (new)**
402
+ Current attendees:
403
+ - 🏗️ Winston [o3]: This screams distributed event sourcing
404
+ - 💻 Amelia [sonnet-4]: We need a clean API contract first
405
+ - 🧪 Murat [gemini-2.5-pro]: Risk-based testing is critical here
406
+ - 📋 **John [sonnet-4]: Let's validate the user value proposition (new)**
397
407
  ```
398
408
 
399
409
  ### 4.3 Follow-up Questions
@@ -429,16 +439,22 @@ meeting_state:
429
439
  active_agents:
430
440
  - name: architect
431
441
  displayName: Winston
442
+ model: o3
443
+ title: "Winston [o3]: This screams distributed event sourcing"
432
444
  task_id: bg_xxx
433
445
  status: completed
434
446
 
435
447
  - name: dev
436
448
  displayName: Amelia
449
+ model: sonnet-4
450
+ title: "Amelia [sonnet-4]: We need a clean API contract first"
437
451
  task_id: bg_yyy
438
452
  status: completed
439
453
 
440
454
  - name: pm
441
455
  displayName: John
456
+ model: sonnet-4
457
+ title: "John [sonnet-4]: Let's validate the user value proposition"
442
458
  task_id: bg_zzz
443
459
  status: running # Added mid-meeting
444
460
 
@@ -603,7 +619,8 @@ Meeting notes can be saved with `save [filename]`.
603
619
  6. **RUN IN PARALLEL** - All agents think simultaneously (`run_in_background=True`)
604
620
  7. **SUPPORT MID-MEETING ADDITIONS** - `+agent` works anytime
605
621
  8. **SYNTHESIZE RESULTS** - Don't just list, find consensus/conflicts
606
- 9. **TRACK STATE** - Know who's in the meeting, task IDs
622
+ 9. **TRACK STATE** - Know who's in the meeting, task IDs, and titles
607
623
  10. **RESPONSIVE COMMANDS** - Handle all meeting commands immediately
608
624
  11. **GRACEFUL EXIT** - Summarize meeting when ending
609
625
  12. **HANDLE ERRORS** - Provide helpful error messages
626
+ 13. **ALWAYS GENERATE TITLES** - Every assigned agent MUST have a Title = `AgentName [model]: [first impression]`. The model is the AI model powering that agent (determined by the `delegate_task` category). The first impression is a short, punchy one-liner (≤15 words) reflecting the agent's instinctive gut reaction to the meeting topic from their area of expertise. Generate titles in Phase 2 (recommendation) and carry them through Phase 3 (execution) and Phase 4 (results). Late-arriving agents (`+agent`) also get a title upon joining.
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "check-implementation-readiness"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # check-implementation-readiness Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "code-review"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # code-review Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "correct-course"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # correct-course Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "create-architecture"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # create-architecture Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "create-epics-and-stories"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # create-epics-and-stories Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "create-prd"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # create-prd Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "create-product-brief"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # create-product-brief Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "create-story"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # create-story Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "create-ux-design"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # create-ux-design Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "dev-story"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # dev-story Workflow
@@ -0,0 +1,215 @@
1
+ ---
2
+ name: bmad-bmm-dev-team-mode
3
+ description: "Orchestrate parallel development of multiple stories within an epic. Reads sprint-status.yaml, asks which epic to work on, spawns parallel dev-story and code-review subagents, and loops until epic completion."
4
+ license: MIT
5
+ compatibility: opencode
6
+ metadata:
7
+ source: "bmad-method"
8
+ module: "bmm"
9
+ workflow: "dev-team-mode"
10
+ standalone: "false"
11
+ ---
12
+
13
+ # dev-team-mode Workflow
14
+
15
+ Orchestrate parallel development of multiple stories within an epic. Reads sprint-status.yaml, asks which epic to work on, spawns parallel dev-story and code-review subagents, and loops until epic completion.
16
+
17
+ **Author:** BMad
18
+
19
+ ## How to Use
20
+
21
+ This skill provides a structured workflow. Follow the steps below:
22
+
23
+ ## Instructions
24
+
25
+ # Dev Team Mode - Parallel Development Orchestrator
26
+
27
+ <critical>Workflow engine: {project-root}/_bmad/core/tasks/workflow.xml</critical>
28
+ <critical>Config loaded from: {installed_path}/workflow.yaml</critical>
29
+ <critical>Language: {communication_language}</critical>
30
+
31
+ ## WORKFLOW OVERVIEW
32
+
33
+ ```
34
+ ┌─────────────────────────────────────────────────────────────┐
35
+ │ DEV TEAM MODE │
36
+ │ │
37
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
38
+ │ │ INIT │───▶│ ANALYZE │───▶│ PARALLEL │ │
39
+ │ │ Step 1 │ │ Step 2 │ │ DEV │ │
40
+ │ │ │ │ │ │ Step 3 │ │
41
+ │ │ 2 prompts│ │dependency│ │ │ │
42
+ │ └──────────┘ └──────────┘ └────┬─────┘ │
43
+ │ │ │
44
+ │ ┌──────────┐ ┌──────────┐ ┌────▼─────┐ │
45
+ │ │ SYNC │◀───│ PARALLEL │◀───│ REVIEW │ │
46
+ │ │ Step 5 │ │ REVIEW │ │ Step 4 │ │
47
+ │ │ │ │ Step 4 │ │ │ │
48
+ │ │loop/exit │ │ │ │adversarial│ │
49
+ │ └────┬─────┘ └──────────┘ └──────────┘ │
50
+ │ │ │
51
+ │ ▼ │
52
+ │ Continue → Step 2 OR Exit │
53
+ └─────────────────────────────────────────────────────────────┘
54
+ ```
55
+
56
+ ## ENTRY POINT
57
+
58
+ ### Check Saved State
59
+
60
+ <action>Check for {implementation_artifacts}/dev-team-mode-state.yaml</action>
61
+
62
+ <check if="saved state exists">
63
+ <output>
64
+ ## 🔄 Previous Session Found
65
+
66
+ Saved: {{timestamp}}
67
+ Epic: {{selected_epic}}
68
+ Progress: {{completed_count}} completed
69
+ </output>
70
+
71
+ <ask>
72
+ [1] **Resume** - Continue from saved state
73
+ [2] **Fresh** - Ignore saved, start new
74
+ [3] **Delete** - Remove saved state, start new
75
+
76
+ Choose:
77
+ </ask>
78
+
79
+ <routing>
80
+ <if value="1">Restore state, load resume_step</if>
81
+ <else>Delete saved state, continue fresh</else>
82
+ </routing>
83
+ </check>
84
+
85
+ ### Fresh Start
86
+
87
+ <load>./steps/step-01-init.md</load>
88
+
89
+ ---
90
+
91
+ ## STEP SEQUENCE
92
+
93
+ | Step | Purpose | Key Actions |
94
+ |------|---------|-------------|
95
+ | 1 | Init | 2 selection prompts: epic choice + execution mode |
96
+ | 2 | Analyze | Dependency analysis, build parallel batch |
97
+ | 3 | Dev | Launch dev-story subagents (background) |
98
+ | 4 | Review | Launch code-review subagents (different LLM) |
99
+ | 5 | Sync | Update status, loop or exit decision |
100
+
101
+ ---
102
+
103
+ ## TWO-STEP SELECTION (Step 1)
104
+
105
+ ### Selection 1: Epic Choice
106
+
107
+ | Option | Behavior |
108
+ |--------|----------|
109
+ | Continue | Resume epic with in-progress/review stories |
110
+ | Select | Manual epic selection |
111
+ | Autopilot | Auto-select, run until all epics done |
112
+
113
+ ### Selection 2: Execution Mode
114
+
115
+ | Option | Behavior |
116
+ |--------|----------|
117
+ | Parallel | Multiple stories concurrent (up to max_parallel_agents) |
118
+ | Sequential | One story at a time |
119
+
120
+ ---
121
+
122
+ ## CONFIGURATION
123
+
124
+ | Setting | Default | Description |
125
+ |---------|---------|-------------|
126
+ | `max_parallel_agents` | 3 | Max concurrent agents |
127
+ | `max_retry_per_story` | 3 | Retries before blocking |
128
+ | `dev_category` | deep | delegate_task category for dev |
129
+ | `review_category` | ultrabrain | delegate_task category for review |
130
+
131
+ ---
132
+
133
+ ## SUBAGENT DELEGATION
134
+
135
+ ### Dev-Story
136
+
137
+ ```javascript
138
+ delegate_task({
139
+ category: "deep",
140
+ load_skills: ["bmad-bmm-dev-story"],
141
+ run_in_background: true,
142
+ prompt: "..."
143
+ });
144
+ ```
145
+
146
+ ### Code-Review
147
+
148
+ ```javascript
149
+ delegate_task({
150
+ category: "ultrabrain",
151
+ load_skills: ["bmad-bmm-code-review"],
152
+ run_in_background: true,
153
+ prompt: "..."
154
+ });
155
+ ```
156
+
157
+ ---
158
+
159
+ ## STATE SCHEMA
160
+
161
+ ```yaml
162
+ workflowType: 'dev-team-mode'
163
+ selected_epic: ''
164
+ epic_mode: '' # continue|selected|autopilot
165
+ execution_mode: '' # parallel|sequential
166
+ parallel_mode: false
167
+ autopilot: false
168
+ parallel_stories: []
169
+ stories_to_review: []
170
+ blocked_stories: []
171
+ active_agents: []
172
+ completed_stories: []
173
+ failed_stories: []
174
+ retry_counts: {}
175
+ loop_count: 0
176
+ phase: 'init' # init|analyzing|dev|dev-running|review|review-running|sync
177
+ started_at: ''
178
+ ```
179
+
180
+ ---
181
+
182
+ ## EXIT CONDITIONS
183
+
184
+ ### Automatic Triggers
185
+ - `*exit`, `stop`, `quit`, `end team`
186
+ - All stories in epic done
187
+ - All remaining stories blocked
188
+
189
+ ### Graceful Exit
190
+ 1. Save state to sprint-status.yaml
191
+ 2. Display summary
192
+ 3. Optionally save resumable state
193
+ 4. Clean up
194
+
195
+ ---
196
+
197
+ ## ERROR HANDLING
198
+
199
+ | Failure | Action |
200
+ |---------|--------|
201
+ | Dev fails | Retry up to max_retry_per_story |
202
+ | Review fails | Retry with session context |
203
+ | Timeout | Mark needs-retry, continue |
204
+ | Critical | Block, alert user |
205
+
206
+ ---
207
+
208
+ ## INTEGRATION
209
+
210
+ | Trigger | Workflow |
211
+ |---------|----------|
212
+ | No sprint-status | `/bmad-bmm-sprint-planning` |
213
+ | Stories in backlog | `/bmad-bmm-create-story` |
214
+ | Epic complete | `/bmad-bmm-retrospective` |
215
+ | Check progress | `/bmad-bmm-sprint-status` |
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "document-project"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # document-project Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "domain-research"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # domain-research Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "edit-prd"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # edit-prd Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "generate-project-context"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # generate-project-context Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "market-research"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # market-research Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "qa-automate"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # qa-automate Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "quick-dev"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # quick-dev Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "quick-spec"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # quick-spec Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "retrospective"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # retrospective Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "sprint-planning"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # sprint-planning Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "sprint-status"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # sprint-status Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "technical-research"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # technical-research Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "bmm"
9
9
  workflow: "validate-prd"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # validate-prd Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "cis"
9
9
  workflow: "design-thinking"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # design-thinking Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "cis"
9
9
  workflow: "innovation-strategy"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # innovation-strategy Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "cis"
9
9
  workflow: "problem-solving"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # problem-solving Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "cis"
9
9
  workflow: "storytelling"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # storytelling Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  workflow: "brainstorming"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # brainstorming Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  workflow: "party-mode"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # party-mode Workflow
@@ -113,6 +113,19 @@ For each user message or topic:
113
113
  - Consider conversation context and previous agent contributions
114
114
  - Select 2-3 most relevant agents for balanced perspective
115
115
 
116
+ **Title Generation (MANDATORY):**
117
+
118
+ Every selected agent MUST be assigned a **Title** = `AgentName [model]: [first impression]`.
119
+ - The **model** is the AI model powering that agent (determined by the `delegate_task` category used to launch it)
120
+ - The first impression is a short, punchy one-liner (≤15 words) reflecting the agent's instinctive gut reaction to the topic from their area of expertise
121
+ - Generate titles when agents are first selected/recommended
122
+ - Carry titles through all phases (selection → execution → results display)
123
+ - Late-arriving agents (`+agent`) also get a title upon joining
124
+ - Examples:
125
+ - `Winston [o3]: This screams distributed event sourcing`
126
+ - `Amelia [sonnet-4]: We need a clean API contract first`
127
+ - `Murat [gemini-2.5-pro]: Risk-based testing is critical here`
128
+
116
129
  **Priority Handling:**
117
130
 
118
131
  - If user addresses specific agent by name, prioritize that agent + 1-2 complementary agents
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  task: "editorial-review-prose"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # Editorial Review - Prose
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  task: "editorial-review-structure"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # Editorial Review - Structure
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  task: "help"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # help
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  task: "index-docs"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # Index Docs
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  task: "review-adversarial-general"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # Adversarial Review (General)
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "core"
9
9
  task: "shard-doc"
10
- standalone: "true"
10
+ standalone: true
11
11
  ---
12
12
 
13
13
  # Shard Document
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "teach-me-testing"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # teach-me-testing Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-atdd"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-atdd Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-automate"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-automate Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-ci"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-ci Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-framework"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-framework Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-nfr"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-nfr Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-test-design"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-test-design Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-test-review"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-test-review Workflow
@@ -7,7 +7,7 @@ metadata:
7
7
  source: "bmad-method"
8
8
  module: "tea"
9
9
  workflow: "testarch-trace"
10
- standalone: "false"
10
+ standalone: false
11
11
  ---
12
12
 
13
13
  # testarch-trace Workflow
package/README.md CHANGED
@@ -33,14 +33,14 @@ curl -s https://raw.githubusercontent.com/Jack-R-Hong/BMM-opencode/refs/heads/ma
33
33
  After installation, you have access to:
34
34
 
35
35
  1. **Plugin Tools** - Use `bmm_list`, `bmm_agent`, `bmm_skill` directly
36
- 2. **17 Specialized Agents** - After `bmm_install`, switch agents using `Tab` key
37
- 3. **61 Workflow Skills** - After `bmm_install`, load skills via slash commands like `/bmad-bmm-create-prd`
36
+ 2. **19 Specialized Agents** - After `bmm_install`, switch agents using `Tab` key
37
+ 3. **62 Workflow Skills** - After `bmm_install`, load skills via slash commands like `/bmad-bmm-create-prd`
38
38
 
39
39
  ---
40
40
 
41
41
  ## What's Included
42
42
 
43
- ### Agents (17)
43
+ ### Agents (19)
44
44
 
45
45
  | Agent | Name | Role |
46
46
  |-------|------|------|
@@ -61,8 +61,10 @@ After installation, you have access to:
61
61
  | `cis-storyteller` | Sophia | Master Storyteller |
62
62
  | `core-bmad-master` | BMad Master | Workflow Orchestrator |
63
63
  | `tea-tea` | Murat | Test Architect |
64
+ | `party-mode` | - | Multi-Agent Meeting Orchestrator |
65
+ | `gen-subagent` | - | Agent Factory (generates new agents) |
64
66
 
65
- ### Skills (61)
67
+ ### Skills (62)
66
68
 
67
69
  #### BMM Module (Development Lifecycle)
68
70
  - `bmad-bmm-create-product-brief` - Create product briefs
@@ -77,6 +79,7 @@ After installation, you have access to:
77
79
  - `bmad-bmm-code-review` - Adversarial code review
78
80
  - `bmad-bmm-sprint-planning` - Sprint planning
79
81
  - `bmad-bmm-sprint-status` - Sprint status tracking
82
+ - `bmad-bmm-dev-team-mode` - Parallel development orchestrator
80
83
  - `bmad-bmm-retrospective` - Sprint retrospectives
81
84
  - `bmad-bmm-quick-spec` - Quick tech specs
82
85
  - `bmad-bmm-quick-dev` - Quick development
@@ -135,6 +138,39 @@ Load the bmad-bmm-create-prd skill and help me create a PRD
135
138
 
136
139
  ---
137
140
 
141
+ ## Update / Upgrade
142
+
143
+ ### For Humans
144
+
145
+ Paste this into your LLM agent session:
146
+
147
+ ```
148
+ Upgrade bmm-opencode by following the instructions here:
149
+ https://raw.githubusercontent.com/Jack-R-Hong/BMM-opencode/refs/heads/main/docs/upgrade.md
150
+ ```
151
+
152
+ ### For LLM Agents
153
+
154
+ Fetch the upgrade guide and follow it:
155
+
156
+ ```bash
157
+ curl -s https://raw.githubusercontent.com/Jack-R-Hong/BMM-opencode/refs/heads/main/docs/upgrade.md
158
+ ```
159
+
160
+ ---
161
+
162
+ ### Version History
163
+
164
+ | Version | Agents | Skills | Changes |
165
+ |---------|--------|--------|---------|
166
+ | 1.3.1 | 19 | 62 | Party-mode: agent titles with first impressions |
167
+ | 1.3.0 | 19 | 62 | Added `dev-team-mode` parallel development orchestrator |
168
+ | 1.2.0 | 19 | 61 | Added `party-mode`, `gen-subagent`, upgrade docs |
169
+ | 1.1.0 | 17 | 61 | Added bmad-opencode-converter integration |
170
+ | 1.0.1 | 17 | 61 | Initial release |
171
+
172
+ ---
173
+
138
174
  ## Source
139
175
 
140
176
  This package is generated from [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) using [BMM-opencode-converter](https://github.com/Jack-R-Hong/BMM-opencode-converter).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA8NlD,eAAO,MAAM,SAAS,EAAE,MA4IvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA8NlD,eAAO,MAAM,SAAS,EAAE,MAkLvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -270,9 +270,45 @@ ${skills.map((s) => `- ${s.name}: ${s.frontmatter.description}`).join("\n")}
270
270
  },
271
271
  async execute(args, context) {
272
272
  const globalConfigDir = join(homedir(), ".config", "opencode");
273
- const targetBase = args.global
274
- ? globalConfigDir
275
- : args.target || join(context.directory, ".opencode");
273
+ const localConfigDir = args.target || join(context.directory, ".opencode");
274
+ let targetBase;
275
+ let autoDetected = false;
276
+ if (args.global) {
277
+ targetBase = globalConfigDir;
278
+ }
279
+ else if (args.target) {
280
+ targetBase = args.target;
281
+ }
282
+ else {
283
+ const globalAgentsDir = join(globalConfigDir, "agents");
284
+ const localAgentsDir = join(localConfigDir, "agents");
285
+ const hasBmmAgent = (dir) => {
286
+ if (!existsSync(dir))
287
+ return false;
288
+ const files = readdirSync(dir);
289
+ return files.some((f) => f.startsWith("bmm-") || f.startsWith("cis-") || f.startsWith("core-") || f.startsWith("tea-") || f === "party-mode.md" || f === "gen-subagent.md");
290
+ };
291
+ const globalHasBmm = hasBmmAgent(globalAgentsDir);
292
+ const localHasBmm = hasBmmAgent(localAgentsDir);
293
+ if (globalHasBmm && !localHasBmm) {
294
+ targetBase = globalConfigDir;
295
+ autoDetected = true;
296
+ }
297
+ else if (globalHasBmm && localHasBmm) {
298
+ return `BMM agents found in BOTH locations:
299
+ - Global: ${globalConfigDir}
300
+ - Local: ${localConfigDir}
301
+
302
+ Please specify which to update:
303
+ - \`bmm_install({ global: true, force: true })\` for global
304
+ - \`bmm_install({ force: true })\` will default to local
305
+
306
+ To avoid confusion, consider removing one installation.`;
307
+ }
308
+ else {
309
+ targetBase = localConfigDir;
310
+ }
311
+ }
276
312
  try {
277
313
  const targetAgents = join(targetBase, "agents");
278
314
  const targetSkills = join(targetBase, "skills");
@@ -300,13 +336,15 @@ Use \`force=true\` to overwrite, or remove existing files first.`;
300
336
  writeSkillFile(targetBase, skill);
301
337
  skillsCopied++;
302
338
  }
303
- const installType = args.global ? "globally" : "to project";
339
+ const isGlobal = targetBase === globalConfigDir;
340
+ const installType = isGlobal ? "globally" : "to project";
304
341
  const source = hasBmadSource() ? "converted from BMAD source" : "from bundled files";
342
+ const autoNote = autoDetected ? `\n\nNote: Auto-detected existing global installation at ${globalConfigDir}` : "";
305
343
  return `Successfully installed BMM-OpenCode ${installType} (${targetBase}):
306
344
  - ${agentsCopied} agents copied to ${targetAgents}
307
345
  - ${skillsCopied} skills copied to ${targetSkills}
308
346
 
309
- Source: ${source}
347
+ Source: ${source}${autoNote}
310
348
 
311
349
  Restart OpenCode to use the new agents and skills.`;
312
350
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bmm-opencode",
3
- "version": "1.2.0",
4
- "description": "BMAD-METHOD agents and skills for OpenCode - AI agent framework with 17 specialized agents and 61 workflow skills",
3
+ "version": "1.3.1",
4
+ "description": "BMAD-METHOD agents and skills for OpenCode - AI agent framework with 19 specialized agents and 62 workflow skills",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",