Turn a startup or internal-product idea into a lean canvas that finds what could kill it — the nine boxes filled only from what the user said, each entry tagged evidence-backed (with its source) or assumption, the assumptions ranked by how likely each is wrong times how badly the idea fails if it is, the cheapest test with a pass/fail line set in advance for the top ones, a computed unit-economics check when price and costs are given, and a plain call when the idea should change before anything is built. Use when the user says "lean canvas", "help me think through my startup idea", "what are the riskiest assumptions", "how do I validate this idea", "is this idea worth building", or "poke holes in my business model".
Pack product-managerTier standardJob Decide what to buildv0.1.1
In Claude Code, with the product-manager plugin installed, invoke it as:
/product-manager:lean-canvas
Try it
A realistic prompt from the skill's acceptance evals:
Can you do a lean canvas for my startup? My notes are in pawpass-notes.md. Accelerator application is due Friday and I want to know what the weak spots are before they find them.
What a good result looks like
The first lines are the riskiest assumption and its test, not the canvas.
Every canvas entry carries a tag, and every [evidence] names the source the user gave.
Wrong-segment and opinion-only evidence is downgraded and said to be.
A feature claimed as an unfair advantage is moved out, and the box reads "none yet" if nothing else qualifies.
Each channel is checked against the early adopter, mismatches named.
Unit economics are computed with the derivation shown, and payback longer than lifetime is flagged.
Each top test has a sample, a pre-set pass/fail line, a cost and a time.
Nothing is invented: no market sizes, competitors, prices, churn or channels the user didn't give.
Example output
Example: on-site bike repair subscription · the skill's own worked example, source
Input
Lean canvas for my idea please. SpokeStop: a mechanic with a folding repair stand visits office bike racks once a week, and members get unlimited tune-ups and puncture fixes for $12 a month. People who cycle to work hate losing an evening to the bike shop. Early adopters: daily cycle commuters at offices with 500+ staff in the business district — the council's travel survey says about 2,000 people cycle in daily. 12 people at my running club said they'd definitely sign up. Channels: Instagram ads, and a stall at the city cycling festival in June. Our test Instagram campaign cost $900 and got 10 paying sign-ups. Mechanic time and parts work out at $7 per member per month. Fixed costs are a van lease and insurance at $6,000 a month. Members will probably drop off in winter, so I'd guess six months average. Unfair advantage: my folding stand design, nobody else has one.
Output
Riskiest assumption: that commuters need repairs often enough to keep paying $12 every month. It scores 9 (likely wrong × fatal). The 10 Instagram sign-ups show people will try it, not that they stay; the six-month lifetime is a guess; and the economics below lose money on every member, so how often the problem bites is what decides the model. A better stand changes none of that, which is why the solution isn't the risk here.
Test it this week: stand at two office bike racks for a morning each and ask 20 cyclists about the last time their bike needed fixing; don't pitch. Fail if fewer than 6 paid for a repair in the past three months. Cost: $0. Time: two mornings. If it fails, the offer moves from a subscription to pay-per-fix.
Change before building:
Each member costs $90 to acquire and returns $30 of margin over six months: every sign-up adds a $60 loss, so growth deepens it.
Break-even needs 1,200 members at once, 60% of the 2,000 daily cyclists the survey counts.
Canvas
Box
Entry
Tag
Problem
Losing an evening to the bike shop for routine repairs; how often it happens is unknown
[assumption]
Customer segments
Daily cycle commuters in the business district; early adopter: those at offices with 500+ staff
[evidence: council survey, ~2,000 daily] for the size; [assumption] that they feel the problem
UVP
Your bike fixed at the office rack while you work
[assumption]
Solution
Weekly mechanic visit with a folding stand; unlimited tune-ups and puncture fixes
[evidence: founder's design]
Channels
Instagram ads; stall at the June cycling festival
[evidence: $900 test → 10 sign-ups] for Instagram; festival [assumption] and reaches leisure riders, not only commuters
Revenue streams
$12 a month per member
[evidence: stated price]
Cost structure
$7 per member per month; $6,000 a month fixed; $90 to acquire a member
[evidence: founder's figures]; CAC derived as $900 ÷ 10
Key metrics
[not stated] — paid members and months retained are the two that test the model
[assumption]
Unfair advantage
None yet. The folding stand is a feature any mechanic can buy or copy. A candidate: exclusive access agreements with office landlords, if they would sign them
—
The running-club interest is from the wrong segment (runners, not cycle commuters) and is stated intent, so the problem box stays an assumption.
Next assumptions
Members stay six months (score 6: likely wrong — a guess with winter churn named — × pivot). Test: a concierge month for the 10 Instagram sign-ups, then count who renews. Fail if fewer than 7 of 10 renew for month two. Cost: one mechanic day a week. Time: five weeks.
Instagram reaches commuters at $10 or less per paying member (score 6). $10 is a third of lifetime margin, the most a member can cost if the fixed costs are to be covered. Test: $200 on ads targeted to the business district. Fail above $10 per paying sign-up. Time: one week. Today's $90 is nine times over it.
Unit economics (computed)
Contribution: $12 − $7 = $5 a member a month (41.7% gross margin)
Lifetime margin: $5 × 6 = $30; LTV:CAC 0.33
CAC payback: $90 ÷ $5 = 18 months, three times the six-month lifetime
Break-even: $6,000 ÷ $5 = 1,200 active members
Most a member can cost to acquire: $30 at break-even, $10 at 3:1
To confirm: how the six-month lifetime was arrived at; whether the 10 Instagram sign-ups were commuters; whether office landlords allow a mechanic at the racks.
Next step: run the two rack mornings before ordering anything for the van.
How it's checked
Measured against plain Claude Code (2026-10-23): it met 74% of its checks, against 28% without it, and a blind judge preferred it. How skills are checked
39 assertions across 5 acceptance evals, and 10 trigger queries. Every skill's checks
What the output must do
The reply opens with the single riskiest assumption and a test for it, before the canvas, and the riskiest assumption is about the problem, the customer or the channel rather than the no-show predictor's accuracy
Says the AI no-show predictor is a feature, not an unfair advantage, and the unfair-advantage box reads none yet (or equivalent) rather than a substitute moat
Flags that LinkedIn ads and PetTech Expo don't reach solo mobile groomers, who the notes say aren't big on social media and that the expo draws chains and franchise buyers
Computes CAC as $1,200 / 3 = $400, contribution as $29 - $6 = $23 a month, CAC payback of about 17.4 months, and lifetime margin of $23 x 9 = $207, and says payback is longer than the 9-month lifetime so each customer loses money
Downgrades the six salon-groomer interviews as evidence from the wrong segment (salon, not mobile) and stated intent rather than behaviour
Says plainly that the idea should change before building (channel and/or economics), not only lists risks
Each top test names what to do, a sample, a pass/fail threshold set in advance, a cost and a time; no test is 'validate the market' or 'run a survey'
Does not invent competitors, market sizes, churn figures, channels presented as facts, or prices not in the notes; every canvas entry is tagged evidence (with source) or assumption
Opens with the riskiest assumption and its test, and the riskiest is about adoption by nurses or ward-manager sign-off, not whether the app can be built
Notes the 150 emails a week measures the rostering office's workload, not that nurses find swapping painful or will change how they swap
Treats ward managers as a second customer whose sign-off behaviour can block the idea
Accepts ownership of rostering data as a real advantage for an internal product over vendors, while saying it does not show nurses will adopt the app
Reads revenue streams for an internal product as the budget or saving that funds it, and does not invent a price, budget or cost figure; unit economics are skipped and the missing numbers are listed to confirm
The test has a sample, a pass/fail line set before it runs, a cost and a time (for example a manual or concierge swap run on one ward with a stated count)
Stays short as asked: no more than about 350 words, with the canvas as one line per box
Answers the quit-and-build question in the first lines, and says the idea should change (or be tested) before building the full app
Computes per-customer monthly revenue as 8 x 15% x $12 = $14.40, delivery cost as 8 x $1.10 = $8.80, contribution of $5.60 a month, and break-even of about 1,608 active customers from $9,000 fixed costs
Flags that break-even (about 1,608 customers) exceeds the founder's own estimate of 1,200 workers who would use it, so the model cannot cover the salary in this town at these numbers
Computes CAC as $500 / 20 = $25 and lifetime margin as $5.60 x 6 = $33.60, and does not claim CAC payback is longer than lifetime (payback is about 4.5 months, inside 6)
Notes the 8 lunches a month and 6-month stay come only from customers who stuck with it, in a 3-month pilot, so lifetime and order frequency are overstated or unproven
Says 'everyone who eats lunch at work' is not an early adopter and names the need for a narrower one
Moves 'our food is better than any chain' out of unfair advantage (it is a value proposition) and leaves unfair advantage as none yet or a candidate grounded in the notes
Does not invent food-safety rules, competitor names, delivery partners or numbers not in the notes; anything assumed is tagged as an assumption
Answers the actual question directly and early: gives a plain verdict on whether to quit the job now (a good answer says not yet / not on this evidence, and names what would have to be true first) rather than burying it under the canvas.
Flags that the survey is weak evidence of willingness to pay because the club is the payer but only 4 of the 31 respondents were committee members, and only 1 of those 4 said yes to £15/month; it does not present '23 of 31 (74%) would use it' or '9 said yes' as demand from buyers.
Computes unit economics from the notes correctly: variable cost £3.80 per club per month (£1.20 hosting + £2.30 SMS + £0.30 payment fee), contribution £11.20, CAC £150 (£300 / 2 paid clubs), and with the guessed 5% monthly churn a lifetime value of about £224, giving an LTV:CAC of roughly 1.5 and a payback of about 13 months; it notes CAC rests on just 2 conversions.
Catches that the '400 clubs x £15 = £6,000/month' quit plan confuses revenue with take-home: at 400 clubs contribution is £4,480/month, and at 5% churn replacing about 20 clubs a month at £150 CAC costs about £3,000/month, leaving roughly £1,480 — well short of the £3,500 needed.
Tags the 5% churn figure as an assumption (the founder says it is a guess) and raises the June-August shutdown as a specific risk to a monthly subscription (seasonal cancellations), ranking churn/seasonality among the riskiest assumptions.
Ranks the riskiest assumptions explicitly (e.g. club committees will pay £15/month; clubs will switch from or add to the free TeamHuddle app; churn), and for the top ones proposes a cheap test with a pass/fail threshold stated before the test runs (e.g. a set number of committee members pre-paying or committing out of a stated number approached).
Fills the canvas only from the notes: entries such as the Ferncross Rovers secretary experience, the 17 'chasing subs' mentions, the ads test and the ~1,200 Westmarch County FA clubs are tagged as evidence with their source, while price, churn and the 'clubs will pay for subs' belief are tagged as assumptions.
Invents nothing not in the notes: no made-up competitors beyond TeamHuddle, no market-size, conversion or churn benchmarks presented as fact, no extra survey figures, and any missing box (e.g. unfair advantage or channels beyond Facebook ads) is marked as a gap or open question rather than filled with invented content.
Catches that the proposal's break-even of 163 seats omits the product support cost in cost-model.csv: running costs are £6,500 + £2,500/month (0.5 FTE, £30,000/year) = £9,000/month, so break-even at £40/seat is 225 seats, and it states this correction plainly rather than repeating the 163 figure.
Points out that 225 seats exceeds the total potential seats across all three departments (120 + 60 + 35 = 215, which would bring in £8,600/month, about £400 short), so even full adoption does not cover running costs and the £180,000 build is never paid back at the current chargeback price.
Reads the stakeholder emails and corrects the 'confirmed interest' label: Underwriting only agreed to see a demo, and Complaints said its budget is locked until April and nothing can be charged this financial year; it treats neither as committed demand.
Flags the pilot usage drop (weekly active users fell from 22 of 25 in week 1 to 11 of 25 in week 6) as evidence against sustained adoption, and treats the 18-minutes-saved figure as weak evidence because it is self-reported by only 3 handlers.
Ranks the riskiest assumptions, with the economics/price-versus-cost gap and sustained handler usage near the top, and for each top assumption gives a cheap test with a pass/fail line set in advance (e.g. a signed chargeback commitment from the Claims head for a stated number of seats, or a measured time study with a stated minutes-saved threshold) — none of which requires spending the £180,000 first.
Makes a plain call that the proposal should change before the committee approves the build (e.g. reprice, cut run cost, re-scope, or ask for a smaller staged amount gated on the tests) rather than presenting the current ask as sound.
Fits the request for an appendix: a compact canvas plus a ranked assumptions/test table, with each canvas entry tagged evidence (citing proposal.md, cost-model.csv or stakeholder-emails.txt) or assumption, not a long essay.
Invents nothing not in the files: no new costs, salaries, seat counts, departments, usage figures, people or vendor names, and no outside benchmarks presented as fact; anything the files do not cover is marked as unknown.
When it should and shouldn't activate
Should activate:
Fill in a lean canvas for my idea: a subscription app that plans weekly meals for parents of kids with food allergies
What are the riskiest assumptions in my startup idea, and how do I test them before I write any code?
Poke holes in my business model — $49/month, we pay about $300 to get each customer, they stay around five months
I want to pitch an internal tool to the ops leadership team. Is it worth building, and what should I validate first?
How do I validate this idea cheaply this month? It's a marketplace for renting camping gear between neighbours
Should leave to another skill:
Write the business case for the new routing platform with build, buy and do-nothing options and NPV for the steering committee
The exec team approved the idea — write the press release and FAQ working backwards from launch
Run a Five Forces analysis on the meal-kit market before we decide whether to enter
What should we measure to know whether the new onboarding checklist worked after it ships?
Here are 30 customer interview notes — find the themes and what we should fix first
Hands off to
feedback-synthesis — when the problem interviews from the top test have been run and the notes are in. Count how many distinct interviewees raised the problem unprompted, against the pass/fail line set before the test.
business-case — when the riskiest assumptions have passed their tests and the idea needs money or headcount approved. Turn the tested canvas into a costed invest/defer decision with do-nothing as the baseline.