Pack Availability Guard
Before telling the user to run a skill from another project-local pack, check .agents/project.json.enabled_packs. If the target pack is not enabled, recommend /pack install <pack> instead of the target skill. Global skills are always valid. Skills from this same pack are valid because the current skill is already running from that pack.
Lean Canvas — One-Page Business Model Synthesis
Report-First Approval Gate
Default to report-only: present findings, evidence coverage, assumptions, recommended artifact path, and proposed file changes in a pre-approval alignment page plus a concise conversation summary for user approval before creating or updating canonical research, spec, or task files.
Do not write or overwrite synthesized deliverables until the user explicitly approves, unless the user invoked an explicit write/update/fix mode or clearly asked to write files upfront. Raw evidence capture may be persisted before analysis when reproducibility requires it; report those raw paths separately and still gate synthesized research/report writes.
When stopping for approval, build and attempt to open the alignment preview page first, then ask the user to review it and approve, question, or request adjustments. Do not include Recommended next skill, Recommended next command, or downstream routing language. The approval request itself is the next action. Only emit next-skill routing after the approved artifact has been written or updated.
Synthesizes upstream research into a one-page Lean Canvas (Ash Maurya methodology). This is an optional AFPS detour for business-model synthesis when revenue, channels, cost, defensibility, or unfair-advantage assumptions are material risks. It pulls from ICP, competitive analysis, journey, positioning, and value proposition research to create a cohesive business model hypothesis. Revenue Streams and Cost Structure are marked as hypotheses to be validated by /monetization.
Prerequisites
- Hard:
research/icp.md (or research/{app}/icp.md) must exist. If not, tell the user to run /icp first and stop.
- Soft: Read these if they exist:
research/competitive-analysis.md — competitor landscape, channel insights, business model patterns
research/journey-map.md — lifecycle moments where value, conversion, and retention occur
research/positioning.md — unique value proposition, market category, competitive alternatives
research/value-prop.md — value propositions mapped to customer segments
research/concept-brief.md — product concept, solution approach, feature set
Process
0. App Scope Resolution (Monorepo Support)
Before checking prerequisites, determine the app scope:
- If
$ARGUMENTS specifies an app name matching a subdirectory of research/, use it.
- If
research/ contains subdirectories (excluding files), list them and ask the user which app to target. If only one subdirectory exists, use it automatically.
- If no subdirectories exist, proceed with flat structure (single-product mode).
When app scope {app} is active:
- Read/write research from
research/{app}/ instead of research/
1. Load Context
- Read
research/icp.md — ICP segments, pain points, jobs to be done, trigger events
- Read
research/competitive-analysis.md if it exists — competitor landscape, channel strategies, business model patterns
- Read
research/positioning.md if it exists — unique attributes, value mapping, market category, competitive alternatives
- Read
research/value-prop.md if it exists — value propositions per segment
- Read
research/concept-brief.md if it exists — product concept, solution approach, features
- Read CLAUDE.md, README, and key source files for product context
2. Research Lean Canvas Methodology
Use WebSearch with 4-6 targeted queries:
- Domain-specific canvases — "lean canvas [domain]", "lean canvas examples [category]"
- Methodology — "Ash Maurya lean canvas best practices", "lean canvas vs business model canvas differences"
- Business models — "one page business model [industry]", "[category] business model patterns"
- Revenue patterns — "[category] revenue models", "[domain] pricing strategies"
- Channel strategies — "[category] customer acquisition channels", "[domain] distribution strategies"
3. Synthesize Canvas Sections
Map each Lean Canvas section from upstream research:
- Problem — Top 3 problems from ICP pain points. Source:
research/icp.md
- Customer Segments — Primary and secondary segments from ICP. Source:
research/icp.md
- Unique Value Proposition — From positioning UVP statement, or
research/value-prop.md if positioning doesn't exist. This is the single clear compelling message that states why you are different and worth buying.
- Solution — Top 3 features or capabilities that address the top 3 problems. Source:
research/concept-brief.md or product codebase.
- Channels — Path to customers. Source:
research/competitive-analysis.md channel insights, ICP "where they hang out."
- Revenue Streams — HYPOTHESIS — mark "to be validated by
/monetization". Infer from competitive analysis pricing patterns and positioning (premium vs. value).
- Cost Structure — HYPOTHESIS — mark "to be validated by
/monetization". Infer from solution complexity, channel costs, and competitive analysis.
- Key Metrics — From
research/metrics.md if it exists, otherwise hypothesize key pirate metrics (AARRR) relevant to the business model.
- Unfair Advantage — From positioning unique attributes or competitive moat. Something that cannot be easily copied or bought.
Use AskUserQuestion to present and validate:
- "Here's the Lean Canvas synthesized from research. Which sections need correction, stronger grounding, or are missing critical context?"
4. Validate Hypotheses
For sections marked as hypotheses (Revenue Streams, Cost Structure, and any others with low evidence), note:
- Confidence level: High / Medium / Low
- What would validate each hypothesis
- What would invalidate each hypothesis
- Riskiest assumption within each section
Use AskUserQuestion:
- "These are the unvalidated hypotheses. Which are highest risk and should be tested first?"
5. Populate Next Steps
Include 3-5 applicable items with "Pick one:" framing:
- ALWAYS:
/ux-variations [business-model-informed product direction] — Return to the default AFPS prototype path after resolving material business-model assumptions
- IF Revenue/Cost hypotheses need validation:
/monetization — Validate revenue model and cost structure hypotheses
- IF riskiest hypothesis identified:
/experiment [riskiest hypothesis] — Test the riskiest assumption with a structured experiment
- IF no
research/positioning.md: /positioning — Establish strategic positioning to strengthen UVP and Unfair Advantage sections
- IF no
research/journey-map.md: /journey-map — Map the customer journey before continuing UX, growth, or spec work
- IF codebase exists:
/mvp-gap — Check if the product delivers on the canvas promises
6. Write Output
Only after the user confirms, write the output files.
7. Downstream Impact Check
After writing, check for downstream research documents that may be affected.
Downstream documents to check (use {app}/ prefix when app scope is active):
research/journey-map.md
research/monetization.md
For each existing downstream document:
- Read it — focus on sections that reference business model, revenue, channels, or customer segments
- Identify conflicts where the downstream document's assumptions don't align with the canvas
- Note each conflict: file, section, stale claim, what it should now say
Classify the impact:
- None: No downstream docs exist, or no conflicts. Skip display.
- Minor (1-2 small conflicts): Display inline.
- Major (3+ conflicts OR customer segments changed, revenue model shifted, channel strategy changed): Display and recommend
/reconcile-research.
Output
research/lean-canvas.md (or research/{app}/lean-canvas.md)
# Lean Canvas
> Based on: research/icp.md[, research/competitive-analysis.md, research/positioning.md, research/value-prop.md, research/concept-brief.md]
> Date: [current date]
> Methodology: Lean Canvas (Ash Maurya)
## Summary
[2-3 sentence business model thesis — who the customer is, what problem you solve, how you make money, and what makes this defensible]
## Lean Canvas
### Problem
Top 3 problems:
1. [problem 1] — _Source: [reference]_
2. [problem 2] — _Source: [reference]_
3. [problem 3] — _Source: [reference]_
**Existing alternatives**: [how customers solve these problems today]
### Customer Segments
**Primary segment**: [segment description]
**Early adopters**: [most acute subset — who you target first]
_Source: research/icp.md_
_Confidence: [High/Medium/Low]_
### Unique Value Proposition
**Single clear compelling message**:
> [UVP statement]
**High-level concept**: [X for Y analogy, if applicable]
_Source: [research/positioning.md or research/value-prop.md]_
_Confidence: [High/Medium/Low]_
### Solution
Top 3 features addressing top 3 problems:
1. [feature 1] → solves [problem 1]
2. [feature 2] → solves [problem 2]
3. [feature 3] → solves [problem 3]
_Source: [research/concept-brief.md or product codebase]_
_Confidence: [High/Medium/Low]_
### Channels
**Path to customers**:
- [channel 1] — [rationale]
- [channel 2] — [rationale]
- [channel 3] — [rationale]
_Source: [research/competitive-analysis.md, research/icp.md]_
_Confidence: [High/Medium/Low]_
### Revenue Streams
> **HYPOTHESIS** — to be validated by `/monetization`
- [revenue stream 1] — [pricing model]
- [revenue stream 2] — [pricing model]
**Price anchoring**: [what customers pay for alternatives today]
_Source: [inferred from competitive analysis and positioning]_
_Confidence: [High/Medium/Low]_
### Cost Structure
> **HYPOTHESIS** — to be validated by `/monetization`
**Fixed costs**:
- [cost 1]
- [cost 2]
**Variable costs**:
- [cost 1]
- [cost 2]
_Source: [inferred from solution complexity and channel costs]_
_Confidence: [High/Medium/Low]_
### Key Metrics
- [metric 1] — [what it measures and why it matters]
- [metric 2] — [what it measures and why it matters]
- [metric 3] — [what it measures and why it matters]
_Source: [research/metrics.md or hypothesized]_
_Confidence: [High/Medium/Low]_
### Unfair Advantage
[Something that cannot be easily copied or bought]
- [advantage 1] — [why it's defensible]
- [advantage 2] — [why it's defensible]
_Source: [research/positioning.md unique attributes or competitive moat]_
_Confidence: [High/Medium/Low]_
## Hypothesis Register
| Hypothesis | Section | Confidence | Validation Method | Status |
|-----------|---------|------------|-------------------|--------|
| [hypothesis 1] | Revenue Streams | [H/M/L] | [how to test] | Unvalidated |
| [hypothesis 2] | Cost Structure | [H/M/L] | [how to test] | Unvalidated |
| [hypothesis 3] | [section] | [H/M/L] | [how to test] | Unvalidated |
**Riskiest hypothesis**: [which hypothesis, if wrong, would most undermine the business model]
## Strategic Implications
### Business Model Type
[What type of business model this canvas describes — marketplace, SaaS, transactional, etc.]
### Key Dependencies
[What must be true for this business model to work]
### Biggest Risks
[Top 2-3 risks to the business model thesis]
<!-- Only include when downstream impact is Minor or Major -->
## Downstream Impact
> Checked: [list of downstream docs checked]
> Impact: Minor | Major
### Conflicts Found
1. **research/[file].md** — [Section Name]
- **Stale**: "[exact quote]"
- **Now**: [what the canvas says instead]
[For Major only:]
> **Recommended action**: Run `/reconcile-research` to audit and fix all affected downstream documents.
## Next Steps
Pick one:
- [conditional items from step 5]
research/lean-canvas-search-log.md (or research/{app}/lean-canvas-search-log.md)
Raw research log — queries, findings, evidence for each canvas section decision.
Create the research/ directory if it doesn't exist.
Task Classification
When this skill produces follow-up work, file it by execution semantics:
- Immediately actionable implementation or documentation work goes in
tasks/todo.md.
- Human-only external actions tied to automated steps go in
tasks/manual-todo.md with _(blocks: Step N.X)_ or _(after: Step N.X)_; repo edits, SDK wiring, generated assets, local commands, tests, audits, and authenticated CLI/API work stay in tasks/todo.md.
- One-time condition-gated records, baselines, or future measurements go in
tasks/record-todo.md with source, condition, non-blocking reason, evidence, and promotion rule.
- Cadence-based reviews, playtests, adoption checks, investor updates, retros, or docs-health checks go in
tasks/recurring-todo.md with cadence, owner/agent, next due, evidence path, and escalation conditions.
- Do not put non-blocking records or recurring obligations in
tasks/todo.md unless they have been explicitly promoted into current execution work.
Constraints
- Requires ICP. A business model without customer understanding is fiction.
- Synthesis-first. Every canvas section should trace to upstream research, not invented from scratch. If a section cannot be grounded in existing research, mark it as a hypothesis with Low confidence.
- Mark hypotheses honestly. Revenue Streams and Cost Structure are hypotheses until
/monetization validates them. Any other section without strong evidence should also be flagged.
- Present before writing. Never write output files until the canvas has been presented and validated by the user.
- Do not overwrite existing
research/lean-canvas.md without asking the user first.
- Lean Canvas ≠ full business plan. This is a one-page hypothesis document. Do not expand it into a detailed business plan — that's a different deliverable.
- One canvas per product. Don't try to capture multiple business models in a single canvas. If the product has multiple revenue models, pick the primary one and note alternatives.
Alignment Page
When this skill produces durable deliverables (research, specs, plans, reports, prototypes, or any document output), build a full-depth HTML alignment page following ALIGNMENT-PAGE.md in this skill's directory. Output: alignment/lean-canvas-{topic}.html.
Default Shipping Contract
Follow the shared shipping contract convention in CLAUDE.md.
1---2name: lean-canvas-63description: One-page Lean Canvas business model synthesis (Ash Maurya)4---5
6## Pack Availability Guard
7
8Before telling the user to run a skill from another project-local pack, check `.agents/project.json.enabled_packs`. If the target pack is not enabled, recommend `/pack install <pack>` instead of the target skill. Global skills are always valid. Skills from this same pack are valid because the current skill is already running from that pack.
9
10# Lean Canvas — One-Page Business Model Synthesis
11
12## Report-First Approval Gate
13
14Default to report-only: present findings, evidence coverage, assumptions, recommended artifact path, and proposed file changes in a pre-approval alignment page plus a concise conversation summary for user approval before creating or updating canonical research, spec, or task files.
15
16Do not write or overwrite synthesized deliverables until the user explicitly approves, unless the user invoked an explicit write/update/fix mode or clearly asked to write files upfront. Raw evidence capture may be persisted before analysis when reproducibility requires it; report those raw paths separately and still gate synthesized research/report writes.
17
18When stopping for approval, build and attempt to open the alignment preview page first, then ask the user to review it and approve, question, or request adjustments. Do not include `Recommended next skill`, `Recommended next command`, or downstream routing language. The approval request itself is the next action. Only emit next-skill routing after the approved artifact has been written or updated.
19
20Synthesizes upstream research into a one-page Lean Canvas (Ash Maurya methodology). This is an optional AFPS detour for business-model synthesis when revenue, channels, cost, defensibility, or unfair-advantage assumptions are material risks. It pulls from ICP, competitive analysis, journey, positioning, and value proposition research to create a cohesive business model hypothesis. Revenue Streams and Cost Structure are marked as hypotheses to be validated by `/monetization`.
21
22## Prerequisites
23
24- **Hard**: `research/icp.md` (or `research/{app}/icp.md`) must exist. If not, tell the user to run `/icp` first and stop.
25- **Soft**: Read these if they exist:
26 - `research/competitive-analysis.md` — competitor landscape, channel insights, business model patterns
27 - `research/journey-map.md` — lifecycle moments where value, conversion, and retention occur
28 - `research/positioning.md` — unique value proposition, market category, competitive alternatives
29 - `research/value-prop.md` — value propositions mapped to customer segments
30 - `research/concept-brief.md` — product concept, solution approach, feature set
31
32## Process
33
34### 0. App Scope Resolution (Monorepo Support)
35
36Before checking prerequisites, determine the app scope:
37
381. If `$ARGUMENTS` specifies an app name matching a subdirectory of `research/`, use it.
392. If `research/` contains subdirectories (excluding files), list them and ask the user which app to target. If only one subdirectory exists, use it automatically.
403. If no subdirectories exist, proceed with flat structure (single-product mode).
41
42When app scope `{app}` is active:
43- Read/write research from `research/{app}/` instead of `research/`
44
45### 1. Load Context
46
47- Read `research/icp.md` — ICP segments, pain points, jobs to be done, trigger events
48- Read `research/competitive-analysis.md` if it exists — competitor landscape, channel strategies, business model patterns
49- Read `research/positioning.md` if it exists — unique attributes, value mapping, market category, competitive alternatives
50- Read `research/value-prop.md` if it exists — value propositions per segment
51- Read `research/concept-brief.md` if it exists — product concept, solution approach, features
52- Read CLAUDE.md, README, and key source files for product context
53
54### 2. Research Lean Canvas Methodology
55
56Use WebSearch with **4-6 targeted queries**:
57
581. **Domain-specific canvases** — "lean canvas [domain]", "lean canvas examples [category]"
592. **Methodology** — "Ash Maurya lean canvas best practices", "lean canvas vs business model canvas differences"
603. **Business models** — "one page business model [industry]", "[category] business model patterns"
614. **Revenue patterns** — "[category] revenue models", "[domain] pricing strategies"
625. **Channel strategies** — "[category] customer acquisition channels", "[domain] distribution strategies"
63
64### 3. Synthesize Canvas Sections
65
66Map each Lean Canvas section from upstream research:
67
68- **Problem** — Top 3 problems from ICP pain points. Source: `research/icp.md`
69- **Customer Segments** — Primary and secondary segments from ICP. Source: `research/icp.md`
70- **Unique Value Proposition** — From positioning UVP statement, or `research/value-prop.md` if positioning doesn't exist. This is the single clear compelling message that states why you are different and worth buying.
71- **Solution** — Top 3 features or capabilities that address the top 3 problems. Source: `research/concept-brief.md` or product codebase.
72- **Channels** — Path to customers. Source: `research/competitive-analysis.md` channel insights, ICP "where they hang out."
73- **Revenue Streams** — **HYPOTHESIS** — mark "to be validated by `/monetization`". Infer from competitive analysis pricing patterns and positioning (premium vs. value).
74- **Cost Structure** — **HYPOTHESIS** — mark "to be validated by `/monetization`". Infer from solution complexity, channel costs, and competitive analysis.
75- **Key Metrics** — From `research/metrics.md` if it exists, otherwise hypothesize key pirate metrics (AARRR) relevant to the business model.
76- **Unfair Advantage** — From positioning unique attributes or competitive moat. Something that cannot be easily copied or bought.
77
78Use AskUserQuestion to present and validate:
79- "Here's the Lean Canvas synthesized from research. Which sections need correction, stronger grounding, or are missing critical context?"
80
81### 4. Validate Hypotheses
82
83For sections marked as hypotheses (Revenue Streams, Cost Structure, and any others with low evidence), note:
84- **Confidence level**: High / Medium / Low
85- **What would validate** each hypothesis
86- **What would invalidate** each hypothesis
87- **Riskiest assumption** within each section
88
89Use AskUserQuestion:
90- "These are the unvalidated hypotheses. Which are highest risk and should be tested first?"
91
92### 5. Populate Next Steps
93
94Include 3-5 applicable items with "Pick one:" framing:
95
96- ALWAYS: `/ux-variations [business-model-informed product direction]` — Return to the default AFPS prototype path after resolving material business-model assumptions
97- IF Revenue/Cost hypotheses need validation: `/monetization` — Validate revenue model and cost structure hypotheses
98- IF riskiest hypothesis identified: `/experiment [riskiest hypothesis]` — Test the riskiest assumption with a structured experiment
99- IF no `research/positioning.md`: `/positioning` — Establish strategic positioning to strengthen UVP and Unfair Advantage sections
100- IF no `research/journey-map.md`: `/journey-map` — Map the customer journey before continuing UX, growth, or spec work
101- IF codebase exists: `/mvp-gap` — Check if the product delivers on the canvas promises
102
103### 6. Write Output
104
105Only after the user confirms, write the output files.
106
107### 7. Downstream Impact Check
108
109After writing, check for downstream research documents that may be affected.
110
111**Downstream documents to check** (use `{app}/` prefix when app scope is active):
112- `research/journey-map.md`
113- `research/monetization.md`
114
115For each existing downstream document:
1161. Read it — focus on sections that reference business model, revenue, channels, or customer segments
1172. Identify conflicts where the downstream document's assumptions don't align with the canvas
1183. Note each conflict: file, section, stale claim, what it should now say
119
120**Classify the impact**:
121- **None**: No downstream docs exist, or no conflicts. Skip display.
122- **Minor** (1-2 small conflicts): Display inline.
123- **Major** (3+ conflicts OR customer segments changed, revenue model shifted, channel strategy changed): Display and recommend `/reconcile-research`.
124
125## Output
126
127### `research/lean-canvas.md` (or `research/{app}/lean-canvas.md`)
128
129```markdown
130# Lean Canvas
131
132> Based on: research/icp.md[, research/competitive-analysis.md, research/positioning.md, research/value-prop.md, research/concept-brief.md]
133> Date: [current date]
134> Methodology: Lean Canvas (Ash Maurya)
135
136## Summary
137
138[2-3 sentence business model thesis — who the customer is, what problem you solve, how you make money, and what makes this defensible]
139
140## Lean Canvas
141
142### Problem
143
144Top 3 problems:
1451. [problem 1] — _Source: [reference]_
1462. [problem 2] — _Source: [reference]_
1473. [problem 3] — _Source: [reference]_
148
149**Existing alternatives**: [how customers solve these problems today]
150
151### Customer Segments
152
153**Primary segment**: [segment description]
154**Early adopters**: [most acute subset — who you target first]
155
156_Source: research/icp.md_
157_Confidence: [High/Medium/Low]_
158
159### Unique Value Proposition
160
161**Single clear compelling message**:
162> [UVP statement]
163
164**High-level concept**: [X for Y analogy, if applicable]
165
166_Source: [research/positioning.md or research/value-prop.md]_
167_Confidence: [High/Medium/Low]_
168
169### Solution
170
171Top 3 features addressing top 3 problems:
1721. [feature 1] → solves [problem 1]
1732. [feature 2] → solves [problem 2]
1743. [feature 3] → solves [problem 3]
175
176_Source: [research/concept-brief.md or product codebase]_
177_Confidence: [High/Medium/Low]_
178
179### Channels
180
181**Path to customers**:
182- [channel 1] — [rationale]
183- [channel 2] — [rationale]
184- [channel 3] — [rationale]
185
186_Source: [research/competitive-analysis.md, research/icp.md]_
187_Confidence: [High/Medium/Low]_
188
189### Revenue Streams
190
191> **HYPOTHESIS** — to be validated by `/monetization`
192
193- [revenue stream 1] — [pricing model]
194- [revenue stream 2] — [pricing model]
195
196**Price anchoring**: [what customers pay for alternatives today]
197
198_Source: [inferred from competitive analysis and positioning]_
199_Confidence: [High/Medium/Low]_
200
201### Cost Structure
202
203> **HYPOTHESIS** — to be validated by `/monetization`
204
205**Fixed costs**:
206- [cost 1]
207- [cost 2]
208
209**Variable costs**:
210- [cost 1]
211- [cost 2]
212
213_Source: [inferred from solution complexity and channel costs]_
214_Confidence: [High/Medium/Low]_
215
216### Key Metrics
217
218- [metric 1] — [what it measures and why it matters]
219- [metric 2] — [what it measures and why it matters]
220- [metric 3] — [what it measures and why it matters]
221
222_Source: [research/metrics.md or hypothesized]_
223_Confidence: [High/Medium/Low]_
224
225### Unfair Advantage
226
227[Something that cannot be easily copied or bought]
228
229- [advantage 1] — [why it's defensible]
230- [advantage 2] — [why it's defensible]
231
232_Source: [research/positioning.md unique attributes or competitive moat]_
233_Confidence: [High/Medium/Low]_
234
235## Hypothesis Register
236
237| Hypothesis | Section | Confidence | Validation Method | Status |
238|-----------|---------|------------|-------------------|--------|
239| [hypothesis 1] | Revenue Streams | [H/M/L] | [how to test] | Unvalidated |
240| [hypothesis 2] | Cost Structure | [H/M/L] | [how to test] | Unvalidated |
241| [hypothesis 3] | [section] | [H/M/L] | [how to test] | Unvalidated |
242
243**Riskiest hypothesis**: [which hypothesis, if wrong, would most undermine the business model]
244
245## Strategic Implications
246
247### Business Model Type
248[What type of business model this canvas describes — marketplace, SaaS, transactional, etc.]
249
250### Key Dependencies
251[What must be true for this business model to work]
252
253### Biggest Risks
254[Top 2-3 risks to the business model thesis]
255
256<!-- Only include when downstream impact is Minor or Major -->
257## Downstream Impact
258
259> Checked: [list of downstream docs checked]
260> Impact: Minor | Major
261
262### Conflicts Found
263
2641. **research/[file].md** — [Section Name]
265 - **Stale**: "[exact quote]"
266 - **Now**: [what the canvas says instead]
267
268[For Major only:]
269> **Recommended action**: Run `/reconcile-research` to audit and fix all affected downstream documents.
270
271## Next Steps
272
273Pick one:
274- [conditional items from step 5]
275```
276
277### `research/lean-canvas-search-log.md` (or `research/{app}/lean-canvas-search-log.md`)
278
279Raw research log — queries, findings, evidence for each canvas section decision.
280
281Create the `research/` directory if it doesn't exist.
282
283## Task Classification
284
285When this skill produces follow-up work, file it by execution semantics:
286
287- Immediately actionable implementation or documentation work goes in `tasks/todo.md`.
288- Human-only external actions tied to automated steps go in `tasks/manual-todo.md` with `_(blocks: Step N.X)_` or `_(after: Step N.X)_`; repo edits, SDK wiring, generated assets, local commands, tests, audits, and authenticated CLI/API work stay in `tasks/todo.md`.
289- One-time condition-gated records, baselines, or future measurements go in `tasks/record-todo.md` with source, condition, non-blocking reason, evidence, and promotion rule.
290- Cadence-based reviews, playtests, adoption checks, investor updates, retros, or docs-health checks go in `tasks/recurring-todo.md` with cadence, owner/agent, next due, evidence path, and escalation conditions.
291- Do not put non-blocking records or recurring obligations in `tasks/todo.md` unless they have been explicitly promoted into current execution work.
292
293## Constraints
294
295- **Requires ICP.** A business model without customer understanding is fiction.
296- **Synthesis-first.** Every canvas section should trace to upstream research, not invented from scratch. If a section cannot be grounded in existing research, mark it as a hypothesis with Low confidence.
297- **Mark hypotheses honestly.** Revenue Streams and Cost Structure are hypotheses until `/monetization` validates them. Any other section without strong evidence should also be flagged.
298- **Present before writing.** Never write output files until the canvas has been presented and validated by the user.
299- **Do not overwrite existing `research/lean-canvas.md`** without asking the user first.
300- **Lean Canvas ≠ full business plan.** This is a one-page hypothesis document. Do not expand it into a detailed business plan — that's a different deliverable.
301- **One canvas per product.** Don't try to capture multiple business models in a single canvas. If the product has multiple revenue models, pick the primary one and note alternatives.
302
303## Alignment Page
304
305When this skill produces durable deliverables (research, specs, plans, reports, prototypes, or any document output), build a full-depth HTML alignment page following `ALIGNMENT-PAGE.md` in this skill's directory. Output: `alignment/lean-canvas-{topic}.html`.
306
307## Default Shipping Contract
308
309Follow the shared shipping contract convention in CLAUDE.md.