ultra-builder-pro-cli 0.10.0 → 0.12.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.
- package/.ultra-template/specs/architecture.md +54 -223
- package/.ultra-template/specs/discovery.md +34 -231
- package/.ultra-template/specs/product.md +44 -200
- package/.ultra-template/tasks/contexts/TEMPLATE.md +36 -0
- package/.ultra-template/tasks/tasks.json +6 -0
- package/CHANGELOG.md +86 -1
- package/README.md +21 -9
- package/adapters/_shared/codex-assets.cjs +24 -342
- package/adapters/_shared/handbook.cjs +4 -3
- package/adapters/_shared/runtime-assets.cjs +24 -0
- package/adapters/_shared/tests/handbook.test.cjs +4 -0
- package/adapters/_shared/tests/runtime-assets.test.cjs +11 -4
- package/adapters/claude.js +28 -5
- package/adapters/kimi.js +15 -138
- package/adapters/opencode.js +22 -49
- package/adapters/tests/claude.test.cjs +22 -8
- package/adapters/tests/codex.test.cjs +21 -8
- package/adapters/tests/kimi-hook.test.cjs +1 -1
- package/adapters/tests/kimi.test.cjs +11 -11
- package/adapters/tests/opencode.test.cjs +47 -8
- package/agents/code-reviewer.md +24 -85
- package/agents/debugger.md +30 -132
- package/agents/review-code.md +24 -104
- package/agents/review-comments.md +20 -83
- package/agents/review-coordinator.md +40 -137
- package/agents/review-design.md +21 -118
- package/agents/review-errors.md +22 -70
- package/agents/review-spec.md +36 -0
- package/agents/review-tests.md +20 -76
- package/agents/tdd-runner.md +26 -84
- package/commands/learn.md +5 -36
- package/commands/ultra-change.md +5 -43
- package/commands/ultra-deliver.md +4 -46
- package/commands/ultra-dev.md +4 -48
- package/commands/ultra-doctor.md +4 -30
- package/commands/ultra-init.md +5 -47
- package/commands/ultra-plan.md +5 -48
- package/commands/ultra-research.md +5 -54
- package/commands/ultra-status.md +5 -44
- package/commands/ultra-test.md +5 -45
- package/commands/ultra-think.md +5 -40
- package/docs/AGENT-CONTEXT.md +16 -8
- package/docs/ARCHITECTURE.md +32 -5
- package/docs/PLAN.zh-CN.md +8 -6
- package/docs/ROADMAP.md +5 -3
- package/docs/RUNTIME-COMPAT-MATRIX.md +8 -5
- package/docs/SKILL-AUTHORING.md +75 -0
- package/docs/STATE-DB-ACCESS-POLICY.md +17 -11
- package/docs/USER-HANDBOOK-CONTRACT.md +8 -5
- package/hooks/README.md +4 -3
- package/hooks/adapters/codex.py +1 -1
- package/hooks/adapters/kimi.py +1 -1
- package/hooks/context_spine.py +120 -16
- package/hooks/health_check.py +11 -0
- package/hooks/pre_stop_check.py +6 -5
- package/mcp-server/lib/baseline-workflow.cjs +415 -0
- package/mcp-server/lib/baseline-workflow.test.cjs +225 -0
- package/mcp-server/lib/change-workflow.cjs +24 -27
- package/mcp-server/lib/change-workflow.test.cjs +202 -6
- package/mcp-server/lib/context-spine.cjs +74 -9
- package/mcp-server/lib/context-spine.test.cjs +15 -0
- package/mcp-server/lib/doctor.cjs +14 -0
- package/mcp-server/lib/doctor.test.cjs +25 -1
- package/mcp-server/lib/init-project.cjs +49 -14
- package/mcp-server/lib/provider-refs.cjs +42 -0
- package/mcp-server/lib/spec-learning.test.cjs +5 -0
- package/mcp-server/lib/state-db.cjs +63 -4
- package/mcp-server/lib/state-db.test.cjs +8 -3
- package/mcp-server/server.cjs +48 -3
- package/mcp-server/tests/init-project.test.cjs +54 -8
- package/mcp-server/tests/server-contract.test.cjs +99 -2
- package/mcp-server/tests/state-db.test.cjs +11 -2
- package/package.json +3 -2
- package/skills/cc-collab/SKILL.md +16 -18
- package/skills/code-review-expert/SKILL.md +39 -114
- package/skills/code-review-expert/references/correctness-reliability.md +30 -0
- package/skills/code-review-expert/references/design-boundaries.md +26 -0
- package/skills/code-review-expert/references/removal-plan.md +17 -45
- package/skills/codex-collab/SKILL.md +23 -28
- package/skills/codex-collab/evals/evals.json +18 -23
- package/skills/integration-rules/SKILL.md +28 -67
- package/skills/learn/SKILL.md +46 -106
- package/skills/security-rules/SKILL.md +34 -56
- package/skills/testing-rules/SKILL.md +28 -52
- package/skills/ultra-change/SKILL.md +68 -114
- package/skills/ultra-deliver/SKILL.md +58 -86
- package/skills/ultra-dev/SKILL.md +46 -105
- package/skills/ultra-doctor/SKILL.md +45 -72
- package/skills/ultra-init/SKILL.md +62 -147
- package/skills/ultra-init/references/brownfield-adoption.md +65 -0
- package/skills/ultra-plan/SKILL.md +56 -89
- package/skills/ultra-research/SKILL.md +64 -152
- package/skills/ultra-research/references/architecture.md +38 -0
- package/skills/ultra-research/references/problem-product.md +39 -0
- package/skills/ultra-research/references/quality-delivery.md +34 -0
- package/skills/ultra-research/references/synthesis.md +38 -0
- package/skills/ultra-research/references/users-scope.md +40 -0
- package/skills/ultra-review/SKILL.md +54 -98
- package/skills/ultra-review/references/unified-schema.md +76 -101
- package/skills/ultra-review/scripts/review_wait.py +242 -77
- package/skills/ultra-status/SKILL.md +41 -56
- package/skills/ultra-test/SKILL.md +37 -72
- package/skills/ultra-think/SKILL.md +43 -102
- package/skills/ultra-verify/SKILL.md +44 -84
- package/skills/ultra-verify/evals/evals.json +24 -27
- package/spec/cli-protocol.md +4 -0
- package/spec/mcp-tools.yaml +223 -4
- package/spec/schemas/command-manifest.schema.json +7 -25
- package/spec/schemas/mcp-tools.schema.json +1 -1
- package/spec/schemas/skill-manifest.schema.json +9 -79
- package/spec/schemas/state-db.sql +33 -2
- package/ultra-tools/commands/status.cjs +20 -2
- package/ultra-tools/commands/task.cjs +4 -1
- package/ultra-tools/status-command.test.cjs +20 -0
- package/ultra-tools/system-command.test.cjs +5 -0
- package/skills/code-review-expert/references/code-quality-checklist.md +0 -112
- package/skills/code-review-expert/references/integration-checklist.md +0 -46
- package/skills/code-review-expert/references/security-checklist.md +0 -100
- package/skills/code-review-expert/references/solid-checklist.md +0 -65
- package/skills/ultra-research/steps/step-00-problem-validation.md +0 -154
- package/skills/ultra-research/steps/step-01-opportunity-discovery.md +0 -172
- package/skills/ultra-research/steps/step-02-market-assessment.md +0 -195
- package/skills/ultra-research/steps/step-03-competitive-landscape.md +0 -197
- package/skills/ultra-research/steps/step-04-product-strategy.md +0 -196
- package/skills/ultra-research/steps/step-05-assumptions-validation.md +0 -234
- package/skills/ultra-research/steps/step-10-user-personas.md +0 -169
- package/skills/ultra-research/steps/step-11-user-scenarios.md +0 -181
- package/skills/ultra-research/steps/step-20-user-stories.md +0 -156
- package/skills/ultra-research/steps/step-21-features-scope.md +0 -157
- package/skills/ultra-research/steps/step-22-success-metrics.md +0 -195
- package/skills/ultra-research/steps/step-30-architecture-context.md +0 -154
- package/skills/ultra-research/steps/step-31-solution-strategy.md +0 -172
- package/skills/ultra-research/steps/step-32-building-blocks.md +0 -188
- package/skills/ultra-research/steps/step-40-deployment.md +0 -123
- package/skills/ultra-research/steps/step-41-quality-risks.md +0 -135
- package/skills/ultra-research/steps/step-99-synthesis.md +0 -188
- package/skills/ultra-review/scripts/review_verdict_update.py +0 -99
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
# Step 05: Assumptions & Validation Plan
|
|
2
|
-
|
|
3
|
-
## MANDATORY EXECUTION RULES
|
|
4
|
-
|
|
5
|
-
- EXTRACT assumptions from ALL previous steps (00-04) — not just the obvious ones
|
|
6
|
-
- PRIORITIZE by Impact × Uncertainty — focus on "leap of faith" assumptions
|
|
7
|
-
- DESIGN cheap, fast experiments — not "build it and see"
|
|
8
|
-
- WRITE output to spec file BEFORE presenting to user
|
|
9
|
-
- ALL output in English (spec files); conversation in Chinese
|
|
10
|
-
|
|
11
|
-
## PREREQUISITES
|
|
12
|
-
|
|
13
|
-
- Steps 00-04 completed with [C]
|
|
14
|
-
- `.ultra/specs/discovery.md` §0-4 exist
|
|
15
|
-
|
|
16
|
-
## CONTEXT BOUNDARIES
|
|
17
|
-
|
|
18
|
-
- Focus: What are we assuming? What's riskiest? How do we validate cheaply?
|
|
19
|
-
- This is the LAST step of Round 0 — it synthesizes everything discovered so far
|
|
20
|
-
- After this step, user decides: proceed to Round 1 or investigate further
|
|
21
|
-
- Based on Alberto Savoia (Pretotyping) and Marty Cagan methodologies
|
|
22
|
-
|
|
23
|
-
## SEARCH STRATEGY (MANDATORY)
|
|
24
|
-
|
|
25
|
-
Execute these web searches:
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
Search: "{{product_domain}} validation methods pretotype MVP"
|
|
29
|
-
Search: "{{product_domain}} common startup mistakes failed assumptions"
|
|
30
|
-
Search: "landing page test fake door validation {{product_domain}}"
|
|
31
|
-
Search: "{{product_domain}} customer interview validation techniques"
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## EXECUTION SEQUENCE
|
|
35
|
-
|
|
36
|
-
### 1. Extract Assumptions from Previous Steps
|
|
37
|
-
|
|
38
|
-
Review §0-4 and extract assumptions across 5 categories:
|
|
39
|
-
|
|
40
|
-
| Category | Source | What to look for |
|
|
41
|
-
|----------|--------|-----------------|
|
|
42
|
-
| **Value** | §0, §1 | Will users actually want this? |
|
|
43
|
-
| **Usability** | §1 | Can users figure it out without help? |
|
|
44
|
-
| **Feasibility** | §1 (solutions) | Can we build it with current technology? |
|
|
45
|
-
| **Viability** | §2 | Does the business case work at these numbers? |
|
|
46
|
-
| **Go-to-Market** | §3, §4 | Can we reach and convert our target users? |
|
|
47
|
-
|
|
48
|
-
### 2. Prioritize Assumptions
|
|
49
|
-
|
|
50
|
-
Map each assumption on Impact × Uncertainty:
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
High Impact
|
|
54
|
-
│
|
|
55
|
-
VALIDATE FIRST ─────┼───── MONITOR
|
|
56
|
-
(Leap of Faith) │ (Important but clear)
|
|
57
|
-
│
|
|
58
|
-
Low Uncertainty ─────┼───── High Uncertainty
|
|
59
|
-
│
|
|
60
|
-
IGNORE ─────────────┼───── INVESTIGATE
|
|
61
|
-
(Low stakes) │ (Uncertain but low impact)
|
|
62
|
-
│
|
|
63
|
-
Low Impact
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Focus on "Leap of Faith" quadrant: **High Impact + High Uncertainty**
|
|
67
|
-
|
|
68
|
-
### 3. Design Validation Experiments
|
|
69
|
-
|
|
70
|
-
For top 3-5 leap-of-faith assumptions, design cheap, fast experiments:
|
|
71
|
-
|
|
72
|
-
**Experiment Design Framework:**
|
|
73
|
-
|
|
74
|
-
| Element | Description |
|
|
75
|
-
|---------|-------------|
|
|
76
|
-
| Assumption | What exactly are we assuming? |
|
|
77
|
-
| Category | Value / Usability / Feasibility / Viability / GTM |
|
|
78
|
-
| Method | How will we test this? |
|
|
79
|
-
| Success criteria | What result validates the assumption? |
|
|
80
|
-
| Failure criteria | What result invalidates it? |
|
|
81
|
-
| Effort | Hours/days to execute |
|
|
82
|
-
| Timeline | When can we have results? |
|
|
83
|
-
|
|
84
|
-
**Preferred Methods** (cheapest first):
|
|
85
|
-
1. **Data analysis**: Existing data that proves/disproves the assumption
|
|
86
|
-
2. **Customer interviews**: 5-10 targeted conversations
|
|
87
|
-
3. **Fake door test**: Landing page with sign-up / "notify me" button
|
|
88
|
-
4. **Concierge MVP**: Manually deliver the value to 3-5 users
|
|
89
|
-
5. **Pretotype**: Mechanical Turk version of the product
|
|
90
|
-
6. **Prototype**: Clickable mockup tested with real users
|
|
91
|
-
7. **MVP**: Minimum viable version with real functionality
|
|
92
|
-
|
|
93
|
-
### 4. Define Decision Framework
|
|
94
|
-
|
|
95
|
-
For each experiment:
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
If experiment SUCCEEDS → [Next action]
|
|
99
|
-
If experiment FAILS → [Pivot / Investigate / Kill]
|
|
100
|
-
If results are AMBIGUOUS → [How to get clarity]
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### 5. Write Output
|
|
104
|
-
|
|
105
|
-
**WRITE IMMEDIATELY** to `.ultra/specs/discovery.md` §5:
|
|
106
|
-
|
|
107
|
-
```markdown
|
|
108
|
-
## §5 Key Assumptions & Validation Plan
|
|
109
|
-
|
|
110
|
-
### Assumption Inventory
|
|
111
|
-
|
|
112
|
-
| # | Assumption | Category | Impact | Uncertainty | Priority |
|
|
113
|
-
|---|-----------|----------|--------|-------------|----------|
|
|
114
|
-
| A1 | [Statement] | Value | High | High | **Validate First** |
|
|
115
|
-
| A2 | [Statement] | Viability | High | High | **Validate First** |
|
|
116
|
-
| A3 | [Statement] | GTM | High | Medium | **Validate First** |
|
|
117
|
-
| A4 | [Statement] | Feasibility | Medium | High | Investigate |
|
|
118
|
-
| A5 | [Statement] | Usability | Medium | Medium | Monitor |
|
|
119
|
-
| A6 | [Statement] | Value | Low | Low | Ignore |
|
|
120
|
-
|
|
121
|
-
### Leap-of-Faith Assumptions (Top 3-5)
|
|
122
|
-
|
|
123
|
-
#### A1: [Assumption Statement]
|
|
124
|
-
- **Category**: [Value / Viability / GTM / Feasibility / Usability]
|
|
125
|
-
- **Why it matters**: [What happens if this is wrong]
|
|
126
|
-
- **Current evidence**: [What we know from steps 00-04]
|
|
127
|
-
- **Evidence gap**: [What we don't know]
|
|
128
|
-
|
|
129
|
-
**Validation Experiment:**
|
|
130
|
-
- **Method**: [Specific method]
|
|
131
|
-
- **Success criteria**: [Measurable outcome that validates]
|
|
132
|
-
- **Failure criteria**: [Measurable outcome that invalidates]
|
|
133
|
-
- **Effort**: [Hours/days]
|
|
134
|
-
- **Timeline**: [When results expected]
|
|
135
|
-
|
|
136
|
-
**Decision Framework:**
|
|
137
|
-
- ✅ If validated → [Proceed to Round 1]
|
|
138
|
-
- ❌ If invalidated → [Pivot to X / Investigate Y / Kill]
|
|
139
|
-
- ⚠️ If ambiguous → [Additional experiment Z]
|
|
140
|
-
|
|
141
|
-
#### A2: [Assumption Statement]
|
|
142
|
-
[Same structure]
|
|
143
|
-
|
|
144
|
-
#### A3: [Assumption Statement]
|
|
145
|
-
[Same structure]
|
|
146
|
-
|
|
147
|
-
### Validation Roadmap
|
|
148
|
-
|
|
149
|
-
| Week | Experiment | Assumption | Expected Result |
|
|
150
|
-
|------|-----------|-----------|----------------|
|
|
151
|
-
| 1 | [Experiment 1] | A1 | [What we'll learn] |
|
|
152
|
-
| 1-2 | [Experiment 2] | A2 | [What we'll learn] |
|
|
153
|
-
| 2-3 | [Experiment 3] | A3 | [What we'll learn] |
|
|
154
|
-
|
|
155
|
-
### Round 0 Summary
|
|
156
|
-
|
|
157
|
-
**Product Discovery Confidence**:
|
|
158
|
-
- **Problem validation**: [X]% — [One-line summary]
|
|
159
|
-
- **Opportunity space**: [X]% — [One-line summary]
|
|
160
|
-
- **Market size**: [X]% — [One-line summary]
|
|
161
|
-
- **Competitive position**: [X]% — [One-line summary]
|
|
162
|
-
- **Strategy clarity**: [X]% — [One-line summary]
|
|
163
|
-
- **Overall R0 confidence**: [X]%
|
|
164
|
-
|
|
165
|
-
**Recommendation**: [Proceed to Round 1 / Validate assumptions first / Pivot]
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### 6. Write Round 0 Research Report
|
|
169
|
-
|
|
170
|
-
**WRITE** to `.ultra/docs/research/product-discovery-{date}.md`:
|
|
171
|
-
|
|
172
|
-
```markdown
|
|
173
|
-
# Round 0: Product Discovery & Strategy
|
|
174
|
-
|
|
175
|
-
> **Confidence**: [X]%
|
|
176
|
-
> **Steps completed**: 00-05
|
|
177
|
-
> **Completed**: [date]
|
|
178
|
-
|
|
179
|
-
## Key Findings
|
|
180
|
-
[3-5 bullet points of most important discoveries]
|
|
181
|
-
|
|
182
|
-
## Decisions Made
|
|
183
|
-
[Strategic choices and their rationale]
|
|
184
|
-
|
|
185
|
-
## Open Questions
|
|
186
|
-
[What remains uncertain]
|
|
187
|
-
|
|
188
|
-
## Assumptions to Validate
|
|
189
|
-
[Top 3 from §5]
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### 7. Present to User and Gate
|
|
193
|
-
|
|
194
|
-
Show the complete Round 0 summary. Highlight:
|
|
195
|
-
- The top 3 leap-of-faith assumptions
|
|
196
|
-
- Overall confidence level
|
|
197
|
-
- Recommendation (proceed / validate / pivot)
|
|
198
|
-
|
|
199
|
-
```
|
|
200
|
-
[C] Continue — Proceed to Round 1 (User & Scenario Discovery)
|
|
201
|
-
[V] Validate — Pause to run validation experiments before continuing
|
|
202
|
-
[P] Pivot — Rethink the product direction based on findings
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**HALT — wait for user response before proceeding.**
|
|
206
|
-
|
|
207
|
-
### 8. Handle Response
|
|
208
|
-
|
|
209
|
-
- **[C]**: Load next step: `./step-10-user-personas.md`
|
|
210
|
-
- **[V]**: Help design validation experiments in detail, then re-present gate when done
|
|
211
|
-
- **[P]**: Restart from step-00 with revised direction
|
|
212
|
-
|
|
213
|
-
## SUCCESS METRICS
|
|
214
|
-
|
|
215
|
-
- Assumptions extracted from ALL previous steps (not just surface-level)
|
|
216
|
-
- Each assumption categorized and prioritized
|
|
217
|
-
- Top 3-5 have detailed validation experiments
|
|
218
|
-
- Each experiment has clear success/failure criteria
|
|
219
|
-
- Decision framework defined for each outcome
|
|
220
|
-
- Round 0 research report written
|
|
221
|
-
- Output written to discovery.md §5
|
|
222
|
-
|
|
223
|
-
## FAILURE MODES
|
|
224
|
-
|
|
225
|
-
- Only extracting obvious assumptions (missing viability, GTM)
|
|
226
|
-
- Designing expensive experiments ("build an MVP") when cheaper options exist
|
|
227
|
-
- No clear success/failure criteria for experiments
|
|
228
|
-
- Missing the decision framework (what do we DO with the results?)
|
|
229
|
-
- Overly optimistic confidence assessment
|
|
230
|
-
- Not writing both spec file AND research report
|
|
231
|
-
|
|
232
|
-
## NEXT STEP
|
|
233
|
-
|
|
234
|
-
After user selects [C], read and follow: `./step-10-user-personas.md`
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
# Step 10: User Personas
|
|
2
|
-
|
|
3
|
-
## MANDATORY EXECUTION RULES
|
|
4
|
-
|
|
5
|
-
- WEB SEARCH REQUIRED — validate personas against real user research data
|
|
6
|
-
- DEFINE 2-3 PERSONAS — not 1 (too narrow), not 5+ (too diluted)
|
|
7
|
-
- PERSONAS ARE ABOUT GOALS AND PAIN POINTS — not demographics
|
|
8
|
-
- CONNECT to step-00 (Q3: Desperate Specificity) and step-01 (Opportunities)
|
|
9
|
-
- WRITE output to spec file BEFORE presenting to user
|
|
10
|
-
- ALL output in English (spec files); conversation in Chinese
|
|
11
|
-
|
|
12
|
-
## PREREQUISITES
|
|
13
|
-
|
|
14
|
-
- Round 0 completed (steps 00-05) with [C], OR user chose "Feature Only" starting at step-10
|
|
15
|
-
- `.ultra/specs/product.md` exists
|
|
16
|
-
|
|
17
|
-
## CONTEXT BOUNDARIES
|
|
18
|
-
|
|
19
|
-
- Focus: WHO are we building for? What drives them? What blocks them?
|
|
20
|
-
- Personas represent real archetypes, not fictional characters
|
|
21
|
-
- Each persona must connect to prioritized opportunities from step-01
|
|
22
|
-
- This is Round 1 start — user scenarios follow in step-11
|
|
23
|
-
|
|
24
|
-
## SEARCH STRATEGY (MANDATORY)
|
|
25
|
-
|
|
26
|
-
Execute these web searches in parallel:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
Search: "{{product_domain}} user persona research"
|
|
30
|
-
Search: "{{product_domain}} target audience profile behavior"
|
|
31
|
-
Search: "{{product_domain}} user needs pain points survey"
|
|
32
|
-
Search: "{{product_domain}} jobs to be done customer segment"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## EXECUTION SEQUENCE
|
|
36
|
-
|
|
37
|
-
### 1. Gather User Context
|
|
38
|
-
|
|
39
|
-
Ask user via AskUserQuestion:
|
|
40
|
-
"Based on our discovery work, who are the 2-3 types of people who would use this most? What do you already know about them?"
|
|
41
|
-
|
|
42
|
-
Cross-reference with:
|
|
43
|
-
- Step-00 §0: Target User Profile
|
|
44
|
-
- Step-01 §1: Prioritized Opportunities
|
|
45
|
-
- Step-04 §4: Target Segments
|
|
46
|
-
|
|
47
|
-
### 2. Research Real User Behavior
|
|
48
|
-
|
|
49
|
-
For each potential persona, search for:
|
|
50
|
-
- How they currently solve the problem (workflows, tools)
|
|
51
|
-
- What frustrates them most (forums, reviews, social media)
|
|
52
|
-
- What motivates their work (career goals, KPIs)
|
|
53
|
-
- How they discover and adopt new tools
|
|
54
|
-
|
|
55
|
-
### 3. Build Persona Profiles
|
|
56
|
-
|
|
57
|
-
For each persona (2-3), define:
|
|
58
|
-
|
|
59
|
-
| Element | What to capture |
|
|
60
|
-
|---------|----------------|
|
|
61
|
-
| Name & Role | Descriptive title, not a real name |
|
|
62
|
-
| Context | Where they work, team size, industry |
|
|
63
|
-
| Goals | What they're trying to achieve (2-3) |
|
|
64
|
-
| Pain points | What blocks them (2-3, connected to opportunities) |
|
|
65
|
-
| Current workflow | How they solve the problem today |
|
|
66
|
-
| Success metric | How THEY measure their own success |
|
|
67
|
-
| Adoption trigger | What would make them try a new solution |
|
|
68
|
-
| Objections | Why they might NOT adopt (barriers) |
|
|
69
|
-
|
|
70
|
-
### 4. Write Output
|
|
71
|
-
|
|
72
|
-
**WRITE IMMEDIATELY** to `.ultra/specs/product.md` §1-2:
|
|
73
|
-
|
|
74
|
-
```markdown
|
|
75
|
-
## §1 Problem Statement
|
|
76
|
-
|
|
77
|
-
### Core Problem
|
|
78
|
-
[One paragraph describing the problem, grounded in step-00 validation]
|
|
79
|
-
|
|
80
|
-
### Who It Affects
|
|
81
|
-
[Brief overview connecting problem to specific user types]
|
|
82
|
-
|
|
83
|
-
### Current Impact
|
|
84
|
-
- **Time cost**: [Hours/week wasted on workarounds]
|
|
85
|
-
- **Money cost**: [$ lost to inefficiency]
|
|
86
|
-
- **Opportunity cost**: [What they can't do because of this problem]
|
|
87
|
-
|
|
88
|
-
## §2 User Personas
|
|
89
|
-
|
|
90
|
-
### Persona 1: [Descriptive Name] (Primary)
|
|
91
|
-
|
|
92
|
-
**Role**: [Job title / context]
|
|
93
|
-
**Context**: [Where they work, team dynamics, industry]
|
|
94
|
-
|
|
95
|
-
**Goals**:
|
|
96
|
-
1. [Primary goal — what gets them promoted]
|
|
97
|
-
2. [Secondary goal — what they care about daily]
|
|
98
|
-
3. [Tertiary goal — nice to have]
|
|
99
|
-
|
|
100
|
-
**Pain Points**:
|
|
101
|
-
1. [Pain 1] — Connects to Opportunity [O#] from §1
|
|
102
|
-
2. [Pain 2] — Connects to Opportunity [O#] from §1
|
|
103
|
-
3. [Pain 3] — Source: [URL or user quote]
|
|
104
|
-
|
|
105
|
-
**Current Workflow**:
|
|
106
|
-
> [Step-by-step description of how they solve this today]
|
|
107
|
-
> Tools used: [List of current tools/processes]
|
|
108
|
-
> Time spent: [X hours/week]
|
|
109
|
-
|
|
110
|
-
**Success Metric**: [How they measure their own success]
|
|
111
|
-
**Adoption Trigger**: [What would make them try our solution]
|
|
112
|
-
**Objections**: [Why they might resist — e.g., "too busy to learn new tool"]
|
|
113
|
-
|
|
114
|
-
### Persona 2: [Descriptive Name] (Secondary)
|
|
115
|
-
[Same structure]
|
|
116
|
-
|
|
117
|
-
### Persona 3: [Descriptive Name] (Tertiary — optional)
|
|
118
|
-
[Same structure]
|
|
119
|
-
|
|
120
|
-
### Persona Prioritization
|
|
121
|
-
|
|
122
|
-
| Persona | Urgency | Willingness to Pay | Reachability | Priority |
|
|
123
|
-
|---------|---------|-------------------|-------------|----------|
|
|
124
|
-
| [P1] | High | High | Medium | **Primary** |
|
|
125
|
-
| [P2] | Medium | Medium | High | **Secondary** |
|
|
126
|
-
| [P3] | Low | Low | High | **Tertiary** |
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### 5. Present to User and Gate
|
|
130
|
-
|
|
131
|
-
Show the Persona profiles. Ask user to validate:
|
|
132
|
-
- Do these feel like real people they know?
|
|
133
|
-
- Is anything missing from the profiles?
|
|
134
|
-
- Is the prioritization correct?
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
[C] Continue — Personas validated, proceed to User Scenarios
|
|
138
|
-
[R] Revise — Adjust persona details or prioritization
|
|
139
|
-
[A] Add — Include an additional persona
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
**HALT — wait for user response before proceeding.**
|
|
143
|
-
|
|
144
|
-
### 6. Handle Response
|
|
145
|
-
|
|
146
|
-
- **[C]**: Load next step: `./step-11-user-scenarios.md`
|
|
147
|
-
- **[R]**: Revise personas, update product.md §1-2, re-present
|
|
148
|
-
- **[A]**: Add persona (max 3 total), update, re-present
|
|
149
|
-
|
|
150
|
-
## SUCCESS METRICS
|
|
151
|
-
|
|
152
|
-
- 2-3 personas defined with goals, pain points, and current workflows
|
|
153
|
-
- Each persona connects to opportunities from step-01
|
|
154
|
-
- Personas grounded in web research, not pure imagination
|
|
155
|
-
- Clear prioritization with rationale
|
|
156
|
-
- Output written to product.md §1-2
|
|
157
|
-
|
|
158
|
-
## FAILURE MODES
|
|
159
|
-
|
|
160
|
-
- Demographic-only personas ("25-35 year old male in tech")
|
|
161
|
-
- Too many personas (>3 dilutes focus)
|
|
162
|
-
- Pain points not connected to validated opportunities
|
|
163
|
-
- No current workflow description
|
|
164
|
-
- Missing adoption triggers and objections
|
|
165
|
-
- Not writing output before presenting to user
|
|
166
|
-
|
|
167
|
-
## NEXT STEP
|
|
168
|
-
|
|
169
|
-
After user selects [C], read and follow: `./step-11-user-scenarios.md`
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
# Step 11: User Scenarios
|
|
2
|
-
|
|
3
|
-
## MANDATORY EXECUTION RULES
|
|
4
|
-
|
|
5
|
-
- DEFINE 3-5 SCENARIOS — each with trigger, flow, and outcome
|
|
6
|
-
- SCENARIOS ARE USER JOURNEYS — not feature lists
|
|
7
|
-
- CONNECT each scenario to a specific persona from step-10
|
|
8
|
-
- INCLUDE the emotional arc — frustration → discovery → relief
|
|
9
|
-
- WRITE output to spec file BEFORE presenting to user
|
|
10
|
-
- ALL output in English (spec files); conversation in Chinese
|
|
11
|
-
|
|
12
|
-
## PREREQUISITES
|
|
13
|
-
|
|
14
|
-
- Step 10 (User Personas) completed with [C]
|
|
15
|
-
- `.ultra/specs/product.md` §1-2 exist
|
|
16
|
-
|
|
17
|
-
## CONTEXT BOUNDARIES
|
|
18
|
-
|
|
19
|
-
- Focus: In what situations do users encounter this problem? What's the journey?
|
|
20
|
-
- Scenarios describe WHEN and HOW users interact, not WHAT the product does
|
|
21
|
-
- Each scenario should be a story the user can picture happening
|
|
22
|
-
- Prioritize scenarios by frequency and pain severity
|
|
23
|
-
|
|
24
|
-
## EXECUTION SEQUENCE
|
|
25
|
-
|
|
26
|
-
### 1. Identify Key Scenarios
|
|
27
|
-
|
|
28
|
-
For each persona from step-10, ask:
|
|
29
|
-
- What triggers them to need a solution? (the "aha" moment)
|
|
30
|
-
- What's the most common situation? (daily/weekly use)
|
|
31
|
-
- What's the most painful situation? (highest frustration)
|
|
32
|
-
- What's the most valuable situation? (highest ROI)
|
|
33
|
-
|
|
34
|
-
Ask user via AskUserQuestion:
|
|
35
|
-
"For [Primary Persona], what's the most common situation where they hit this problem? Walk me through a typical day."
|
|
36
|
-
|
|
37
|
-
### 2. Map Scenario Details
|
|
38
|
-
|
|
39
|
-
For each scenario (3-5), capture:
|
|
40
|
-
|
|
41
|
-
| Element | Description |
|
|
42
|
-
|---------|-------------|
|
|
43
|
-
| Trigger | What event causes the user to need a solution? |
|
|
44
|
-
| Context | Where are they? What device? What time pressure? |
|
|
45
|
-
| Current flow | How they handle it today (the painful way) |
|
|
46
|
-
| Desired flow | How they WISH they could handle it |
|
|
47
|
-
| Success outcome | What does "done well" look like? |
|
|
48
|
-
| Failure outcome | What happens if they fail? |
|
|
49
|
-
| Frequency | How often does this scenario occur? |
|
|
50
|
-
| Emotional arc | Frustration → Action → Resolution |
|
|
51
|
-
|
|
52
|
-
### 3. Prioritize Scenarios
|
|
53
|
-
|
|
54
|
-
Score by:
|
|
55
|
-
- **Frequency** (1-5): How often does this happen?
|
|
56
|
-
- **Pain severity** (1-5): How painful is the current experience?
|
|
57
|
-
- **Value** (1-5): How much value does solving this create?
|
|
58
|
-
|
|
59
|
-
Priority Score = Frequency × Pain × Value
|
|
60
|
-
|
|
61
|
-
### 4. Write Output
|
|
62
|
-
|
|
63
|
-
**WRITE IMMEDIATELY** to `.ultra/specs/product.md` §3:
|
|
64
|
-
|
|
65
|
-
```markdown
|
|
66
|
-
## §3 User Scenarios
|
|
67
|
-
|
|
68
|
-
### Scenario Overview
|
|
69
|
-
|
|
70
|
-
| # | Scenario | Persona | Frequency | Pain | Value | Score |
|
|
71
|
-
|---|----------|---------|-----------|------|-------|-------|
|
|
72
|
-
| S1 | [Name] | [P1] | 5 | 4 | 5 | 100 |
|
|
73
|
-
| S2 | [Name] | [P1] | 4 | 5 | 4 | 80 |
|
|
74
|
-
| S3 | [Name] | [P2] | 3 | 4 | 4 | 48 |
|
|
75
|
-
| S4 | [Name] | [P2] | 2 | 3 | 3 | 18 |
|
|
76
|
-
|
|
77
|
-
### Scenario 1: [Descriptive Name] ⭐ Primary
|
|
78
|
-
|
|
79
|
-
**Persona**: [Persona Name]
|
|
80
|
-
**Frequency**: [Daily / Weekly / Monthly]
|
|
81
|
-
|
|
82
|
-
**Trigger**: [What event causes this scenario]
|
|
83
|
-
**Context**: [Where, when, device, time pressure]
|
|
84
|
-
|
|
85
|
-
**Current Flow** (painful):
|
|
86
|
-
1. [Step 1 — what they do today]
|
|
87
|
-
2. [Step 2 — where friction occurs]
|
|
88
|
-
3. [Step 3 — workaround they use]
|
|
89
|
-
4. [Step 4 — outcome and time wasted]
|
|
90
|
-
|
|
91
|
-
> 💬 *"[User quote or typical complaint that captures the frustration]"*
|
|
92
|
-
|
|
93
|
-
**Desired Flow** (with our product):
|
|
94
|
-
1. [Step 1 — trigger detected]
|
|
95
|
-
2. [Step 2 — streamlined action]
|
|
96
|
-
3. [Step 3 — fast resolution]
|
|
97
|
-
4. [Step 4 — outcome achieved in less time]
|
|
98
|
-
|
|
99
|
-
**Success Outcome**: [What "done well" looks like — specific and measurable]
|
|
100
|
-
**Failure Outcome**: [What happens if they fail — consequences]
|
|
101
|
-
**Emotional Arc**: [Frustration with X] → [Discovery of solution] → [Relief / satisfaction]
|
|
102
|
-
|
|
103
|
-
### Scenario 2: [Descriptive Name]
|
|
104
|
-
[Same structure]
|
|
105
|
-
|
|
106
|
-
### Scenario 3: [Descriptive Name]
|
|
107
|
-
[Same structure]
|
|
108
|
-
|
|
109
|
-
### Round 1 Summary
|
|
110
|
-
|
|
111
|
-
**User & Scenario Discovery Confidence**:
|
|
112
|
-
- **Persona accuracy**: [X]% — [One-line assessment]
|
|
113
|
-
- **Scenario coverage**: [X]% — [One-line assessment]
|
|
114
|
-
- **Overall R1 confidence**: [X]%
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 5. Write Round 1 Research Report
|
|
118
|
-
|
|
119
|
-
**WRITE** to `.ultra/docs/research/user-scenario-{date}.md`:
|
|
120
|
-
|
|
121
|
-
```markdown
|
|
122
|
-
# Round 1: User & Scenario Discovery
|
|
123
|
-
|
|
124
|
-
> **Confidence**: [X]%
|
|
125
|
-
> **Steps completed**: 10-11
|
|
126
|
-
> **Completed**: [date]
|
|
127
|
-
|
|
128
|
-
## Key Findings
|
|
129
|
-
[3-5 bullet points]
|
|
130
|
-
|
|
131
|
-
## Personas Defined
|
|
132
|
-
[Names and one-line descriptions]
|
|
133
|
-
|
|
134
|
-
## Scenarios Prioritized
|
|
135
|
-
[Top 3 with scores]
|
|
136
|
-
|
|
137
|
-
## Surprises
|
|
138
|
-
[What was unexpected]
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### 6. Present to User and Gate
|
|
142
|
-
|
|
143
|
-
Show the User Scenarios summary. Ask:
|
|
144
|
-
- Do these scenarios feel realistic?
|
|
145
|
-
- Is anything missing from the journey?
|
|
146
|
-
- Is the prioritization right?
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
[C] Continue — Scenarios validated, proceed to Round 2 (Feature Definition)
|
|
150
|
-
[R] Revise — Adjust scenario details or prioritization
|
|
151
|
-
[A] Add — Include additional scenario
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**HALT — wait for user response before proceeding.**
|
|
155
|
-
|
|
156
|
-
### 7. Handle Response
|
|
157
|
-
|
|
158
|
-
- **[C]**: Load next step: `./step-20-user-stories.md`
|
|
159
|
-
- **[R]**: Revise scenarios, update product.md §3, re-present
|
|
160
|
-
- **[A]**: Add scenario (max 5 total), update, re-present
|
|
161
|
-
|
|
162
|
-
## SUCCESS METRICS
|
|
163
|
-
|
|
164
|
-
- 3-5 scenarios defined with full detail
|
|
165
|
-
- Each scenario connected to a persona
|
|
166
|
-
- Current flow AND desired flow documented
|
|
167
|
-
- Scenarios prioritized by Frequency × Pain × Value
|
|
168
|
-
- Round 1 research report written
|
|
169
|
-
- Output written to product.md §3
|
|
170
|
-
|
|
171
|
-
## FAILURE MODES
|
|
172
|
-
|
|
173
|
-
- Scenarios that describe features instead of user journeys
|
|
174
|
-
- Missing the "current flow" (how users cope today)
|
|
175
|
-
- No emotional arc (scenarios feel clinical, not human)
|
|
176
|
-
- All scenarios for one persona (need coverage across personas)
|
|
177
|
-
- Not writing output before presenting to user
|
|
178
|
-
|
|
179
|
-
## NEXT STEP
|
|
180
|
-
|
|
181
|
-
After user selects [C], read and follow: `./step-20-user-stories.md`
|