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,156 +0,0 @@
|
|
|
1
|
-
# Step 20: User Stories & Acceptance Criteria
|
|
2
|
-
|
|
3
|
-
## MANDATORY EXECUTION RULES
|
|
4
|
-
|
|
5
|
-
- DERIVE stories from scenarios (step-11) — not invented from thin air
|
|
6
|
-
- EVERY story has acceptance criteria — no story ships without testable conditions
|
|
7
|
-
- USE standard format: "As a [persona], I want [action], so that [benefit]"
|
|
8
|
-
- PRIORITIZE using MoSCoW: Must / Should / Could / Won't
|
|
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 11 (User Scenarios) completed with [C]
|
|
15
|
-
- `.ultra/specs/product.md` §1-3 exist
|
|
16
|
-
|
|
17
|
-
## CONTEXT BOUNDARIES
|
|
18
|
-
|
|
19
|
-
- Focus: What specific capabilities does the product need?
|
|
20
|
-
- Stories must trace back to scenarios and personas
|
|
21
|
-
- This is about WHAT the product does, not HOW it's built
|
|
22
|
-
- Acceptance criteria must be testable and specific
|
|
23
|
-
|
|
24
|
-
## EXECUTION SEQUENCE
|
|
25
|
-
|
|
26
|
-
### 1. Extract Stories from Scenarios
|
|
27
|
-
|
|
28
|
-
For each scenario from step-11, decompose into user stories:
|
|
29
|
-
|
|
30
|
-
**Mapping**: Scenario → Stories
|
|
31
|
-
- S1 (highest priority scenario) → 3-5 stories
|
|
32
|
-
- S2 → 2-4 stories
|
|
33
|
-
- S3 → 2-3 stories
|
|
34
|
-
- Total: 8-15 stories for MVP
|
|
35
|
-
|
|
36
|
-
### 2. Write Stories with Acceptance Criteria
|
|
37
|
-
|
|
38
|
-
For each story:
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
As a [Persona Name],
|
|
42
|
-
I want [specific action],
|
|
43
|
-
so that [measurable benefit].
|
|
44
|
-
|
|
45
|
-
Acceptance Criteria:
|
|
46
|
-
- Given [context], when [action], then [expected result]
|
|
47
|
-
- Given [context], when [edge case], then [expected result]
|
|
48
|
-
- [Performance requirement if applicable]
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 3. Prioritize with MoSCoW
|
|
52
|
-
|
|
53
|
-
Discuss with user via AskUserQuestion:
|
|
54
|
-
"Here are the stories I've derived from our scenarios. For MVP, which are Must-Have vs Nice-to-Have?"
|
|
55
|
-
|
|
56
|
-
| Priority | Definition | Guidance |
|
|
57
|
-
|----------|-----------|---------|
|
|
58
|
-
| **Must** | Product is useless without this | Blocks primary scenario |
|
|
59
|
-
| **Should** | Important but workaround exists | Enhances primary scenario |
|
|
60
|
-
| **Could** | Nice to have if time allows | Supports secondary scenarios |
|
|
61
|
-
| **Won't** | Explicitly excluded for now | Out of scope (with rationale) |
|
|
62
|
-
|
|
63
|
-
### 4. Write Output
|
|
64
|
-
|
|
65
|
-
**WRITE IMMEDIATELY** to `.ultra/specs/product.md` §4:
|
|
66
|
-
|
|
67
|
-
```markdown
|
|
68
|
-
## §4 User Stories & Features
|
|
69
|
-
|
|
70
|
-
### Story Map Overview
|
|
71
|
-
|
|
72
|
-
| ID | Story | Persona | Scenario | Priority | Complexity |
|
|
73
|
-
|----|-------|---------|----------|----------|-----------|
|
|
74
|
-
| US-01 | [Short title] | [P1] | S1 | Must | [S/M/L] |
|
|
75
|
-
| US-02 | [Short title] | [P1] | S1 | Must | [S/M/L] |
|
|
76
|
-
| US-03 | [Short title] | [P1] | S2 | Must | [S/M/L] |
|
|
77
|
-
| US-04 | [Short title] | [P2] | S2 | Should | [S/M/L] |
|
|
78
|
-
| ... | ... | ... | ... | ... | ... |
|
|
79
|
-
|
|
80
|
-
### Must-Have Stories
|
|
81
|
-
|
|
82
|
-
#### US-01: [Title]
|
|
83
|
-
**As a** [Persona], **I want** [action], **so that** [benefit].
|
|
84
|
-
|
|
85
|
-
**Acceptance Criteria**:
|
|
86
|
-
- [ ] Given [context], when [action], then [result]
|
|
87
|
-
- [ ] Given [context], when [edge case], then [result]
|
|
88
|
-
- [ ] [Performance: response time < Xms]
|
|
89
|
-
|
|
90
|
-
**Traces to**: Scenario [S#], Opportunity [O#]
|
|
91
|
-
**Complexity**: [S/M/L] — [Brief rationale]
|
|
92
|
-
|
|
93
|
-
#### US-02: [Title]
|
|
94
|
-
[Same structure]
|
|
95
|
-
|
|
96
|
-
#### US-03: [Title]
|
|
97
|
-
[Same structure]
|
|
98
|
-
|
|
99
|
-
### Should-Have Stories
|
|
100
|
-
|
|
101
|
-
#### US-04: [Title]
|
|
102
|
-
[Same structure]
|
|
103
|
-
|
|
104
|
-
### Could-Have Stories
|
|
105
|
-
|
|
106
|
-
#### US-07: [Title]
|
|
107
|
-
[Same structure]
|
|
108
|
-
|
|
109
|
-
### Story Statistics
|
|
110
|
-
- **Total stories**: [N]
|
|
111
|
-
- **Must-have**: [N] ([X]%)
|
|
112
|
-
- **Should-have**: [N] ([X]%)
|
|
113
|
-
- **Could-have**: [N] ([X]%)
|
|
114
|
-
- **Traceability**: [X]% of stories trace to scenarios
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 5. Present to User and Gate
|
|
118
|
-
|
|
119
|
-
Show the User Stories summary. Ask:
|
|
120
|
-
- Are the Must-Have stories correct?
|
|
121
|
-
- Any stories missing?
|
|
122
|
-
- Are acceptance criteria testable?
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
[C] Continue — Stories validated, proceed to Features & Scope
|
|
126
|
-
[R] Revise — Adjust stories, priorities, or acceptance criteria
|
|
127
|
-
[A] Add — Include additional stories
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**HALT — wait for user response before proceeding.**
|
|
131
|
-
|
|
132
|
-
### 6. Handle Response
|
|
133
|
-
|
|
134
|
-
- **[C]**: Load next step: `./step-21-features-scope.md`
|
|
135
|
-
- **[R]**: Revise stories, update product.md §4, re-present
|
|
136
|
-
- **[A]**: Add stories, update, re-present
|
|
137
|
-
|
|
138
|
-
## SUCCESS METRICS
|
|
139
|
-
|
|
140
|
-
- 8-15 user stories derived from scenarios
|
|
141
|
-
- Every story has testable acceptance criteria
|
|
142
|
-
- MoSCoW prioritization applied with user input
|
|
143
|
-
- Stories trace back to scenarios and personas
|
|
144
|
-
- Output written to product.md §4
|
|
145
|
-
|
|
146
|
-
## FAILURE MODES
|
|
147
|
-
|
|
148
|
-
- Stories not connected to any scenario
|
|
149
|
-
- Acceptance criteria are vague ("it should work well")
|
|
150
|
-
- All stories are Must-Have (no real prioritization happened)
|
|
151
|
-
- Too many stories (>20 for MVP — scope creep)
|
|
152
|
-
- Not writing output before presenting to user
|
|
153
|
-
|
|
154
|
-
## NEXT STEP
|
|
155
|
-
|
|
156
|
-
After user selects [C], read and follow: `./step-21-features-scope.md`
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
# Step 21: Features & Scope Definition
|
|
2
|
-
|
|
3
|
-
## MANDATORY EXECUTION RULES
|
|
4
|
-
|
|
5
|
-
- EXPLICITLY DEFINE what is OUT of scope — this prevents scope creep
|
|
6
|
-
- GROUP stories into features — features are implementable units
|
|
7
|
-
- EVERY exclusion needs a RATIONALE — "not now" is not enough
|
|
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
|
-
- Step 20 (User Stories) completed with [C]
|
|
14
|
-
- `.ultra/specs/product.md` §1-4 exist
|
|
15
|
-
|
|
16
|
-
## CONTEXT BOUNDARIES
|
|
17
|
-
|
|
18
|
-
- Focus: Group stories into features, define scope boundaries
|
|
19
|
-
- Features are clusters of related stories that deliver a capability
|
|
20
|
-
- "Features Out" is as important as "Features In"
|
|
21
|
-
- Reference step-04 (Strategic Trade-offs) for scope decisions
|
|
22
|
-
|
|
23
|
-
## EXECUTION SEQUENCE
|
|
24
|
-
|
|
25
|
-
### 1. Group Stories into Features
|
|
26
|
-
|
|
27
|
-
Cluster related user stories into features:
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
Feature A: [Name]
|
|
31
|
-
├── US-01: [Story]
|
|
32
|
-
├── US-02: [Story]
|
|
33
|
-
└── US-03: [Story]
|
|
34
|
-
|
|
35
|
-
Feature B: [Name]
|
|
36
|
-
├── US-04: [Story]
|
|
37
|
-
└── US-05: [Story]
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Each feature should be:
|
|
41
|
-
- Independently valuable (delivers user value on its own)
|
|
42
|
-
- Estimable (can assess complexity)
|
|
43
|
-
- Testable (can verify it works end-to-end)
|
|
44
|
-
|
|
45
|
-
### 2. Define Scope Boundaries
|
|
46
|
-
|
|
47
|
-
For each potential feature, classify:
|
|
48
|
-
|
|
49
|
-
| Classification | Meaning |
|
|
50
|
-
|---------------|---------|
|
|
51
|
-
| **In scope (MVP)** | Must-have stories, ships in v1 |
|
|
52
|
-
| **In scope (v2)** | Should-have stories, planned for later |
|
|
53
|
-
| **Out of scope** | Won't build — with explicit rationale |
|
|
54
|
-
|
|
55
|
-
### 3. Document "Features Out"
|
|
56
|
-
|
|
57
|
-
For each excluded feature, document:
|
|
58
|
-
- What it is
|
|
59
|
-
- Why it's excluded (reference strategic trade-offs from step-04)
|
|
60
|
-
- When it might be reconsidered
|
|
61
|
-
- What users should do instead
|
|
62
|
-
|
|
63
|
-
This prevents:
|
|
64
|
-
- Future scope creep ("but we said we'd do X")
|
|
65
|
-
- Re-debating settled decisions
|
|
66
|
-
- Building things that conflict with strategy
|
|
67
|
-
|
|
68
|
-
### 4. Write Output
|
|
69
|
-
|
|
70
|
-
**WRITE IMMEDIATELY** to `.ultra/specs/product.md` §5:
|
|
71
|
-
|
|
72
|
-
```markdown
|
|
73
|
-
## §5 Feature Scope
|
|
74
|
-
|
|
75
|
-
### Features In (MVP)
|
|
76
|
-
|
|
77
|
-
#### Feature 1: [Name]
|
|
78
|
-
- **Description**: [What this feature does]
|
|
79
|
-
- **Stories**: US-01, US-02, US-03
|
|
80
|
-
- **User value**: [What user can do with this]
|
|
81
|
-
- **Priority**: Must-Have
|
|
82
|
-
- **Complexity**: [S/M/L]
|
|
83
|
-
|
|
84
|
-
#### Feature 2: [Name]
|
|
85
|
-
- **Description**: [What this feature does]
|
|
86
|
-
- **Stories**: US-04, US-05
|
|
87
|
-
- **User value**: [What user can do with this]
|
|
88
|
-
- **Priority**: Must-Have
|
|
89
|
-
- **Complexity**: [S/M/L]
|
|
90
|
-
|
|
91
|
-
#### Feature 3: [Name]
|
|
92
|
-
[Same structure]
|
|
93
|
-
|
|
94
|
-
### Features In (v2 — Planned)
|
|
95
|
-
|
|
96
|
-
#### Feature 4: [Name]
|
|
97
|
-
- **Description**: [What this feature does]
|
|
98
|
-
- **Stories**: US-07, US-08
|
|
99
|
-
- **Rationale for deferral**: [Why not MVP]
|
|
100
|
-
- **Trigger to build**: [When to reconsider]
|
|
101
|
-
|
|
102
|
-
### Features Out (Explicitly Excluded)
|
|
103
|
-
|
|
104
|
-
| Feature | Rationale | Reconsider When | Alternative |
|
|
105
|
-
|---------|-----------|----------------|-------------|
|
|
106
|
-
| [Feature X] | [Why excluded — reference strategy §4] | [Condition] | [What users do instead] |
|
|
107
|
-
| [Feature Y] | [Why excluded] | [Condition] | [Alternative] |
|
|
108
|
-
| [Feature Z] | [Why excluded] | [Condition] | [Alternative] |
|
|
109
|
-
|
|
110
|
-
### Scope Summary
|
|
111
|
-
- **MVP features**: [N] features, [N] stories
|
|
112
|
-
- **v2 features**: [N] features, [N] stories
|
|
113
|
-
- **Excluded features**: [N] features
|
|
114
|
-
- **Scope confidence**: [X]%
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 5. Present to User and Gate
|
|
118
|
-
|
|
119
|
-
Show the Feature Scope summary. Ask:
|
|
120
|
-
- Is the MVP scope right? Too big? Too small?
|
|
121
|
-
- Are the exclusions correct?
|
|
122
|
-
- Any missing features?
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
[C] Continue — Scope locked, proceed to Success Metrics
|
|
126
|
-
[R] Revise — Adjust feature grouping or scope boundaries
|
|
127
|
-
[E] Expand — Move something from v2 to MVP
|
|
128
|
-
[T] Trim — Move something from MVP to v2
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**HALT — wait for user response before proceeding.**
|
|
132
|
-
|
|
133
|
-
### 6. Handle Response
|
|
134
|
-
|
|
135
|
-
- **[C]**: Load next step: `./step-22-success-metrics.md`
|
|
136
|
-
- **[R]**: Revise features, update product.md §5, re-present
|
|
137
|
-
- **[E]/[T]**: Adjust scope, update, re-present
|
|
138
|
-
|
|
139
|
-
## SUCCESS METRICS
|
|
140
|
-
|
|
141
|
-
- Stories grouped into coherent features
|
|
142
|
-
- Clear MVP vs v2 scope boundary
|
|
143
|
-
- Every exclusion has a rationale and reconsideration trigger
|
|
144
|
-
- Features trace to user stories and scenarios
|
|
145
|
-
- Output written to product.md §5
|
|
146
|
-
|
|
147
|
-
## FAILURE MODES
|
|
148
|
-
|
|
149
|
-
- No "Features Out" section (everything is in scope)
|
|
150
|
-
- Features that don't map to any user stories
|
|
151
|
-
- Exclusion rationale is just "not now" (needs specific reason)
|
|
152
|
-
- MVP scope is too large (>5-7 features for a first version)
|
|
153
|
-
- Not writing output before presenting to user
|
|
154
|
-
|
|
155
|
-
## NEXT STEP
|
|
156
|
-
|
|
157
|
-
After user selects [C], read and follow: `./step-22-success-metrics.md`
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
# Step 22: Success Metrics
|
|
2
|
-
|
|
3
|
-
## MANDATORY EXECUTION RULES
|
|
4
|
-
|
|
5
|
-
- EVERY METRIC must have a specific numerical TARGET — not "improve X"
|
|
6
|
-
- INCLUDE both business AND user metrics
|
|
7
|
-
- DEFINE how each metric is MEASURED — not just what to measure
|
|
8
|
-
- BASELINE required — you can't improve what you haven't measured
|
|
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 21 (Features & Scope) completed with [C]
|
|
15
|
-
- `.ultra/specs/product.md` §1-5 exist
|
|
16
|
-
|
|
17
|
-
## CONTEXT BOUNDARIES
|
|
18
|
-
|
|
19
|
-
- Focus: How will we know if this product is succeeding?
|
|
20
|
-
- Metrics must be measurable, specific, and time-bound
|
|
21
|
-
- Connect metrics to strategic goals from step-04
|
|
22
|
-
- This is the LAST step of Round 2
|
|
23
|
-
|
|
24
|
-
## SEARCH STRATEGY (MANDATORY)
|
|
25
|
-
|
|
26
|
-
Execute these web searches:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
Search: "{{product_domain}} key metrics KPIs benchmarks"
|
|
30
|
-
Search: "{{product_domain}} SaaS metrics success benchmarks"
|
|
31
|
-
Search: "{{product_domain}} user engagement retention benchmarks"
|
|
32
|
-
Search: "{{product_domain}} north star metric examples"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## EXECUTION SEQUENCE
|
|
36
|
-
|
|
37
|
-
### 1. Define North Star Metric
|
|
38
|
-
|
|
39
|
-
Ask user via AskUserQuestion:
|
|
40
|
-
"What single metric best captures whether this product is delivering value? (e.g., 'Weekly active workflows completed', 'Time saved per user per week')"
|
|
41
|
-
|
|
42
|
-
The North Star Metric should:
|
|
43
|
-
- Reflect core value delivery
|
|
44
|
-
- Be leading (not lagging)
|
|
45
|
-
- Be actionable (team can influence it)
|
|
46
|
-
|
|
47
|
-
### 2. Define Business Metrics
|
|
48
|
-
|
|
49
|
-
| Metric | What to define |
|
|
50
|
-
|--------|---------------|
|
|
51
|
-
| Revenue/adoption targets | Month 1, 3, 6, 12 |
|
|
52
|
-
| Growth rate | MoM or WoW targets |
|
|
53
|
-
| Retention | Day 1, Day 7, Day 30 |
|
|
54
|
-
| Conversion | Free → Paid (if applicable) |
|
|
55
|
-
| Unit economics | CAC, LTV, LTV/CAC ratio |
|
|
56
|
-
|
|
57
|
-
Use web search benchmarks for realistic targets.
|
|
58
|
-
|
|
59
|
-
### 3. Define User Metrics
|
|
60
|
-
|
|
61
|
-
| Metric | What to define |
|
|
62
|
-
|--------|---------------|
|
|
63
|
-
| Task completion | Success rate for key scenarios |
|
|
64
|
-
| Time on task | vs baseline (current workflow) |
|
|
65
|
-
| User satisfaction | NPS or CSAT target |
|
|
66
|
-
| Feature adoption | % of users using key features |
|
|
67
|
-
| Error rate | Failure frequency |
|
|
68
|
-
|
|
69
|
-
### 4. Write Output
|
|
70
|
-
|
|
71
|
-
**WRITE IMMEDIATELY** to `.ultra/specs/product.md` §6:
|
|
72
|
-
|
|
73
|
-
```markdown
|
|
74
|
-
## §6 Success Metrics
|
|
75
|
-
|
|
76
|
-
### North Star Metric
|
|
77
|
-
- **Metric**: [Name]
|
|
78
|
-
- **Definition**: [Exactly what is measured]
|
|
79
|
-
- **Current baseline**: [Current state or industry benchmark]
|
|
80
|
-
- **Target**: [Specific number]
|
|
81
|
-
- **Timeline**: [When to achieve]
|
|
82
|
-
- **Measurement method**: [How to collect this data]
|
|
83
|
-
|
|
84
|
-
### Business Metrics
|
|
85
|
-
|
|
86
|
-
| Metric | Baseline | Target (M3) | Target (M6) | Target (M12) | How Measured |
|
|
87
|
-
|--------|----------|-------------|-------------|--------------|-------------|
|
|
88
|
-
| [Revenue/Users] | [N/A or current] | [Target] | [Target] | [Target] | [Method] |
|
|
89
|
-
| [Growth rate] | [Benchmark] | [Target] | [Target] | [Target] | [Method] |
|
|
90
|
-
| [Retention D30] | [Benchmark] | [Target] | [Target] | [Target] | [Method] |
|
|
91
|
-
| [Conversion] | [Benchmark] | [Target] | [Target] | [Target] | [Method] |
|
|
92
|
-
|
|
93
|
-
_Benchmark sources: [URLs]_
|
|
94
|
-
|
|
95
|
-
### User Metrics
|
|
96
|
-
|
|
97
|
-
| Metric | Baseline | Target | How Measured |
|
|
98
|
-
|--------|----------|--------|-------------|
|
|
99
|
-
| Task completion rate | [Current %] | [Target %] | [Method] |
|
|
100
|
-
| Time on task | [Current min] | [Target min] | [Method] |
|
|
101
|
-
| User satisfaction (NPS) | [Industry avg] | [Target] | [Survey] |
|
|
102
|
-
| Feature adoption | [N/A] | [Target %] | [Analytics] |
|
|
103
|
-
| Error rate | [Current %] | [Target %] | [Logging] |
|
|
104
|
-
|
|
105
|
-
### Metric Prioritization
|
|
106
|
-
|
|
107
|
-
| Priority | Metric | Why |
|
|
108
|
-
|----------|--------|-----|
|
|
109
|
-
| P0 (check daily) | [North Star] | [Core value signal] |
|
|
110
|
-
| P0 (check daily) | [Critical metric] | [Business health] |
|
|
111
|
-
| P1 (check weekly) | [Important metric] | [Growth signal] |
|
|
112
|
-
| P2 (check monthly) | [Supporting metric] | [Quality signal] |
|
|
113
|
-
|
|
114
|
-
### Anti-Metrics (What NOT to Optimize)
|
|
115
|
-
|
|
116
|
-
| Anti-Metric | Why Not | What It Could Sacrifice |
|
|
117
|
-
|------------|---------|------------------------|
|
|
118
|
-
| [e.g., Page views] | [Vanity metric] | [Could sacrifice quality for clicks] |
|
|
119
|
-
| [e.g., Time in app] | [Could mean confusion] | [Could sacrifice efficiency] |
|
|
120
|
-
|
|
121
|
-
### Round 2 Summary
|
|
122
|
-
|
|
123
|
-
**Feature Definition Confidence**:
|
|
124
|
-
- **Story completeness**: [X]% — [One-line assessment]
|
|
125
|
-
- **Scope clarity**: [X]% — [One-line assessment]
|
|
126
|
-
- **Metric measurability**: [X]% — [One-line assessment]
|
|
127
|
-
- **Overall R2 confidence**: [X]%
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### 5. Write Round 2 Research Report
|
|
131
|
-
|
|
132
|
-
**WRITE** to `.ultra/docs/research/feature-definition-{date}.md`:
|
|
133
|
-
|
|
134
|
-
```markdown
|
|
135
|
-
# Round 2: Feature Definition
|
|
136
|
-
|
|
137
|
-
> **Confidence**: [X]%
|
|
138
|
-
> **Steps completed**: 20-22
|
|
139
|
-
> **Completed**: [date]
|
|
140
|
-
|
|
141
|
-
## Key Findings
|
|
142
|
-
[3-5 bullet points]
|
|
143
|
-
|
|
144
|
-
## Stories Created
|
|
145
|
-
[Count by priority: Must/Should/Could]
|
|
146
|
-
|
|
147
|
-
## Scope Decisions
|
|
148
|
-
[Key inclusions and exclusions]
|
|
149
|
-
|
|
150
|
-
## Metrics Defined
|
|
151
|
-
[North Star + top 3 metrics]
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### 6. Present to User and Gate
|
|
155
|
-
|
|
156
|
-
Show the Success Metrics summary. Ask:
|
|
157
|
-
- Are the targets realistic?
|
|
158
|
-
- Is the North Star metric right?
|
|
159
|
-
- Any metrics missing?
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
[C] Continue — Metrics defined, proceed to Round 3 (Architecture Design)
|
|
163
|
-
[R] Revise — Adjust targets or metrics
|
|
164
|
-
[D] Discuss — Explore specific metric benchmarks
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
**HALT — wait for user response before proceeding.**
|
|
168
|
-
|
|
169
|
-
### 7. Handle Response
|
|
170
|
-
|
|
171
|
-
- **[C]**: Load next step: `./step-30-architecture-context.md`
|
|
172
|
-
- **[R]**: Revise metrics, update product.md §6, re-present
|
|
173
|
-
- **[D]**: Deep-dive specific benchmarks, then re-present gate
|
|
174
|
-
|
|
175
|
-
## SUCCESS METRICS
|
|
176
|
-
|
|
177
|
-
- North Star metric defined with baseline and target
|
|
178
|
-
- Business metrics have specific targets at M3/M6/M12
|
|
179
|
-
- User metrics have baselines and targets
|
|
180
|
-
- Benchmark sources cited from web search
|
|
181
|
-
- Anti-metrics defined (what NOT to optimize)
|
|
182
|
-
- Round 2 research report written
|
|
183
|
-
- Output written to product.md §6
|
|
184
|
-
|
|
185
|
-
## FAILURE MODES
|
|
186
|
-
|
|
187
|
-
- Metrics without specific targets ("improve retention")
|
|
188
|
-
- No baseline or benchmark for comparison
|
|
189
|
-
- Only business metrics, no user metrics (or vice versa)
|
|
190
|
-
- Unrealistic targets (100% retention, 0% error rate)
|
|
191
|
-
- Not writing output before presenting to user
|
|
192
|
-
|
|
193
|
-
## NEXT STEP
|
|
194
|
-
|
|
195
|
-
After user selects [C], read and follow: `./step-30-architecture-context.md`
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
# Step 30: Architecture Context
|
|
2
|
-
|
|
3
|
-
## MANDATORY EXECUTION RULES
|
|
4
|
-
|
|
5
|
-
- WEB SEARCH REQUIRED — verify technology claims against official docs
|
|
6
|
-
- USE Context7 MCP for framework/library documentation lookups
|
|
7
|
-
- ARCHITECTURE FOLLOWS PRODUCT — decisions must trace to product requirements
|
|
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
|
-
- Round 2 completed (steps 20-22) with [C], OR user chose "Architecture Change" starting at step-30
|
|
14
|
-
- `.ultra/specs/architecture.md` exists
|
|
15
|
-
|
|
16
|
-
## CONTEXT BOUNDARIES
|
|
17
|
-
|
|
18
|
-
- Focus: Quality goals, constraints, and system context (arc42 §1-3)
|
|
19
|
-
- Decisions must be grounded in product requirements from product.md
|
|
20
|
-
- This is about WHAT the system must achieve, not HOW to build it (that's step-31)
|
|
21
|
-
|
|
22
|
-
## SEARCH STRATEGY (MANDATORY)
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
Search: "{{product_domain}} architecture quality attributes"
|
|
26
|
-
Search: "{{product_domain}} system integration patterns"
|
|
27
|
-
Search: "{{product_domain}} technical constraints regulations"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Use Context7 MCP for specific framework/library documentation.
|
|
31
|
-
|
|
32
|
-
## EXECUTION SEQUENCE
|
|
33
|
-
|
|
34
|
-
### 1. Define Quality Goals
|
|
35
|
-
|
|
36
|
-
Derive from product.md §6 (Success Metrics) and user scenarios:
|
|
37
|
-
|
|
38
|
-
| Quality Attribute | Concrete Scenario | Priority |
|
|
39
|
-
|------------------|-------------------|----------|
|
|
40
|
-
| Performance | [e.g., "API response < 200ms for 95th percentile"] | [1-3] |
|
|
41
|
-
| Scalability | [e.g., "Handle 10K concurrent users"] | [1-3] |
|
|
42
|
-
| Security | [e.g., "SOC 2 compliance, encrypted at rest"] | [1-3] |
|
|
43
|
-
| Availability | [e.g., "99.9% uptime, < 5min recovery"] | [1-3] |
|
|
44
|
-
| Maintainability | [e.g., "New developer productive in < 1 week"] | [1-3] |
|
|
45
|
-
|
|
46
|
-
Ask user via AskUserQuestion: "Which quality attributes matter most? Performance? Security? Scalability?"
|
|
47
|
-
|
|
48
|
-
### 2. Identify Constraints
|
|
49
|
-
|
|
50
|
-
**Technical constraints**:
|
|
51
|
-
- Required platforms/browsers
|
|
52
|
-
- Mandatory integrations
|
|
53
|
-
- Technology restrictions (e.g., "must use Python for ML team compatibility")
|
|
54
|
-
|
|
55
|
-
**Organizational constraints**:
|
|
56
|
-
- Team size and skill profile
|
|
57
|
-
- Budget limitations
|
|
58
|
-
- Timeline constraints
|
|
59
|
-
|
|
60
|
-
**Regulatory constraints**:
|
|
61
|
-
- Data privacy (GDPR, CCPA)
|
|
62
|
-
- Industry regulations
|
|
63
|
-
- Compliance requirements
|
|
64
|
-
|
|
65
|
-
### 3. Map System Context
|
|
66
|
-
|
|
67
|
-
Identify all external systems and interfaces:
|
|
68
|
-
|
|
69
|
-
**Users**: Who interacts with the system?
|
|
70
|
-
**External systems**: What APIs, services, databases does it connect to?
|
|
71
|
-
**Data flows**: What data enters and leaves the system?
|
|
72
|
-
|
|
73
|
-
### 4. Write Output
|
|
74
|
-
|
|
75
|
-
**WRITE IMMEDIATELY** to `.ultra/specs/architecture.md` §1-3:
|
|
76
|
-
|
|
77
|
-
```markdown
|
|
78
|
-
## §1 Quality Goals
|
|
79
|
-
|
|
80
|
-
| Priority | Quality Attribute | Scenario | Metric |
|
|
81
|
-
|----------|------------------|----------|--------|
|
|
82
|
-
| 1 | [Attribute] | [Concrete scenario] | [Measurable target] |
|
|
83
|
-
| 2 | [Attribute] | [Concrete scenario] | [Measurable target] |
|
|
84
|
-
| 3 | [Attribute] | [Concrete scenario] | [Measurable target] |
|
|
85
|
-
|
|
86
|
-
## §2 Constraints
|
|
87
|
-
|
|
88
|
-
### Technical Constraints
|
|
89
|
-
| Constraint | Rationale | Impact |
|
|
90
|
-
|-----------|-----------|--------|
|
|
91
|
-
| [Constraint] | [Why this exists] | [What it limits] |
|
|
92
|
-
|
|
93
|
-
### Organizational Constraints
|
|
94
|
-
| Constraint | Rationale | Impact |
|
|
95
|
-
|-----------|-----------|--------|
|
|
96
|
-
| [Constraint] | [Why this exists] | [What it limits] |
|
|
97
|
-
|
|
98
|
-
### Regulatory Constraints
|
|
99
|
-
| Constraint | Rationale | Impact |
|
|
100
|
-
|-----------|-----------|--------|
|
|
101
|
-
| [Constraint] | [Why this exists] | [What it limits] |
|
|
102
|
-
|
|
103
|
-
## §3 System Context
|
|
104
|
-
|
|
105
|
-
### Context Diagram
|
|
106
|
-
|
|
107
|
-
**Users**:
|
|
108
|
-
- [User type 1]: [How they interact]
|
|
109
|
-
- [User type 2]: [How they interact]
|
|
110
|
-
|
|
111
|
-
**External Systems**:
|
|
112
|
-
| System | Direction | Data | Protocol | Notes |
|
|
113
|
-
|--------|-----------|------|----------|-------|
|
|
114
|
-
| [System A] | Inbound | [What data] | [REST/gRPC/etc] | [Notes] |
|
|
115
|
-
| [System B] | Outbound | [What data] | [Protocol] | [Notes] |
|
|
116
|
-
| [System C] | Bidirectional | [What data] | [Protocol] | [Notes] |
|
|
117
|
-
|
|
118
|
-
**Data Flows**:
|
|
119
|
-
- [User] → [System] → [External]: [Description of flow]
|
|
120
|
-
- [External] → [System] → [User]: [Description of flow]
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### 5. Present to User and Gate
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
[C] Continue — Context defined, proceed to Solution Strategy
|
|
127
|
-
[R] Revise — Adjust quality goals, constraints, or context
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**HALT — wait for user response before proceeding.**
|
|
131
|
-
|
|
132
|
-
### 6. Handle Response
|
|
133
|
-
|
|
134
|
-
- **[C]**: Load next step: `./step-31-solution-strategy.md`
|
|
135
|
-
- **[R]**: Revise, update architecture.md §1-3, re-present
|
|
136
|
-
|
|
137
|
-
## SUCCESS METRICS
|
|
138
|
-
|
|
139
|
-
- Quality goals are specific and measurable (not "good performance")
|
|
140
|
-
- Constraints identified across technical/organizational/regulatory
|
|
141
|
-
- System context shows all external interfaces
|
|
142
|
-
- All quality goals trace to product requirements
|
|
143
|
-
- Output written to architecture.md §1-3
|
|
144
|
-
|
|
145
|
-
## FAILURE MODES
|
|
146
|
-
|
|
147
|
-
- Vague quality goals ("system should be fast")
|
|
148
|
-
- Missing regulatory constraints
|
|
149
|
-
- System context missing key external integrations
|
|
150
|
-
- Quality goals not derived from product requirements
|
|
151
|
-
|
|
152
|
-
## NEXT STEP
|
|
153
|
-
|
|
154
|
-
After user selects [C], read and follow: `./step-31-solution-strategy.md`
|