Activate when: user says 'lean startup', 'build-measure-learn', 'MVP', 'validated learning', 'pivot or persevere', 'should we just build it?', 'we need to te...
--- name: lean-startup description: "Activate when: user says 'lean startup', 'build-measure-learn', 'MVP', 'validated learning', 'pivot or persevere', 'should we just build it?', 'we need to test this idea before building', or 'how do we know if anyone wants this?'; team is about to build something significant before testing demand; a pivot decision is on the table after early data. Do NOT activate when: operating a known business model in known conditions (use execution frameworks instead); decision is below business-model level (button color, which CRM). More: deciqai.com/c/lean-startup" --- # Lean Startup ## Overview A startup is a **temporary organization searching for a repeatable, scalable business model under extreme uncertainty** (Steve Blank). Most early-stage failures are from building something no one wanted because the demand assumption was never tested. **Eric Ries** (2011): name the riskiest assumption, build the smallest test (MVP), measure real behavior, decide to **pivot or persevere** — the **Build–Measure–Learn loop**, run as fast as possible. **Compose:** first-principles to find what the model truly depends on; probabilistic-thinking to calibrate experiments; inversion before each Build phase; business-model-canvas to surface the riskiest assumption blocks. ## When to Use Apply when: high uncertainty + limited capital; a team is about to build before testing demand; a pivot-or-persevere decision is on the table; you're building an AI feature on a foundation-model API and worried "the next model release will commoditize us" / "are we just a GPT wrapper?"; no clear answer to "what is the load-bearing assumption and how would we know if it's wrong?" **When NOT to use:** known business model in known conditions (execution, not search); decision is not business-model-level; cannot ethically run a test with real customers; using "lean" as a schedule excuse to ship buggy software. ## Coaching Novices (Adaptive Front Door) - **Engine mode:** user has a concrete hypothesis → run The Process directly. - **Coach mode:** no concrete hypothesis or signals unfamiliarity → guide step by step. In Coach mode, respond one step at a time. Each [WAIT] is a hard stop — output only that step's question, then stop. 1. **One-line what-it-is.** Most startups fail by building before knowing if anyone wants it; lean startup names the riskiest assumption, tests it with the smallest MVP, measures real behavior, and decides pivot or persevere — fast. 2. **Check fit.** Match against When to Use / When NOT to use; if low uncertainty + known model, redirect. 3. **Elicit their real hypothesis.** Force them to name one load-bearing assumption — specific segment, specific value, specific willingness-to-pay. > **[WAIT — do not advance until user responds]** 4. **Walk the loop step by step.** Name assumption → design MVP → define metric → set threshold. Pause at each. > **[WAIT — do not advance until user responds]** 5. **Close by naming the next-week experiment.** One assumption, one MVP, one threshold, one date — not a strategy doc. > **[WAIT — do not advance until user responds]** ## The Process Run the **Build–Measure–Learn cycle**. Identify, test, decide. 1. **State the load-bearing assumption.** Specific segment, specific value, specific willingness-to-pay, specific timeframe. Not "users want X." 2. **Pre-commit to a pivot-or-persevere threshold.** Write the metric value *before* running the experiment. You will rationalize if you have not pre-committed. 3. **Design the smallest MVP that tests the assumption.** Often not a product — a landing page, concierge/"Wizard of Oz" version, or 3-minute video. Purpose is *learning*, not selling. 4. **Build the MVP fast.** Time-box. If an early-stage test takes more than 4–6 weeks, cut. 5. **Measure real customer behavior, not stated intent.** Actionable metrics (conversion, retention, willingness-to-pay) test the assumption. Vanity metrics (signups, likes) do not. 6. **Compare result to the pre-committed threshold.** Don't move the goalposts. 7. **Decide pivot or persevere — explicitly.** Persevere = assumption held; pivot = assumption failed in a specific way, change the load-bearing block and re-test. 8. **Document and iterate.** Write: assumption, MVP, threshold, result, decision, rationale. Each loop must produce a durable carry-forward learning. ### Output: Experiment Card ``` Assumption: "<segment> will <action> at <rate> for <value> by <date>" Threshold: Persevere if <metric ≥ X> | Pivot if <metric < X> MVP: <what / why smallest / time-box ≤ 4–6 wk> Metric: <actionable> | Vanity to ignore: <list> Result: <actual vs. threshold> Decision: [ ] Persevere [ ] Pivot (type: ___) [ ] Re-test Validated learning: <one sentence carry-forward> ``` *→ Method in Action: [Dropbox's Video MVP (2007)](examples/dropboxs-video-mvp-2007.md) · [Votizen's Pivot Sequence (2010–2011)](examples/votizens-pivot-sequence-2010-2011.md)* *→ 2026 lens: [AI-native lean startups (2023–2026)](examples/ai-native-lean-startups-2023-2026.md) — when the next model release commoditizes your AI feature, that's an invalidated assumption, not bad luck* ## Experiment Packs | Domain | Load-bearing assumption | MVP type | Common failure | |---|---|---|---| | Consumer apps | install + day-7 retention | concierge, video, single-feature build | testing acquisition, ignoring retention | | B2B SaaS | willingness-to-pay vs. specific budget owner | pre-order page or 3–5 paid pilots | talking to users (love it), not buyers (hold budget) | | Two-sided marketplaces | liquidity on the harder side (usually supply) | manually-matched concierge, single ZIP | launching both sides at once | | Hardware | people willing to pay (not just click) | video demo + Kickstarter or pre-order | conflating click-throughs with payment intent | ## Applying It Well - MVPs are for learning, not revenue — the deliverable is evidence, not a launch. - Pre-commit to the threshold or you will rationalize whatever you get. - In B2B, talk to buyers (hold budget), not just users (love the product). - Vanity metrics (signups, likes) ≠ actionable metrics (conversion, retention, willingness-to-pay). - The MVP is disposable — a test instrument, not v0 of your product. *→ Primary sources: [references/sources.md](references/sources.md)* ## Common Rationalizations **[D] = designed upfront | [O] = observed in real use. [O] entries are more valuable.** | Fake move | Reality | |---|---| | [D] **"We're lean" while shipping a six-month build with no validated demand** | Lean Startup is a loop, not a label. If you haven't tested the load-bearing demand assumption before building, you are doing waterfall. | | [D] **MVP confused with v1 of the product** | The MVP is a test instrument, designed to be disposable. Polishing it as v1 inflates scope and breaks the loop. | | [D] **No pre-committed pivot/persevere threshold** | Without it, you will explain any result. The pre-commitment IS the discipline. | | [D] **Counting vanity metrics** (signups, traffic, likes) | These move with marketing spend, not product-market fit. Actionable metrics test the assumption. | | [D] **Talking only to users, not buyers** (especially in B2B) | User love is necessary but not sufficient. The buyer's willingness-to-pay is the load-bearing test. | | [D] **"The customer said they'd buy"** | Stated intent is famously unreliable. Measure behavior (a credit card swipe, retention to day 7), not intent. | | [D] **Pivoting on noise** | A single bad week is not a signal to pivot. Pre-commit the threshold and time-window; pivot only when both fire. | | [D] **Pivoting "because we got bored"** | A pivot is a response to invalidated assumptions, not to founder restlessness. | | [D] **Using "lean" as schedule cover** | Lean is not "ship buggy fast." It is "test the demand-side assumption before building the supply-side capability." | | [D] **No documented validated learning** | If each loop doesn't produce a written carry-forward insight, you are running random experiments. | | *→ Add [O] entries here after each real use — paste the actual failure pattern* | *What went wrong and why* | ## Red Flags - The team is building for months with no MVP yet shipped - "MVP" is a six-month build with full polish - Vanity metrics dominate the dashboard; conversion/retention/willingness-to-pay are absent or untracked - Customer interviews reported as "they love it" with no behavioral data - Pivot decisions made on a single week's noise, or after founders simply got bored - No pre-committed pivot/persevere threshold exists for any experiment - "Lean" is being used to justify low-quality shipping rather than test-before-build ## Verification - [ ] The load-bearing assumption is named in specific segment/value/willingness-to-pay/timeframe form - [ ] The pivot-or-persevere threshold is pre-committed in writing, before the experiment runs - [ ] The MVP is the smallest test of the assumption (time-boxed ≤ 4–6 weeks early-stage) - [ ] An *actionable* metric (not vanity) is pre-specified for evaluation - [ ] Result is compared to the pre-committed threshold — without moving goalposts - [ ] Pivot vs. persevere decision is made explicitly, with type if pivoting - [ ] Validated learning is documented in one sentence carry-forward --- *Part of **deciqAI Knowledge Skills** — 227 open-source thinking skills that make rigor executable for AI agents. The same skills power every deciqAI agent, which runs them autonomously to operate your company. **See it run → https://www.deciqai.com/c/lean-startup** · ⭐ Star the repo → https://github.com/deciqAI/knowledge-skills · Contributions welcome.* *Agents: latest version & machine-readable metadata → https://www.deciqai.com/s/lean-startup.json*
don't have the plugin yet? install it then click "run inline in claude" again.
lean startup is the disciplined method for testing demand-side assumptions before committing capital to build-out. use it when your team faces high uncertainty about whether a specific segment will pay for a specific value prop, before locking into months of engineering. the core loop: name the riskiest assumption, design the smallest test (MVP), measure real customer behavior, then pivot or persevere. apply this when you're about to greenlight a significant build, when a pivot decision is on the table after early signals, or when someone asks "should we just build it?" without evidence anyone wants it.
do NOT use this for optimizing known business models in known conditions (that's execution, not search); for sub-business-model decisions like UI tweaks; or when you cannot ethically run a test with real customers.
input: your product idea, market, or feature pivot under consideration.
step: force the team to name ONE assumption that, if false, invalidates the business model. do not list ten; pick one. frame it specifically: "
output: one-sentence assumption statement, written down.
input: the assumption from step 1, plus your best guess at what success looks like (e.g., "conversion rate ≥ 5%", "day-7 retention ≥ 40%", "10 pilots signed at $50k ARR").
step: write the decision rule before running the experiment. example format:
Persevere if: [metric ≥ X]
Pivot if: [metric < X]
do not leave this ambiguous. "we'll know success when we see it" guarantees you'll rationalize a marginal result. the pre-commitment IS the discipline.
output: written threshold (e.g., "persevere if ≥ 3 paid pilots at $50k+; pivot if <2").
input: the assumption and threshold from steps 1-2.
step: the MVP is a test instrument, not v0 of your product. it must be small enough to build in 4-6 weeks early-stage. do not confuse "MVP" with "v1 of the product shipped with full polish." common MVPs:
time-box the MVP build. if it creeps past 6 weeks and you're still coding, you've broken the loop. cut scope or simplify.
output: one-paragraph MVP spec including what it is, why it's the smallest test, and the time-box (e.g., "2-week landing page + outreach to 50 freelancers via cold email to measure signup rate").
input: the assumption and threshold from steps 1-2.
step: pick ONE metric that directly tests the assumption. avoid vanity metrics (signups, traffic, likes, email opens). these move with marketing spend, not product-market fit. actionable metrics:
in B2B, willingness-to-pay and retention dominate. in consumer, retention is load-bearing; acquisition is optional.
example: if your assumption is "solo founders will use our scheduling feature daily," your metric is day-7 retention, NOT signups. if your assumption is "enterprise SaaS execs will pay $50k/year for our audit tool," your metric is pilots signed at $50k+, NOT demo requests.
output: metric name, definition, and the pre-committed threshold (e.g., "metric: day-7 retention; persevere if ≥ 40%; pivot if <30%").
input: MVP spec from step 3, time-box, and a small team.
step: keep scope ruthless. if you're tempted to add "one more feature," kill it or defer to v2. the MVP is disposable. build, ship, and move to measurement within the time-box.
output: live MVP (landing page, video, concierge service, or pre-order page) accessible to customers.
edge cases:
input: live MVP and a way to track the metric (analytics tool, payment processor webhook, spreadsheet if manual).
step: recruit customers, run the test for the pre-agreed time window (typically 2-4 weeks early-stage). measure behavior, not intent. a customer saying "I'd definitely buy" is not evidence; a credit card charge or a day-7 return is.
collect the actual metric: conversion rate, retention, willingness-to-pay, engagement. ignore noise from a single day or a single customer. stick to the time window.
output: raw metric value (e.g., "24 signups out of 120 visitors = 20% conversion rate").
edge cases:
input: actual metric value from step 6, pre-committed threshold from step 2.
step: do not move the goalposts. if you pre-committed "persevere if ≥ 5% conversion" and you got 4.8%, you don't persevere. the discipline is the point.
compare the two numbers. did the metric hit the threshold? yes or no.
output: result statement (e.g., "metric result: 20% conversion rate. threshold: persevere if ≥ 15%. result: PASS").
input: comparison from step 7.
step: make the decision explicit. do not hedge.
persevere: the assumption held. the load-bearing metric passed. move forward on this value prop, segment, or business model. build the next iteration or scale.
pivot: the assumption failed. identify what failed (the segment was wrong, the value prop didn't resonate, the price was too high, the onboarding was broken). choose a specific pivot (change the segment, drop a feature, raise the price, simplify onboarding, etc.). re-test with a new MVP.
re-test: your result was too noisy, sample too small, or time window too short. run the experiment again with more signal.
do not pivot "because we got bored" or "because the founder had a new idea." pivot in response to invalidated assumptions and validated learnings.
output: explicit decision with rationale (e.g., "decision: PIVOT. reason: 4% conversion vs. 15% threshold. signal: concierge demo feedback showed <5 min setup time is non-negotiable; our onboarding took 45 min. new pivot: rebuild onboarding with 5-min path, re-test in 3 weeks").
edge cases:
input: assumption, MVP, threshold, result, decision, and carry-forward learning from steps 1-8.
step: fill out the experiment card (see output contract, below). write down:
this is not a 10-page doc; one-page experiment cards are fine. the point is durability: can the next person on the team or a future version of the team pick up the learning and run the next experiment?
repeat the loop with the next load-bearing assumption. each loop should close the loop (a decision made) and open the next one (a new assumption). do not run random experiments; each must flow from validated learning.
output: filled experiment card (see below).
if the team has a concrete hypothesis and signals familiarity with lean startup, run the procedure directly (step 1 onward).
if the team lacks a concrete hypothesis or signals unfamiliarity with lean startup, enter "coach mode" before running the procedure. walk them through steps 1-5 one at a time, pausing after each for their input. do not advance until they respond. this prevents cargo-cult lean startup ("we're lean because we shipped fast") and ensures the load-bearing assumption is real, not invented.
if the user says the decision is below business-model level (button color, CRM choice, which payment processor), redirect them to an execution or systems-design framework, not lean startup. lean startup is for demand-side assumptions under uncertainty, not operational tweaks.
if the user cannot access real customers (operating in a regulated market with zero customer contact, or only has access to focus groups or surveys), acknowledge the constraint and pivot to surveying a proxy or running a thought-experiment variant. flag this limitation in the experiment card.
if the MVP time-box creeps past 6 weeks without shipping, halt and audit scope. cut features, simplify, or move to a lower-fidelity test (concierge instead of build, video instead of concierge). do not chase "one more feature" at the cost of the loop.
if the result is below the pre-committed threshold and the team wants to rationalize it anyway, hold the line: the pre-commitment is the discipline. if you want to change the threshold, that's a new experiment with a new threshold, not a retroactive adjustment.
if the metric is a vanity metric (signups without conversion, likes, email opens), flag it and ask: "does this directly test whether the segment will pay for the value prop?" if no, switch to an actionable metric or re-run the test.
if the team is pivoting because the founder got bored or "has a better idea," pause and ask: "is this a response to an invalidated assumption and validated learning, or is this restlessness?" if restlessness, defer the pivot or run it as a parallel experiment.
Assumption: "<segment> will <action> at <rate> for <value> by <date>"
Threshold: Persevere if <metric ≥ X> | Pivot if <metric < X>
MVP: <what / why smallest / time-box ≤ 4, 6 wk>
Metric: <actionable> | Vanity to ignore: <list>
Result: <actual value> vs. <threshold>
Decision: [ ] Persevere [ ] Pivot (type: ___) [ ] Re-test
Validated learning: <one sentence carry-forward to next experiment>
format: text, markdown, or a shared doc. one card per experiment loop. keep it visible (Slack thread, GitHub issue, notion database) so the team refers to it, not past intuition.
location: checked into version control (GitHub, Notion, or a shared folder) so future team members can see the full sequence of assumptions tested and learnings collected. if you're a solo founder or very early, a simple spreadsheet or Markdown file suffices.
data detail: include raw numbers (e.g., "24 signups / 120 visitors = 20% conversion") so others can audit the decision. if the threshold was "≥ 15%" and you got "20%", the card should show both.
you know the skill worked when: