ultra-builder-pro-cli 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/.ultra-template/delivery-report.json +9 -0
  2. package/.ultra-template/docs/research/README.md +53 -0
  3. package/.ultra-template/specs/architecture.md +250 -0
  4. package/.ultra-template/specs/discovery.md +248 -0
  5. package/.ultra-template/specs/product.md +223 -0
  6. package/.ultra-template/tasks/contexts/TEMPLATE.md +57 -0
  7. package/.ultra-template/tasks/tasks.json +33 -0
  8. package/.ultra-template/test-report.json +8 -0
  9. package/CHANGELOG.md +194 -0
  10. package/LICENSE +21 -0
  11. package/README.md +187 -0
  12. package/adapters/_shared/codex-assets.cjs +1128 -0
  13. package/adapters/_shared/codex-ultra-tools-entry.cjs +11 -0
  14. package/adapters/_shared/file-ops.cjs +115 -0
  15. package/adapters/_shared/frontmatter.cjs +52 -0
  16. package/adapters/_shared/handbook.cjs +144 -0
  17. package/adapters/_shared/md-to-toml.cjs +54 -0
  18. package/adapters/_shared/path-rewrite.cjs +79 -0
  19. package/adapters/_shared/rtk-detect.cjs +86 -0
  20. package/adapters/_shared/runtime-assets.cjs +70 -0
  21. package/adapters/_shared/settings-merge.cjs +76 -0
  22. package/adapters/_shared/tests/file-ops.test.cjs +54 -0
  23. package/adapters/_shared/tests/frontmatter.test.cjs +47 -0
  24. package/adapters/_shared/tests/handbook.test.cjs +86 -0
  25. package/adapters/_shared/tests/md-to-toml.test.cjs +48 -0
  26. package/adapters/_shared/tests/path-rewrite.test.cjs +60 -0
  27. package/adapters/_shared/tests/resolve-target.test.cjs +85 -0
  28. package/adapters/_shared/tests/rtk-detect.test.cjs +116 -0
  29. package/adapters/_shared/tests/runtime-assets.test.cjs +107 -0
  30. package/adapters/_shared/tests/settings-merge.test.cjs +85 -0
  31. package/adapters/_shared/tests/validate.test.cjs +30 -0
  32. package/adapters/_shared/validate.cjs +24 -0
  33. package/adapters/claude.js +182 -0
  34. package/adapters/codex.js +385 -0
  35. package/adapters/gemini.js +204 -0
  36. package/adapters/opencode.js +506 -0
  37. package/adapters/tests/claude.test.cjs +117 -0
  38. package/adapters/tests/codex-hook.test.cjs +90 -0
  39. package/adapters/tests/codex.test.cjs +356 -0
  40. package/adapters/tests/gemini.test.cjs +112 -0
  41. package/adapters/tests/opencode.test.cjs +246 -0
  42. package/agents/code-reviewer.md +102 -0
  43. package/agents/debugger.md +127 -0
  44. package/agents/review-code.md +125 -0
  45. package/agents/review-comments.md +98 -0
  46. package/agents/review-coordinator.md +146 -0
  47. package/agents/review-design.md +133 -0
  48. package/agents/review-errors.md +87 -0
  49. package/agents/review-tests.md +93 -0
  50. package/agents/tdd-runner.md +92 -0
  51. package/bin/handbook.js +54 -0
  52. package/bin/install.js +254 -0
  53. package/bin/orchestrator.js +214 -0
  54. package/commands/learn.md +41 -0
  55. package/commands/ultra-deliver.md +45 -0
  56. package/commands/ultra-dev.md +50 -0
  57. package/commands/ultra-init.md +51 -0
  58. package/commands/ultra-plan.md +49 -0
  59. package/commands/ultra-research.md +59 -0
  60. package/commands/ultra-status.md +46 -0
  61. package/commands/ultra-test.md +48 -0
  62. package/commands/ultra-think.md +45 -0
  63. package/docs/AGENT-CONTEXT.md +143 -0
  64. package/docs/ARCHITECTURE.md +197 -0
  65. package/docs/COMMIT-HASH-BACKFILL.md +101 -0
  66. package/docs/LEGACY-HERMES.md +1175 -0
  67. package/docs/PLAN.zh-CN.md +1683 -0
  68. package/docs/ROADMAP.md +102 -0
  69. package/docs/RUNTIME-COMPAT-MATRIX.md +98 -0
  70. package/docs/STATE-DB-ACCESS-POLICY.md +109 -0
  71. package/docs/USER-HANDBOOK-CONTRACT.md +61 -0
  72. package/hooks/README.md +24 -0
  73. package/hooks/active_task_context.py +44 -0
  74. package/hooks/adapters/codex.py +302 -0
  75. package/hooks/health_check.py +61 -0
  76. package/hooks/pre_stop_check.py +56 -0
  77. package/hooks/subagent_tracker.py +116 -0
  78. package/hooks/workflow_checkpoint.py +56 -0
  79. package/hooks/workflow_context.py +63 -0
  80. package/hooks/workflow_resume.py +50 -0
  81. package/mcp-server/lib/init-project.cjs +162 -0
  82. package/mcp-server/lib/llm-client.cjs +157 -0
  83. package/mcp-server/lib/llm-client.test.cjs +156 -0
  84. package/mcp-server/lib/plan-store.cjs +96 -0
  85. package/mcp-server/lib/plan-store.test.cjs +132 -0
  86. package/mcp-server/lib/prd-parser.cjs +110 -0
  87. package/mcp-server/lib/prd-parser.test.cjs +171 -0
  88. package/mcp-server/lib/pricing.cjs +53 -0
  89. package/mcp-server/lib/projector.cjs +158 -0
  90. package/mcp-server/lib/state-db.cjs +113 -0
  91. package/mcp-server/lib/state-db.test.cjs +116 -0
  92. package/mcp-server/lib/state-ops.cjs +725 -0
  93. package/mcp-server/lib/task-expander.cjs +123 -0
  94. package/mcp-server/lib/task-expander.test.cjs +253 -0
  95. package/mcp-server/lib/telemetry.cjs +72 -0
  96. package/mcp-server/lib/topo.cjs +131 -0
  97. package/mcp-server/lib/topo.test.cjs +158 -0
  98. package/mcp-server/server.cjs +482 -0
  99. package/mcp-server/tests/circuit-breaker.test.cjs +125 -0
  100. package/mcp-server/tests/commit-hash-flow.test.cjs +117 -0
  101. package/mcp-server/tests/concurrency-update.test.cjs +96 -0
  102. package/mcp-server/tests/concurrency.test.cjs +112 -0
  103. package/mcp-server/tests/db-ops.test.cjs +117 -0
  104. package/mcp-server/tests/init-project.test.cjs +141 -0
  105. package/mcp-server/tests/migrate.test.cjs +144 -0
  106. package/mcp-server/tests/projector.test.cjs +130 -0
  107. package/mcp-server/tests/server-contract.test.cjs +750 -0
  108. package/mcp-server/tests/staleness.test.cjs +190 -0
  109. package/mcp-server/tests/state-ops.test.cjs +286 -0
  110. package/mcp-server/tests/tagged-tasks.test.cjs +163 -0
  111. package/mcp-server/tests/telemetry.test.cjs +205 -0
  112. package/orchestrator/auto-merge.cjs +109 -0
  113. package/orchestrator/code-graph-watcher.cjs +121 -0
  114. package/orchestrator/daemon.cjs +112 -0
  115. package/orchestrator/dispatch-rules.cjs +93 -0
  116. package/orchestrator/parallel-orchestrator.cjs +195 -0
  117. package/orchestrator/planner/expand-prompt.cjs +62 -0
  118. package/orchestrator/planner/expand-prompt.test.cjs +52 -0
  119. package/orchestrator/planner/plan-builder.cjs +116 -0
  120. package/orchestrator/planner/plan-builder.test.cjs +165 -0
  121. package/orchestrator/planner/prd-prompt.cjs +44 -0
  122. package/orchestrator/planner/prd-prompt.test.cjs +30 -0
  123. package/orchestrator/recovery.cjs +70 -0
  124. package/orchestrator/session-runner.cjs +224 -0
  125. package/orchestrator/skill-miner.cjs +133 -0
  126. package/orchestrator/tests/auto-merge.test.cjs +216 -0
  127. package/orchestrator/tests/code-graph-watcher.test.cjs +183 -0
  128. package/orchestrator/tests/daemon.test.cjs +260 -0
  129. package/orchestrator/tests/dispatch-rules.test.cjs +122 -0
  130. package/orchestrator/tests/parallel-orchestrator.test.cjs +233 -0
  131. package/orchestrator/tests/phase-8b-gate.test.cjs +183 -0
  132. package/orchestrator/tests/recovery.test.cjs +190 -0
  133. package/orchestrator/tests/session-runner.test.cjs +314 -0
  134. package/orchestrator/tests/skill-miner.test.cjs +147 -0
  135. package/orchestrator/tests/worktree-manager.test.cjs +148 -0
  136. package/orchestrator/worktree-manager.cjs +131 -0
  137. package/output-styles/coding-vibes.md +67 -0
  138. package/output-styles/structural-thinking.md +61 -0
  139. package/package.json +109 -0
  140. package/settings.json +8 -0
  141. package/skills/cc-collab/SKILL.md +41 -0
  142. package/skills/code-review-expert/SKILL.md +118 -0
  143. package/skills/code-review-expert/references/code-quality-checklist.md +112 -0
  144. package/skills/code-review-expert/references/integration-checklist.md +46 -0
  145. package/skills/code-review-expert/references/removal-plan.md +52 -0
  146. package/skills/code-review-expert/references/security-checklist.md +100 -0
  147. package/skills/code-review-expert/references/solid-checklist.md +65 -0
  148. package/skills/codex-collab/SKILL.md +52 -0
  149. package/skills/codex-collab/evals/evals.json +40 -0
  150. package/skills/gemini-collab/SKILL.md +51 -0
  151. package/skills/gemini-collab/evals/evals.json +42 -0
  152. package/skills/integration-rules/SKILL.md +71 -0
  153. package/skills/learn/SKILL.md +117 -0
  154. package/skills/security-rules/SKILL.md +60 -0
  155. package/skills/testing-rules/SKILL.md +56 -0
  156. package/skills/ultra-deliver/SKILL.md +171 -0
  157. package/skills/ultra-dev/SKILL.md +324 -0
  158. package/skills/ultra-init/SKILL.md +148 -0
  159. package/skills/ultra-plan/SKILL.md +314 -0
  160. package/skills/ultra-research/SKILL.md +156 -0
  161. package/skills/ultra-research/steps/step-00-problem-validation.md +154 -0
  162. package/skills/ultra-research/steps/step-01-opportunity-discovery.md +172 -0
  163. package/skills/ultra-research/steps/step-02-market-assessment.md +195 -0
  164. package/skills/ultra-research/steps/step-03-competitive-landscape.md +197 -0
  165. package/skills/ultra-research/steps/step-04-product-strategy.md +196 -0
  166. package/skills/ultra-research/steps/step-05-assumptions-validation.md +234 -0
  167. package/skills/ultra-research/steps/step-10-user-personas.md +169 -0
  168. package/skills/ultra-research/steps/step-11-user-scenarios.md +181 -0
  169. package/skills/ultra-research/steps/step-20-user-stories.md +156 -0
  170. package/skills/ultra-research/steps/step-21-features-scope.md +157 -0
  171. package/skills/ultra-research/steps/step-22-success-metrics.md +195 -0
  172. package/skills/ultra-research/steps/step-30-architecture-context.md +154 -0
  173. package/skills/ultra-research/steps/step-31-solution-strategy.md +172 -0
  174. package/skills/ultra-research/steps/step-32-building-blocks.md +188 -0
  175. package/skills/ultra-research/steps/step-40-deployment.md +123 -0
  176. package/skills/ultra-research/steps/step-41-quality-risks.md +135 -0
  177. package/skills/ultra-research/steps/step-99-synthesis.md +188 -0
  178. package/skills/ultra-review/SKILL.md +437 -0
  179. package/skills/ultra-review/references/unified-schema.md +127 -0
  180. package/skills/ultra-review/scripts/review_verdict_update.py +99 -0
  181. package/skills/ultra-review/scripts/review_wait.py +120 -0
  182. package/skills/ultra-status/SKILL.md +162 -0
  183. package/skills/ultra-test/SKILL.md +195 -0
  184. package/skills/ultra-think/SKILL.md +109 -0
  185. package/skills/ultra-verify/SKILL.md +111 -0
  186. package/skills/ultra-verify/evals/evals.json +51 -0
  187. package/skills/ultra-verify/references/confidence-system.md +38 -0
  188. package/skills/ultra-verify/references/cross-verify-modes.md +73 -0
  189. package/skills/ultra-verify/scripts/verify_wait.py +131 -0
  190. package/spec/cli-protocol.md +118 -0
  191. package/spec/mcp-tools.yaml +658 -0
  192. package/spec/schemas/command-manifest.schema.json +47 -0
  193. package/spec/schemas/context-file.v4.5.schema.json +54 -0
  194. package/spec/schemas/mcp-tools.schema.json +136 -0
  195. package/spec/schemas/skill-manifest.schema.json +94 -0
  196. package/spec/schemas/state-db.sql +154 -0
  197. package/spec/schemas/tasks.v4.5.schema.json +66 -0
  198. package/ultra-tools/cli.cjs +121 -0
  199. package/ultra-tools/commands/db.cjs +175 -0
  200. package/ultra-tools/commands/legacy-memory.cjs +159 -0
  201. package/ultra-tools/commands/migrate.cjs +354 -0
  202. package/ultra-tools/commands/session.cjs +180 -0
  203. package/ultra-tools/commands/status.cjs +158 -0
  204. package/ultra-tools/commands/task.cjs +95 -0
  205. package/ultra-tools/legacy-memory.test.cjs +80 -0
  206. package/ultra-tools/status-command.test.cjs +132 -0
@@ -0,0 +1,197 @@
1
+ # Step 03: Competitive Landscape
2
+
3
+ ## MANDATORY EXECUTION RULES
4
+
5
+ - WEB SEARCH REQUIRED — identify real competitors, not imagined ones
6
+ - INCLUDE "DO NOTHING" — the biggest competitor is often the status quo
7
+ - ANALYZE 2-5 DIRECT competitors + 1-2 indirect alternatives
8
+ - BE HONEST about where competitors are stronger
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 02 (Market Assessment) completed with [C]
15
+ - `.ultra/specs/discovery.md` §0-2 exist
16
+
17
+ ## CONTEXT BOUNDARIES
18
+
19
+ - Focus: Who else is solving this problem? How do we differentiate?
20
+ - Use the prioritized opportunities from step-01 to frame competitive analysis
21
+ - Analyze CURRENT competitors, not hypothetical future ones
22
+ - Include indirect competitors and the "do nothing" alternative
23
+
24
+ ## SEARCH STRATEGY (MANDATORY)
25
+
26
+ Execute these web searches in parallel:
27
+
28
+ ```
29
+ Search: "{{product_domain}} competitors comparison review"
30
+ Search: "{{product_domain}} alternatives tools software"
31
+ Search: "{{product_domain}} market leaders market share"
32
+ Search: "{{product_domain}} startup funding competitors"
33
+ Search: "{{product_domain}} vs [known competitor if any]"
34
+ ```
35
+
36
+ For each identified competitor, execute:
37
+ ```
38
+ Search: "[competitor name] pricing features review"
39
+ Search: "[competitor name] weaknesses complaints"
40
+ ```
41
+
42
+ ## EXECUTION SEQUENCE
43
+
44
+ ### 1. Identify Competitive Players
45
+
46
+ Categorize all competitors found:
47
+
48
+ **Direct Competitors**: Products solving the same problem for the same segment
49
+ - Search for 2-5 direct competitors
50
+ - Include their funding, team size, and traction if available
51
+
52
+ **Indirect Competitors / Alternatives**: What customers use today instead
53
+ - Spreadsheets, manual processes, general-purpose tools
54
+ - Adjacent products that partially solve the problem
55
+
56
+ **"Do Nothing" Alternative**: What happens if the customer ignores the problem?
57
+ - What does inaction cost? (Reference step-00 status quo analysis)
58
+ - Why do some users choose to live with the pain?
59
+
60
+ ### 2. Deep-Dive Each Competitor
61
+
62
+ For each direct competitor (2-5), research:
63
+
64
+ | Dimension | What to find |
65
+ |-----------|-------------|
66
+ | Core value prop | What do they promise? |
67
+ | Target segment | Who do they serve? |
68
+ | Pricing model | How do they charge? |
69
+ | Key strengths | What are they genuinely good at? |
70
+ | Key weaknesses | Where do users complain? (check reviews, forums) |
71
+ | Traction signals | Users, revenue, funding, growth |
72
+ | Defensibility | What makes them hard to beat? |
73
+
74
+ ### 3. Porter's Five Forces (Brief)
75
+
76
+ Assess competitive intensity:
77
+
78
+ | Force | Rating (1-5) | Assessment |
79
+ |-------|-------------|-----------|
80
+ | Supplier power | | [Who controls key inputs?] |
81
+ | Buyer power | | [Can customers easily switch?] |
82
+ | New entrant threat | | [How easy to enter this market?] |
83
+ | Substitute threat | | [What alternatives exist?] |
84
+ | Rivalry intensity | | [How fierce is current competition?] |
85
+
86
+ ### 4. Identify Our Competitive Edge
87
+
88
+ Based on the analysis, answer:
89
+ - Where can we win? (specific dimensions where we have an advantage)
90
+ - Where can we NOT win? (be honest — avoid head-to-head on competitor strengths)
91
+ - What is the gap that no one is filling?
92
+
93
+ ### 5. Write Output
94
+
95
+ **WRITE IMMEDIATELY** to `.ultra/specs/discovery.md` §3:
96
+
97
+ ```markdown
98
+ ## §3 Competitive Landscape
99
+
100
+ ### Competitive Overview
101
+
102
+ | Dimension | Us | [Competitor A] | [Competitor B] | [Competitor C] | Do Nothing |
103
+ |-----------|-----|---------------|---------------|---------------|------------|
104
+ | Core value prop | [ours] | [theirs] | [theirs] | [theirs] | [status quo] |
105
+ | Target segment | [ours] | [theirs] | [theirs] | [theirs] | [everyone] |
106
+ | Pricing | [ours] | [theirs] | [theirs] | [theirs] | Free |
107
+ | Key strength | [ours] | [theirs] | [theirs] | [theirs] | Familiar |
108
+ | Key weakness | [ours] | [theirs] | [theirs] | [theirs] | Inefficient |
109
+ | Traction | [ours] | [theirs] | [theirs] | [theirs] | N/A |
110
+
111
+ ### Direct Competitors
112
+
113
+ #### [Competitor A]
114
+ - **What they do**: [Description]
115
+ - **Strengths**: [What they're genuinely good at]
116
+ - **Weaknesses**: [Where users complain] — Source: [URL]
117
+ - **Pricing**: [Model and price points] — Source: [URL]
118
+ - **Traction**: [Users/revenue/funding] — Source: [URL]
119
+ - **Threat level**: [High / Medium / Low] — [Why]
120
+
121
+ #### [Competitor B]
122
+ [Same structure]
123
+
124
+ #### [Competitor C]
125
+ [Same structure]
126
+
127
+ ### Indirect Competitors & Alternatives
128
+ - **[Tool/Process A]**: [How it partially solves the problem]
129
+ - **[Tool/Process B]**: [How it partially solves the problem]
130
+ - **Do Nothing**: [Cost of inaction from step-00]
131
+
132
+ ### Porter's Five Forces Summary
133
+
134
+ | Force | Rating | Assessment |
135
+ |-------|--------|-----------|
136
+ | Supplier power | [1-5] | [Brief assessment] |
137
+ | Buyer power | [1-5] | [Brief assessment] |
138
+ | New entrant threat | [1-5] | [Brief assessment] |
139
+ | Substitute threat | [1-5] | [Brief assessment] |
140
+ | Rivalry intensity | [1-5] | [Brief assessment] |
141
+ | **Overall competitive intensity** | **[1-5]** | **[Summary]** |
142
+
143
+ ### Our Competitive Edge
144
+ - **Where we can win**: [Specific dimensions with reasoning]
145
+ - **Where we cannot win**: [Honest assessment of competitor strengths]
146
+ - **Unfilled gap**: [What no one is doing that we can do]
147
+ - **Timing advantage**: [Why now is the right time]
148
+
149
+ ### Competitive Confidence
150
+ - **Overall confidence**: [X]%
151
+ - **Best-researched competitor**: [Name] — [depth of analysis]
152
+ - **Blind spot**: [What we might be missing]
153
+ ```
154
+
155
+ ### 6. Present to User and Gate
156
+
157
+ Show the Competitive Landscape summary. Highlight:
158
+ - The most dangerous competitor and why
159
+ - The clearest gap in the market
160
+ - Any surprising findings (e.g., a competitor we didn't expect)
161
+
162
+ ```
163
+ [C] Continue — Competitive landscape mapped, proceed to Product Strategy
164
+ [R] Revise — Adjust competitor analysis or add missing competitors
165
+ [S] Search more — Deep-dive a specific competitor
166
+ ```
167
+
168
+ **HALT — wait for user response before proceeding.**
169
+
170
+ ### 7. Handle Response
171
+
172
+ - **[C]**: Load next step: `./step-04-product-strategy.md`
173
+ - **[R]**: Revise analysis, update discovery.md §3, re-present
174
+ - **[S]**: Execute targeted searches on specific competitor, update, re-present
175
+
176
+ ## SUCCESS METRICS
177
+
178
+ - 2-5 direct competitors identified with evidence
179
+ - "Do nothing" alternative analyzed
180
+ - Comparison matrix completed for all competitors
181
+ - Porter's Five Forces assessed
182
+ - Honest assessment of where we can/cannot win
183
+ - All claims have source citations
184
+ - Output written to discovery.md §3
185
+
186
+ ## FAILURE MODES
187
+
188
+ - "No competitors exist" (there are ALWAYS competitors, even if indirect)
189
+ - Only analyzing competitor strengths, ignoring weaknesses
190
+ - Only analyzing competitor weaknesses, ignoring strengths (cheerleading)
191
+ - Missing the "do nothing" alternative
192
+ - No source citations for competitor data
193
+ - Not writing output before presenting to user
194
+
195
+ ## NEXT STEP
196
+
197
+ After user selects [C], read and follow: `./step-04-product-strategy.md`
@@ -0,0 +1,196 @@
1
+ # Step 04: Product Strategy
2
+
3
+ ## MANDATORY EXECUTION RULES
4
+
5
+ - STRATEGY IS ABOUT TRADE-OFFS — what we choose NOT to do matters more
6
+ - REFERENCE previous steps — strategy must be grounded in validated problem + market + competition
7
+ - WEB SEARCH for comparable strategies in the domain
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-03 completed with [C]
14
+ - `.ultra/specs/discovery.md` §0-3 exist
15
+
16
+ ## CONTEXT BOUNDARIES
17
+
18
+ - Focus: Define strategic direction — vision, segments, value prop, trade-offs, defensibility
19
+ - This is a CONDENSED strategy canvas, not a full business plan
20
+ - Must be grounded in evidence from previous steps
21
+ - Strategy should be opinionated — "we serve everyone" is not a strategy
22
+
23
+ ## SEARCH STRATEGY (MANDATORY)
24
+
25
+ Execute these web searches:
26
+
27
+ ```
28
+ Search: "{{product_domain}} product strategy examples successful"
29
+ Search: "{{product_domain}} go-to-market strategy startup"
30
+ Search: "{{product_domain}} defensibility moat competitive advantage"
31
+ Search: "{{product_domain}} pricing strategy models"
32
+ ```
33
+
34
+ ## EXECUTION SEQUENCE
35
+
36
+ ### 1. Vision Statement
37
+
38
+ Collaborate with user to craft a 2-3 sentence vision that:
39
+ - Inspires people (emotional, memorable)
40
+ - Is specific enough to guide decisions
41
+ - Is ambitious enough to attract talent and investment
42
+
43
+ **Test**: Would someone quit their job to work on this? If not, it's too boring.
44
+
45
+ Ask user via AskUserQuestion: "In 2-3 sentences, how can we inspire people? What are we aspiring to achieve?"
46
+
47
+ ### 2. Target Segments
48
+
49
+ Define WHO we serve and WHO we explicitly do NOT serve.
50
+
51
+ Using personas from step-00 (Q3: Desperate Specificity):
52
+
53
+ **Serve** (defined by problems/JTBD, not demographics):
54
+ - Segment 1: [Description] — [Why they need us most]
55
+ - Segment 2: [Description] — [Why they need us]
56
+
57
+ **Do NOT serve** (equally important):
58
+ - Anti-segment 1: [Description] — [Why not]
59
+ - Anti-segment 2: [Description] — [Why not]
60
+
61
+ ### 3. Value Proposition
62
+
63
+ For each target segment, use the JTBD format:
64
+
65
+ ```
66
+ When [situation], they want [motivation], so they can [outcome]
67
+ ```
68
+
69
+ This must connect directly to the top opportunities from step-01.
70
+
71
+ ### 4. Strategic Trade-offs
72
+
73
+ **This is the most important section.** A strategy without trade-offs is a wish list.
74
+
75
+ Identify 3-5 strategic trade-offs:
76
+
77
+ | We Choose | Over | Because |
78
+ |-----------|------|---------|
79
+ | [Focus A] | [Alternative A] | [Reasoning grounded in evidence] |
80
+ | [Focus B] | [Alternative B] | [Reasoning grounded in evidence] |
81
+ | [Focus C] | [Alternative C] | [Reasoning grounded in evidence] |
82
+
83
+ Each trade-off should reference competitive analysis from step-03 — we avoid competing head-to-head on competitor strengths.
84
+
85
+ ### 5. Defensibility Analysis
86
+
87
+ What makes this hard to copy? Evaluate each:
88
+
89
+ | Moat Type | Applicability | Strength | Timeline to Build |
90
+ |-----------|-------------|----------|-------------------|
91
+ | Network effects | [Yes/No] | [Assessment] | [Time] |
92
+ | Data advantage | [Yes/No] | [Assessment] | [Time] |
93
+ | Switching costs | [Yes/No] | [Assessment] | [Time] |
94
+ | Brand / trust | [Yes/No] | [Assessment] | [Time] |
95
+ | Technical IP | [Yes/No] | [Assessment] | [Time] |
96
+ | Speed / execution | [Yes/No] | [Assessment] | [Time] |
97
+
98
+ Be honest — most startups have weak defensibility early. That's okay if the execution advantage is strong.
99
+
100
+ ### 6. Write Output
101
+
102
+ **WRITE IMMEDIATELY** to `.ultra/specs/discovery.md` §4:
103
+
104
+ ```markdown
105
+ ## §4 Product Strategy
106
+
107
+ ### Vision
108
+ [2-3 sentences — inspiring, specific, ambitious]
109
+
110
+ ### Target Segments
111
+
112
+ #### Primary: [Segment Name]
113
+ - **Description**: [Who they are, defined by problem/JTBD]
114
+ - **Why them**: [Why they need us most urgently]
115
+ - **Value Proposition**: When [situation], they want [motivation], so they can [outcome]
116
+
117
+ #### Secondary: [Segment Name]
118
+ - **Description**: [Who they are]
119
+ - **Why them**: [Why they need us]
120
+ - **Value Proposition**: When [situation], they want [motivation], so they can [outcome]
121
+
122
+ #### Explicitly NOT Serving
123
+ - **[Anti-segment 1]**: [Why not — e.g., "Too enterprise for our current capabilities"]
124
+ - **[Anti-segment 2]**: [Why not — e.g., "Their problem is different enough to require a different product"]
125
+
126
+ ### Strategic Trade-offs
127
+
128
+ | # | We Choose | Over | Because |
129
+ |---|-----------|------|---------|
130
+ | 1 | [Focus] | [Alternative] | [Evidence-based reasoning] |
131
+ | 2 | [Focus] | [Alternative] | [Evidence-based reasoning] |
132
+ | 3 | [Focus] | [Alternative] | [Evidence-based reasoning] |
133
+ | 4 | [Focus] | [Alternative] | [Evidence-based reasoning] |
134
+
135
+ ### Defensibility
136
+
137
+ | Moat Type | Applicable | Strength (1-5) | Timeline |
138
+ |-----------|-----------|----------------|----------|
139
+ | Network effects | [Yes/No] | [X] | [Time] |
140
+ | Data advantage | [Yes/No] | [X] | [Time] |
141
+ | Switching costs | [Yes/No] | [X] | [Time] |
142
+ | Brand / trust | [Yes/No] | [X] | [Time] |
143
+ | Technical IP | [Yes/No] | [X] | [Time] |
144
+ | Speed / execution | [Yes/No] | [X] | [Time] |
145
+
146
+ **Primary moat**: [Which moat type is strongest and why]
147
+ **Moat timeline**: [When defensibility becomes meaningful]
148
+
149
+ ### Strategy Confidence
150
+ - **Overall confidence**: [X]%
151
+ - **Strongest element**: [What part of strategy is most grounded]
152
+ - **Riskiest bet**: [What strategic choice is most uncertain]
153
+ ```
154
+
155
+ ### 7. Present to User and Gate
156
+
157
+ Show the Product Strategy summary. Highlight:
158
+ - Whether the trade-offs feel right
159
+ - The defensibility assessment
160
+ - Any concerns about the strategic direction
161
+
162
+ ```
163
+ [C] Continue — Strategy defined, proceed to Assumptions Validation
164
+ [R] Revise — Adjust strategy elements
165
+ [D] Discuss — Explore specific trade-offs in more depth
166
+ ```
167
+
168
+ **HALT — wait for user response before proceeding.**
169
+
170
+ ### 8. Handle Response
171
+
172
+ - **[C]**: Load next step: `./step-05-assumptions-validation.md`
173
+ - **[R]**: Revise strategy, update discovery.md §4, re-present
174
+ - **[D]**: Deep-dive specific trade-offs, then re-present gate
175
+
176
+ ## SUCCESS METRICS
177
+
178
+ - Vision is inspiring and specific (not generic)
179
+ - Target segments defined by problems, not demographics
180
+ - Anti-segments explicitly stated
181
+ - At least 3 strategic trade-offs with evidence-based reasoning
182
+ - Defensibility honestly assessed
183
+ - Output written to discovery.md §4
184
+
185
+ ## FAILURE MODES
186
+
187
+ - Generic vision ("We make the world better with AI")
188
+ - "We serve everyone" (no segment focus)
189
+ - No trade-offs stated (strategy without trade-offs is not strategy)
190
+ - Defensibility assessment is all 5/5 (unrealistic)
191
+ - Strategy not grounded in evidence from steps 00-03
192
+ - Not writing output before presenting to user
193
+
194
+ ## NEXT STEP
195
+
196
+ After user selects [C], read and follow: `./step-05-assumptions-validation.md`
@@ -0,0 +1,234 @@
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`