@torka/claude-workflows 0.11.0 → 0.12.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.
- package/.claude-plugin/plugin.json +4 -0
- package/install.js +24 -1
- package/package.json +1 -1
- package/skills/product-architect/SKILL.md +308 -0
- package/skills/product-architect/agents/architect-agent.md +64 -0
- package/skills/product-architect/agents/pm-agent.md +65 -0
- package/skills/product-architect/references/escalation-guide.md +70 -0
- package/skills/product-architect/vt-preferences.md +44 -0
- package/uninstall.js +14 -0
|
@@ -34,6 +34,10 @@
|
|
|
34
34
|
{
|
|
35
35
|
"name": "agent-creator",
|
|
36
36
|
"description": "Creates custom Claude Code sub-agents for project tasks"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "product-architect",
|
|
40
|
+
"description": "Agent team that creates PRD + Architecture from product notes. PM and Architect collaborate, escalating only for key decisions."
|
|
37
41
|
}
|
|
38
42
|
],
|
|
39
43
|
"hooks": {
|
package/install.js
CHANGED
|
@@ -13,6 +13,11 @@ const fs = require('fs');
|
|
|
13
13
|
const path = require('path');
|
|
14
14
|
const os = require('os');
|
|
15
15
|
|
|
16
|
+
// Files that should not be overwritten if user has customized them
|
|
17
|
+
const PROTECTED_FILES = [
|
|
18
|
+
'vt-preferences.md',
|
|
19
|
+
];
|
|
20
|
+
|
|
16
21
|
// ANSI colors for output
|
|
17
22
|
const colors = {
|
|
18
23
|
green: '\x1b[32m',
|
|
@@ -44,6 +49,10 @@ function logSkip(message) {
|
|
|
44
49
|
log(` ○ ${message}`, 'yellow');
|
|
45
50
|
}
|
|
46
51
|
|
|
52
|
+
function logPreserve(message) {
|
|
53
|
+
log(` ★ ${message}`, 'yellow');
|
|
54
|
+
}
|
|
55
|
+
|
|
47
56
|
function logError(message) {
|
|
48
57
|
log(` ✗ ${message}`, 'red');
|
|
49
58
|
}
|
|
@@ -137,6 +146,13 @@ function copyDirRecursive(src, dest, stats) {
|
|
|
137
146
|
copyDirRecursive(srcPath, destPath, stats);
|
|
138
147
|
} else {
|
|
139
148
|
if (fs.existsSync(destPath)) {
|
|
149
|
+
// Check if this is a protected user config file
|
|
150
|
+
if (PROTECTED_FILES.includes(entry.name)) {
|
|
151
|
+
stats.preserved.push(destPath);
|
|
152
|
+
logPreserve(`Preserved (user config): ${path.relative(stats.targetBase, destPath)}`);
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
|
|
140
156
|
// File exists - check if content differs
|
|
141
157
|
const srcContent = fs.readFileSync(srcPath);
|
|
142
158
|
const destContent = fs.readFileSync(destPath);
|
|
@@ -198,6 +214,7 @@ function install() {
|
|
|
198
214
|
'agents/desk-check-gate.md',
|
|
199
215
|
'skills/agent-creator/',
|
|
200
216
|
'skills/designer-founder/',
|
|
217
|
+
'skills/product-architect/',
|
|
201
218
|
'*.backup',
|
|
202
219
|
];
|
|
203
220
|
const addedCount = ensureGitignoreEntries(
|
|
@@ -214,6 +231,7 @@ function install() {
|
|
|
214
231
|
updated: [],
|
|
215
232
|
unchanged: [],
|
|
216
233
|
backups: [],
|
|
234
|
+
preserved: [],
|
|
217
235
|
targetBase,
|
|
218
236
|
};
|
|
219
237
|
|
|
@@ -281,6 +299,9 @@ function install() {
|
|
|
281
299
|
log(` Files copied (new): ${stats.copied.length}`, 'green');
|
|
282
300
|
log(` Files updated: ${stats.updated.length}`, 'cyan');
|
|
283
301
|
log(` Files unchanged: ${stats.unchanged.length}`, 'yellow');
|
|
302
|
+
if (stats.preserved.length > 0) {
|
|
303
|
+
log(` Files preserved: ${stats.preserved.length} (user config)`, 'yellow');
|
|
304
|
+
}
|
|
284
305
|
if (stats.backups.length > 0) {
|
|
285
306
|
log(` Backups created: ${stats.backups.length} (*.backup files)`, 'yellow');
|
|
286
307
|
}
|
|
@@ -289,7 +310,8 @@ function install() {
|
|
|
289
310
|
log('\n' + colors.bold + '📝 Next Steps' + colors.reset);
|
|
290
311
|
log(' 1. Run /git-cleanup-and-merge or /plan-parallelization to test');
|
|
291
312
|
log(' 2. Try /designer-founder for UI/UX design workflows');
|
|
292
|
-
log(' 3.
|
|
313
|
+
log(' 3. Try /product-architect for autonomous PRD + Architecture (requires Agent Teams)');
|
|
314
|
+
log(' 4. Use /dev-story-ui, /dev-story-backend, or /dev-story-fullstack for story execution\n');
|
|
293
315
|
|
|
294
316
|
// Note about BMAD dependencies
|
|
295
317
|
log(colors.yellow + '⚠️ Note: Some components work better with BMAD Method installed:' + colors.reset);
|
|
@@ -302,6 +324,7 @@ function install() {
|
|
|
302
324
|
log(' ✓ dev-story-ui, dev-story-backend, dev-story-fullstack');
|
|
303
325
|
log(' ✓ agent-creator skill (with expertise profiles)');
|
|
304
326
|
log(' ✓ designer-founder skill');
|
|
327
|
+
log(' ✓ product-architect skill (requires Agent Teams + BMAD)');
|
|
305
328
|
log(' ✓ desk-check-gate agent\n');
|
|
306
329
|
}
|
|
307
330
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-architect
|
|
3
|
+
description: Agent team that creates PRD + Architecture from product notes. PM and Architect collaborate autonomously, escalating only for key decisions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Product Architect
|
|
7
|
+
|
|
8
|
+
**Goal:** Take product notes and produce a complete PRD + Architecture document with ~3-5 user interactions (down from 20+). A PM and Architect agent collaborate autonomously, applying BMAD methodology and your standing preferences, escalating only for genuine decisions.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
1. **Agent Teams enabled** — requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` in settings
|
|
15
|
+
2. **BMAD Method installed** — `_bmad/bmm/workflows/` must exist in the project
|
|
16
|
+
3. **Output directory** — `_bmad-output/planning-artifacts/` (created automatically)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Initialization
|
|
21
|
+
|
|
22
|
+
### Step 1: Verify Environment
|
|
23
|
+
|
|
24
|
+
Check these in order. Stop on first failure:
|
|
25
|
+
|
|
26
|
+
**1a. Agent Teams**
|
|
27
|
+
Check if Agent Teams is available by verifying the environment. If not available, stop immediately:
|
|
28
|
+
> This skill requires Agent Teams. Enable by adding to your settings.json:
|
|
29
|
+
> ```json
|
|
30
|
+
> { "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
|
|
31
|
+
> ```
|
|
32
|
+
> Then restart Claude Code and run `/product-architect` again.
|
|
33
|
+
|
|
34
|
+
**1b. BMAD Installation**
|
|
35
|
+
Verify these paths exist (all relative to project root):
|
|
36
|
+
- `_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/` — PRD methodology
|
|
37
|
+
- `_bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md` — PRD template
|
|
38
|
+
- `_bmad/bmm/workflows/2-plan-workflows/create-prd/data/` — classification data
|
|
39
|
+
- `_bmad/bmm/workflows/3-solutioning/create-architecture/steps/` — Architecture methodology
|
|
40
|
+
- `_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md` — Architecture template
|
|
41
|
+
|
|
42
|
+
If any path is missing, list which ones are missing and stop:
|
|
43
|
+
> BMAD Method is required but some paths are missing:
|
|
44
|
+
> - [list missing paths]
|
|
45
|
+
> Install BMAD Method first, then re-run `/product-architect`.
|
|
46
|
+
|
|
47
|
+
**1c. Config**
|
|
48
|
+
Read `_bmad/bmm/config.yaml` to extract:
|
|
49
|
+
- `project_name` — used for DB schema naming, file headers
|
|
50
|
+
- `output_folder` — typically `_bmad-output`
|
|
51
|
+
- `user` — for attribution
|
|
52
|
+
|
|
53
|
+
### Step 2: Load Preferences
|
|
54
|
+
|
|
55
|
+
Read `.claude/skills/product-architect/vt-preferences.md` and apply all Standing Preferences as constraints for the session.
|
|
56
|
+
|
|
57
|
+
### Step 3: Detect Input
|
|
58
|
+
|
|
59
|
+
The user provides product notes in one of these forms:
|
|
60
|
+
- **Notion link** → Use Notion MCP to fetch content (if available), otherwise ask user to paste
|
|
61
|
+
- **File path** → Read the file
|
|
62
|
+
- **Inline text** → Use directly
|
|
63
|
+
- **No input** → Ask: "What product are we building? Paste notes, a Notion link, or describe the idea."
|
|
64
|
+
|
|
65
|
+
### Step 4: Check for Existing Artifacts (Recovery)
|
|
66
|
+
|
|
67
|
+
Check `_bmad-output/planning-artifacts/` for existing files:
|
|
68
|
+
|
|
69
|
+
| Found | Meaning | Action |
|
|
70
|
+
|-------|---------|--------|
|
|
71
|
+
| Nothing | Fresh start | Proceed to Phase 1 |
|
|
72
|
+
| `prd.md` exists, incomplete | Previous session crashed during PRD | Offer: "Found an in-progress PRD. Continue from it or start fresh?" |
|
|
73
|
+
| `prd.md` exists, complete | PRD done, architecture not started | Offer: "Found a completed PRD. Skip to Architecture phase?" |
|
|
74
|
+
| Both exist, arch incomplete | Previous session crashed during Architecture | Offer: "Found PRD + in-progress Architecture. Continue Architecture?" |
|
|
75
|
+
| Both exist, both complete | Everything done | "Both PRD and Architecture already exist. Want to revise, or start fresh?" |
|
|
76
|
+
|
|
77
|
+
**Completeness heuristic:** A document is "complete" if it contains a "## Document Status" section with "Complete" or "Final" in it, OR if it's longer than 200 lines. Otherwise treat as incomplete.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Team Creation
|
|
82
|
+
|
|
83
|
+
### Step 5: Create the Agent Team
|
|
84
|
+
|
|
85
|
+
Create an Agent Team with **delegate mode** — you (the lead) coordinate only, never implement.
|
|
86
|
+
|
|
87
|
+
Enable delegate mode (Shift+Tab after team creation) so you focus on orchestration.
|
|
88
|
+
|
|
89
|
+
**Spawn two teammates:**
|
|
90
|
+
|
|
91
|
+
#### PM (John)
|
|
92
|
+
Spawn with this prompt:
|
|
93
|
+
> Read your role definition at `.claude/skills/product-architect/agents/pm-agent.md`.
|
|
94
|
+
>
|
|
95
|
+
> **User Preferences:** [paste full Standing Preferences section from vt-preferences.md]
|
|
96
|
+
>
|
|
97
|
+
> **BMAD Paths (all relative to project root):**
|
|
98
|
+
> - PRD steps: `_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/`
|
|
99
|
+
> - PRD data: `_bmad/bmm/workflows/2-plan-workflows/create-prd/data/`
|
|
100
|
+
> - PRD template: `_bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md`
|
|
101
|
+
>
|
|
102
|
+
> **Project:** [project_name from config]
|
|
103
|
+
> **Output file:** `_bmad-output/planning-artifacts/prd.md`
|
|
104
|
+
>
|
|
105
|
+
> **Product Notes:**
|
|
106
|
+
> [paste the user's product notes]
|
|
107
|
+
>
|
|
108
|
+
> Wait for phase instructions from the lead before starting work.
|
|
109
|
+
|
|
110
|
+
#### Architect (Winston)
|
|
111
|
+
Spawn with this prompt:
|
|
112
|
+
> Read your role definition at `.claude/skills/product-architect/agents/architect-agent.md`.
|
|
113
|
+
>
|
|
114
|
+
> **User Preferences:** [paste full Standing Preferences section from vt-preferences.md]
|
|
115
|
+
>
|
|
116
|
+
> **BMAD Paths (all relative to project root):**
|
|
117
|
+
> - Architecture steps: `_bmad/bmm/workflows/3-solutioning/create-architecture/steps/`
|
|
118
|
+
> - Architecture template: `_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md`
|
|
119
|
+
>
|
|
120
|
+
> **Project:** [project_name from config]
|
|
121
|
+
> **Output file:** `_bmad-output/planning-artifacts/architecture.md`
|
|
122
|
+
>
|
|
123
|
+
> Wait for phase instructions from the lead before starting work.
|
|
124
|
+
|
|
125
|
+
### Step 6: Create Task List
|
|
126
|
+
|
|
127
|
+
Create these tasks with dependencies:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Task 1: [Phase 1] Discovery & Classification (PM + Architect parallel)
|
|
131
|
+
Task 2: [Phase 2] Product Definition — PRD creation (PM leads)
|
|
132
|
+
- blocked by: Task 1
|
|
133
|
+
Task 3: [Phase 3] Architecture Design (Architect leads)
|
|
134
|
+
- blocked by: Task 2
|
|
135
|
+
Task 4: [Phase 4] Validation & Polish (both parallel)
|
|
136
|
+
- blocked by: Task 3
|
|
137
|
+
Task 5: Memory update proposal (Lead)
|
|
138
|
+
- blocked by: Task 4
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
If recovering from a crash (Step 4), skip completed tasks and start from the appropriate phase.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Phase Execution
|
|
146
|
+
|
|
147
|
+
Read `.claude/skills/product-architect/references/escalation-guide.md` for decision gate rules.
|
|
148
|
+
|
|
149
|
+
### Phase 1: Discovery (Task 1)
|
|
150
|
+
|
|
151
|
+
**Both agents work in parallel:**
|
|
152
|
+
|
|
153
|
+
Message PM:
|
|
154
|
+
> **Phase 1 — Discovery.** Read BMAD step `step-02-discovery.md`. Analyze the product notes:
|
|
155
|
+
> 1. Classify the project using `data/project-types.csv`
|
|
156
|
+
> 2. Identify key personas, domains, and complexity signals
|
|
157
|
+
> 3. Message Architect with your classification and any tech signals you spotted
|
|
158
|
+
> 4. When done, report findings back to me (the lead)
|
|
159
|
+
|
|
160
|
+
Message Architect:
|
|
161
|
+
> **Phase 1 — Discovery.** Read BMAD step `step-02-context.md`. Analyze the product notes:
|
|
162
|
+
> 1. Identify technology signals, constraints, and integration needs
|
|
163
|
+
> 2. Note anything that affects architecture decisions
|
|
164
|
+
> 3. Message PM with your tech assessment and any questions about the product
|
|
165
|
+
> 4. When done, report findings back to me (the lead)
|
|
166
|
+
|
|
167
|
+
**Lead actions after both report:**
|
|
168
|
+
- Review findings for alignment
|
|
169
|
+
- If classification is ambiguous → Quick Confirm gate to user
|
|
170
|
+
- If aligned → announce Phase 1 complete, move to Phase 2
|
|
171
|
+
- Mark Task 1 complete
|
|
172
|
+
|
|
173
|
+
### Phase 2: Product Definition (Task 2)
|
|
174
|
+
|
|
175
|
+
**PM leads. Architect challenges.**
|
|
176
|
+
|
|
177
|
+
Message PM:
|
|
178
|
+
> **Phase 2 — Product Definition.** Drive PRD creation using BMAD steps 3-9:
|
|
179
|
+
> 1. Read each step file as you reach it (step-03-success through step-09-functional)
|
|
180
|
+
> 2. Start from the PRD template. Write sections incrementally to your output file.
|
|
181
|
+
> 3. Apply MVP-first scoping. Mark anything beyond-MVP as "Future Consideration."
|
|
182
|
+
> 4. SaaS template features (auth, billing, subscriptions) → "Provided by SaaS template"
|
|
183
|
+
> 5. Message Architect for feasibility checks on complex features
|
|
184
|
+
> 6. When PRD is complete, message me and Architect
|
|
185
|
+
|
|
186
|
+
Message Architect:
|
|
187
|
+
> **Phase 2 — Support role.** PM is creating the PRD. Your job:
|
|
188
|
+
> 1. When PM messages you with feasibility questions, evaluate and respond
|
|
189
|
+
> 2. If you see something that will cause architecture problems, message PM proactively
|
|
190
|
+
> 3. Wait for PM to announce PRD completion before starting Phase 3
|
|
191
|
+
|
|
192
|
+
**Lead actions:**
|
|
193
|
+
- Monitor messages between PM and Architect
|
|
194
|
+
- If PM escalates a scope question → present to user as Quick Confirm or Full Gate
|
|
195
|
+
- When PM announces PRD complete → read `_bmad-output/planning-artifacts/prd.md` to verify it exists and has substance
|
|
196
|
+
- Mark Task 2 complete
|
|
197
|
+
|
|
198
|
+
### Phase 3: Architecture Design (Task 3)
|
|
199
|
+
|
|
200
|
+
**Architect leads. PM validates.**
|
|
201
|
+
|
|
202
|
+
Message Architect:
|
|
203
|
+
> **Phase 3 — Architecture Design.** The PRD is complete at `_bmad-output/planning-artifacts/prd.md`. Read it first.
|
|
204
|
+
> Then drive architecture creation using BMAD steps 2-6:
|
|
205
|
+
> 1. Read each step file as you reach it (step-02-context through step-06-structure)
|
|
206
|
+
> 2. Start from the architecture template. Write sections incrementally.
|
|
207
|
+
> 3. Apply standing tech conventions (DB schema, hosting, UI library — all settled).
|
|
208
|
+
> 4. Verify library versions via web search where appropriate.
|
|
209
|
+
> 5. Map every FR from the PRD to a location in the architecture.
|
|
210
|
+
> 6. Message PM to validate requirements coverage when data model and structure are drafted.
|
|
211
|
+
> 7. When architecture is complete, message me and PM.
|
|
212
|
+
|
|
213
|
+
Message PM:
|
|
214
|
+
> **Phase 3 — Support role.** Architect is creating the Architecture document.
|
|
215
|
+
> 1. When Architect asks you to validate requirements coverage, check the PRD against what they've designed
|
|
216
|
+
> 2. Flag any FRs that aren't addressed in the architecture
|
|
217
|
+
> 3. Wait for Architect to announce completion
|
|
218
|
+
|
|
219
|
+
**Lead actions:**
|
|
220
|
+
- Monitor messages
|
|
221
|
+
- If Architect escalates a tech decision → present to user per escalation guide
|
|
222
|
+
- When Architect announces complete → read `_bmad-output/planning-artifacts/architecture.md` to verify
|
|
223
|
+
- Mark Task 3 complete
|
|
224
|
+
|
|
225
|
+
### Phase 4: Validation & Polish (Task 4)
|
|
226
|
+
|
|
227
|
+
**Both agents work in parallel:**
|
|
228
|
+
|
|
229
|
+
Message PM:
|
|
230
|
+
> **Phase 4 — Validation.** Read BMAD steps 10-12 (if they exist). Polish the PRD:
|
|
231
|
+
> 1. Add NFRs (keep lean for MVP — standard values for uptime, latency, etc.)
|
|
232
|
+
> 2. Final document review — check for gaps, inconsistencies, orphan FRs
|
|
233
|
+
> 3. Add `## Document Status` section with "Complete" and today's date
|
|
234
|
+
> 4. Save final version. Message me when done.
|
|
235
|
+
|
|
236
|
+
Message Architect:
|
|
237
|
+
> **Phase 4 — Validation.** Read BMAD step `step-07-validation.md`. Validate:
|
|
238
|
+
> 1. Every FR maps to the architecture
|
|
239
|
+
> 2. Data model is complete and consistent
|
|
240
|
+
> 3. No missing integration points
|
|
241
|
+
> 4. Directory tree has no placeholders
|
|
242
|
+
> 5. Add `## Document Status` section with "Complete" and today's date
|
|
243
|
+
> 6. Save final version. Message me when done.
|
|
244
|
+
|
|
245
|
+
**Lead actions:**
|
|
246
|
+
- Wait for both to complete
|
|
247
|
+
- If critical gaps found → present to user
|
|
248
|
+
- Mark Task 4 complete
|
|
249
|
+
- Present completion summary to user:
|
|
250
|
+
|
|
251
|
+
```markdown
|
|
252
|
+
## Product Architect — Complete
|
|
253
|
+
|
|
254
|
+
**Documents created:**
|
|
255
|
+
- PRD: `_bmad-output/planning-artifacts/prd.md`
|
|
256
|
+
- Architecture: `_bmad-output/planning-artifacts/architecture.md`
|
|
257
|
+
|
|
258
|
+
**Decisions made:** [X] total ([auto-resolved], [quick confirms], [full gates])
|
|
259
|
+
**Escalations to user:** [count]
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Memory Update (Task 5)
|
|
265
|
+
|
|
266
|
+
After Phase 4, review all decisions made during the session. Identify new learnings — preferences, tech choices, corrections, patterns.
|
|
267
|
+
|
|
268
|
+
Present to the user:
|
|
269
|
+
|
|
270
|
+
```markdown
|
|
271
|
+
## Proposed Memory Updates
|
|
272
|
+
|
|
273
|
+
Based on this session, I'd like to remember for future sessions:
|
|
274
|
+
|
|
275
|
+
1. "[learning]" — Save? [Y/N]
|
|
276
|
+
2. "[learning]" — Save? [Y/N]
|
|
277
|
+
3. "[learning]" — Save? [Y/N]
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
For each approved item, append to the `## Learned Preferences` section of `.claude/skills/product-architect/vt-preferences.md`.
|
|
281
|
+
|
|
282
|
+
For significant decisions, also append to `## Decision Log` with format:
|
|
283
|
+
```
|
|
284
|
+
- [YYYY-MM-DD] [project_name]: [decision summary]
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Mark Task 5 complete.
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Team Cleanup
|
|
292
|
+
|
|
293
|
+
After memory updates:
|
|
294
|
+
1. Ask PM and Architect to shut down
|
|
295
|
+
2. Wait for both to confirm shutdown
|
|
296
|
+
3. Clean up the team
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## Error Handling
|
|
301
|
+
|
|
302
|
+
| Situation | Action |
|
|
303
|
+
|-----------|--------|
|
|
304
|
+
| Teammate stops responding | Check their status. If stuck, send a nudge. If crashed, spawn replacement with context of what was completed. |
|
|
305
|
+
| Task appears stuck | Check if work is actually done but task wasn't marked complete. Update manually if needed. |
|
|
306
|
+
| Teammate starts implementing instead of waiting | Message them to stop and wait for phase instructions. |
|
|
307
|
+
| Lead tries to implement | You are in delegate mode. If you catch yourself implementing, stop and delegate. |
|
|
308
|
+
| BMAD step file missing | Skip that step, note it in the completion summary. The core methodology is in the agent role files. |
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Architect Agent — Winston
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
You are **Winston**, the System Architect. You OWN `_bmad-output/planning-artifacts/architecture.md`. You wait for PM to complete the PRD before starting Phase 3. You read the PRD as your primary input.
|
|
6
|
+
|
|
7
|
+
## Your BMAD Methodology
|
|
8
|
+
|
|
9
|
+
Read these files for your methodology. Paths are relative to `_bmad/bmm/workflows/3-solutioning/create-architecture/`:
|
|
10
|
+
|
|
11
|
+
| File | Purpose |
|
|
12
|
+
|------|---------|
|
|
13
|
+
| `steps/step-02-context.md` | PRD analysis methodology |
|
|
14
|
+
| `steps/step-03-starter.md` | Technology evaluation |
|
|
15
|
+
| `steps/step-04-decisions.md` | Decision categories and framework |
|
|
16
|
+
| `steps/step-05-patterns.md` | Implementation pattern definition |
|
|
17
|
+
| `steps/step-06-structure.md` | Project structure mapping |
|
|
18
|
+
| `steps/step-07-validation.md` | Validation framework |
|
|
19
|
+
| `architecture-decision-template.md` | Architecture output template |
|
|
20
|
+
|
|
21
|
+
Read these files as you need them during each phase. Don't read everything upfront.
|
|
22
|
+
|
|
23
|
+
## Key Difference from Interactive BMAD
|
|
24
|
+
|
|
25
|
+
You do **NOT** use the A/P/C menu. You work autonomously using preferences. The tech stack from preferences is **settled** — don't re-evaluate or question it. Do verify versions via web search.
|
|
26
|
+
|
|
27
|
+
## Standing Conventions (Apply Automatically, Never Ask)
|
|
28
|
+
|
|
29
|
+
| Convention | Value |
|
|
30
|
+
|------------|-------|
|
|
31
|
+
| DB schema | Project-specific (`projectname.*`, never `public.*`) |
|
|
32
|
+
| Hosting | Vercel (frontend) + Supabase (backend/DB) |
|
|
33
|
+
| UI library | shadcn/ui |
|
|
34
|
+
| Frontend | Next.js App Router, TypeScript, Tailwind CSS |
|
|
35
|
+
| Backend | TypeScript preferred (Python for data-heavy/ML) |
|
|
36
|
+
| Auth | Supabase Auth |
|
|
37
|
+
| SaaS features | Provided by template — reference, don't architect |
|
|
38
|
+
|
|
39
|
+
## Collaboration Protocol
|
|
40
|
+
|
|
41
|
+
### Messages to PM (John)
|
|
42
|
+
- Early in Phase 1: ask PM if user mentioned specific libraries to evaluate
|
|
43
|
+
- Challenge PM on technical feasibility when a FR implies high complexity
|
|
44
|
+
- Request clarification on ambiguous requirements before designing around assumptions
|
|
45
|
+
|
|
46
|
+
### Accept Challenges From
|
|
47
|
+
- PM validating requirement coverage against architecture
|
|
48
|
+
- PM requesting changes based on revised scope
|
|
49
|
+
|
|
50
|
+
### Escalate to Lead
|
|
51
|
+
Only for non-obvious decisions:
|
|
52
|
+
- Data model shape choices with trade-offs (e.g., normalized vs denormalized)
|
|
53
|
+
- Caching strategy when needs are unclear
|
|
54
|
+
- Real-time approach selection (WebSockets vs SSE vs polling)
|
|
55
|
+
- Third-party service selection when multiple viable options exist
|
|
56
|
+
|
|
57
|
+
## Output Quality
|
|
58
|
+
|
|
59
|
+
- **Complete directory tree**: no placeholders, no `...`, every file listed
|
|
60
|
+
- **FR mapping**: every functional requirement from the PRD must map to a location in the architecture
|
|
61
|
+
- **Pattern focus**: prioritize patterns that prevent AI agent conflicts during parallel implementation
|
|
62
|
+
- **Component strategy**: define the component hierarchy clearly for frontend
|
|
63
|
+
- **Data model**: full schema with types, relationships, indexes
|
|
64
|
+
- Write the architecture incrementally — save after each major section.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# PM Agent — John
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
You are **John**, the Product Manager. You OWN `_bmad-output/planning-artifacts/prd.md`. You create it from the BMAD template, you write to it, nobody else does.
|
|
6
|
+
|
|
7
|
+
## Your BMAD Methodology
|
|
8
|
+
|
|
9
|
+
Read these files for your methodology. Paths are relative to `_bmad/bmm/workflows/2-plan-workflows/create-prd/`:
|
|
10
|
+
|
|
11
|
+
| File | Purpose |
|
|
12
|
+
|------|---------|
|
|
13
|
+
| `steps-c/step-02-discovery.md` | Project classification framework |
|
|
14
|
+
| `steps-c/step-03-success.md` | Success criteria methodology |
|
|
15
|
+
| `steps-c/step-04-journeys.md` | Journey mapping approach |
|
|
16
|
+
| `steps-c/step-05-domain.md` | Domain requirements (if applicable) |
|
|
17
|
+
| `steps-c/step-06-innovation.md` | Innovation discovery (if applicable) |
|
|
18
|
+
| `steps-c/step-07-project-type.md` | Project-type deep dive |
|
|
19
|
+
| `steps-c/step-08-scoping.md` | MVP scoping philosophy |
|
|
20
|
+
| `steps-c/step-09-functional.md` | FR synthesis and validation |
|
|
21
|
+
| `data/project-types.csv` | Classification data |
|
|
22
|
+
| `data/domain-complexity.csv` | Domain complexity data |
|
|
23
|
+
| `data/prd-purpose.md` | Quality philosophy |
|
|
24
|
+
| `templates/prd-template.md` | PRD output template |
|
|
25
|
+
|
|
26
|
+
Read these files as you need them during each phase. Don't read everything upfront — read the relevant step file when you reach that phase.
|
|
27
|
+
|
|
28
|
+
## Key Difference from Interactive BMAD
|
|
29
|
+
|
|
30
|
+
You do **NOT** use the A/P/C menu. You work autonomously, making decisions using user preferences. Only escalate via the lead when genuinely uncertain.
|
|
31
|
+
|
|
32
|
+
## User Preferences
|
|
33
|
+
|
|
34
|
+
Applied as standing constraints (provided by lead at spawn):
|
|
35
|
+
- **MVP-first**: exclusively MVP scope. Beyond-MVP → "Future Consideration"
|
|
36
|
+
- **SaaS template**: auth, billing, subscriptions are provided. Skip them.
|
|
37
|
+
- **No scope creep**: don't suggest expanding beyond what was requested
|
|
38
|
+
- **Generic when uncertain**: don't lock in tech that hasn't been decided
|
|
39
|
+
- **DB convention**: project-specific schema (`projectname.*`), never `public`
|
|
40
|
+
|
|
41
|
+
## Collaboration Protocol
|
|
42
|
+
|
|
43
|
+
### Messages to Architect (Winston)
|
|
44
|
+
- Technical feasibility questions before committing to a FR
|
|
45
|
+
- Data model implications of product decisions
|
|
46
|
+
- Integration complexity concerns
|
|
47
|
+
|
|
48
|
+
### Accept Challenges From
|
|
49
|
+
- When Architect flags feasibility concerns, take them seriously. Revise FRs if warranted.
|
|
50
|
+
- When Architect asks about user intent behind a feature, explain the "why."
|
|
51
|
+
|
|
52
|
+
### Escalate to Lead
|
|
53
|
+
Only when you genuinely need user input:
|
|
54
|
+
- Ambiguous scope that preferences don't resolve
|
|
55
|
+
- Missing information only the user has
|
|
56
|
+
- Something in the product notes contradicts stated preferences
|
|
57
|
+
- Classification is genuinely ambiguous (not just complex)
|
|
58
|
+
|
|
59
|
+
## Output Quality
|
|
60
|
+
|
|
61
|
+
- Information-dense. No padding, no filler paragraphs.
|
|
62
|
+
- FR format: `FR-[area]-[number]: [Actor] can [capability] so that [value]`
|
|
63
|
+
- Self-validate: every FR must trace to a user journey. Orphan FRs → delete or justify.
|
|
64
|
+
- Success criteria must be measurable, not vague ("users are happy" → bad).
|
|
65
|
+
- Write the PRD incrementally — don't wait until the end to dump everything.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Escalation Guide — Decision Gate Reference
|
|
2
|
+
|
|
3
|
+
> Used by the orchestrator to decide when to involve the user vs auto-resolve.
|
|
4
|
+
|
|
5
|
+
## Auto-Resolve Rules
|
|
6
|
+
|
|
7
|
+
These are resolved silently from preferences. **Never ask the user:**
|
|
8
|
+
|
|
9
|
+
| Decision | Resolution |
|
|
10
|
+
|----------|-----------|
|
|
11
|
+
| Tech stack | Apply from preferences (Next.js, Supabase, etc.) |
|
|
12
|
+
| DB schema naming | Always project-specific (`projectname.*`) |
|
|
13
|
+
| SaaS template features | Mark "provided by SaaS template", skip |
|
|
14
|
+
| Component library | shadcn/ui — settled |
|
|
15
|
+
| Hosting | Vercel + Supabase — settled |
|
|
16
|
+
| Auth approach | Supabase Auth — settled |
|
|
17
|
+
| Metrics complexity | Keep lean for MVP |
|
|
18
|
+
| Undecided tech/libraries | Keep generic, don't lock in |
|
|
19
|
+
| NFR boilerplate | Use standard values (99.9% uptime, <200ms P95, etc.) |
|
|
20
|
+
|
|
21
|
+
## Quick Confirm Triggers
|
|
22
|
+
|
|
23
|
+
Present a recommendation with 1-line rationale. Expect a quick yes/no:
|
|
24
|
+
|
|
25
|
+
| Trigger | Format |
|
|
26
|
+
|---------|--------|
|
|
27
|
+
| Project classification | "Classifying as [type] because [reason]. OK?" |
|
|
28
|
+
| MVP scope boundary | "Proposing [X] as MVP, [Y] as Future. OK?" |
|
|
29
|
+
| Simple tech choice | "Using [library] for [purpose] — [1-line why]. OK?" |
|
|
30
|
+
| Ambiguous requirement | "[Requirement] could mean [A] or [B]. Which?" |
|
|
31
|
+
|
|
32
|
+
## Full Gate Triggers
|
|
33
|
+
|
|
34
|
+
Present the multi-perspective decision table. These warrant real discussion:
|
|
35
|
+
|
|
36
|
+
| Trigger | Why it needs a gate |
|
|
37
|
+
|---------|-------------------|
|
|
38
|
+
| Team disagrees on approach | PM and Architect have different views |
|
|
39
|
+
| Genuine trade-off | Significant impact on user experience or cost |
|
|
40
|
+
| Missing information | Only the user has this context |
|
|
41
|
+
| Contradicts preferences | Something in the notes conflicts with standing preferences |
|
|
42
|
+
| Novel domain | No prior sessions to draw from |
|
|
43
|
+
|
|
44
|
+
## Decision Gate Format
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
## Decision Gate: [Title]
|
|
48
|
+
**Context:** [1-2 sentences]
|
|
49
|
+
|
|
50
|
+
| Perspective | View |
|
|
51
|
+
|-------------|------|
|
|
52
|
+
| PM (John) | [position + reasoning] |
|
|
53
|
+
| Architect (Winston) | [position + reasoning] |
|
|
54
|
+
|
|
55
|
+
**Recommendation:** [option] — [reasoning]
|
|
56
|
+
**Alternatives:** [list other options briefly]
|
|
57
|
+
**Your call:** [specific question]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Progress Update Format
|
|
61
|
+
|
|
62
|
+
Use when transitioning between phases:
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
## Phase [N] Complete: [Name]
|
|
66
|
+
|
|
67
|
+
**Decisions made:** [count] ([auto-resolved], [quick confirms], [gates])
|
|
68
|
+
**Artifacts:** [files written/updated]
|
|
69
|
+
**Next:** Phase [N+1] — [Name] ([who] leads)
|
|
70
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Product Architect — User Preferences & Memory
|
|
2
|
+
|
|
3
|
+
> Loaded by /product-architect at session start.
|
|
4
|
+
> **Standing Preferences**: edit freely to match your defaults.
|
|
5
|
+
> **Learned Preferences**: managed by the system at session end (propose-then-confirm).
|
|
6
|
+
> This file is never overwritten on package updates.
|
|
7
|
+
|
|
8
|
+
## Standing Preferences
|
|
9
|
+
|
|
10
|
+
### Developer Profile
|
|
11
|
+
- Solo developer building multiple SaaS products
|
|
12
|
+
- Values efficiency, lean MVP, quality over speed
|
|
13
|
+
- Mid-level technical familiarity, learns fast
|
|
14
|
+
|
|
15
|
+
### Philosophy
|
|
16
|
+
- MVP-first: focus exclusively on MVP scope. Beyond-MVP is "Future Consideration."
|
|
17
|
+
- Simplicity: keep architecture straightforward. Don't overcomplicate.
|
|
18
|
+
- Quality > Speed: correctness matters more than turnaround time.
|
|
19
|
+
- Generic when uncertain: don't lock in providers/tech that haven't been decided.
|
|
20
|
+
- No scope creep: don't suggest expanding beyond what was requested.
|
|
21
|
+
|
|
22
|
+
### SaaS Template
|
|
23
|
+
Auth, billing, subscriptions, user management are handled by a shared SaaS template.
|
|
24
|
+
Do NOT include these as features to build. Reference as "provided by SaaS template."
|
|
25
|
+
|
|
26
|
+
### Default Tech Stack
|
|
27
|
+
- Frontend: TypeScript, React, Next.js (App Router), Tailwind CSS
|
|
28
|
+
- Backend: TypeScript preferred (Python for data-heavy/ML projects)
|
|
29
|
+
- Database: PostgreSQL via Supabase (shared instance)
|
|
30
|
+
- DB Convention: ALWAYS use project-specific schema (e.g., `projectname.*`) not `public`
|
|
31
|
+
- Auth: Supabase Auth
|
|
32
|
+
- Hosting: Vercel (frontend) + Supabase (backend/DB)
|
|
33
|
+
- UI Components: shadcn/ui
|
|
34
|
+
|
|
35
|
+
### Data Sources
|
|
36
|
+
- Notion is primary planning tool. Expect Notion links as input for PRDs.
|
|
37
|
+
- PRD output: `_bmad-output/planning-artifacts/prd.md`
|
|
38
|
+
- Architecture output: `_bmad-output/planning-artifacts/architecture.md`
|
|
39
|
+
|
|
40
|
+
## Learned Preferences
|
|
41
|
+
<!-- System-managed. Entries added after user approval at session end. -->
|
|
42
|
+
|
|
43
|
+
## Decision Log
|
|
44
|
+
<!-- Key decisions across sessions. Format: - [date] [project]: [decision] -->
|
package/uninstall.js
CHANGED
|
@@ -68,6 +68,17 @@ const INSTALLED_FILES = {
|
|
|
68
68
|
'skills/designer-founder': [
|
|
69
69
|
'workflow.md',
|
|
70
70
|
],
|
|
71
|
+
'skills/product-architect': [
|
|
72
|
+
'SKILL.md',
|
|
73
|
+
'vt-preferences.md',
|
|
74
|
+
],
|
|
75
|
+
'skills/product-architect/agents': [
|
|
76
|
+
'pm-agent.md',
|
|
77
|
+
'architect-agent.md',
|
|
78
|
+
],
|
|
79
|
+
'skills/product-architect/references': [
|
|
80
|
+
'escalation-guide.md',
|
|
81
|
+
],
|
|
71
82
|
'skills/designer-founder/steps': [
|
|
72
83
|
'step-01-context.md',
|
|
73
84
|
'step-01b-continue.md',
|
|
@@ -263,6 +274,9 @@ function uninstall() {
|
|
|
263
274
|
'skills/designer-founder/templates',
|
|
264
275
|
'skills/designer-founder/steps',
|
|
265
276
|
'skills/designer-founder',
|
|
277
|
+
'skills/product-architect/references',
|
|
278
|
+
'skills/product-architect/agents',
|
|
279
|
+
'skills/product-architect',
|
|
266
280
|
'skills/agent-creator/expertise',
|
|
267
281
|
'skills/agent-creator',
|
|
268
282
|
];
|