foundation-build-risk-review
Runs a fast pre-build risk review on a product idea, feature request, or scope change, naming the single assumption most likely to make it fail and returning a clear verdict (build small, validate first, pivot first, or don't build yet) with a no-code validation step. Use before
Install
npx skills add https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-build-risk-review
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install product-on-purpose-pm-skills@llmmart
git clone https://github.com/product-on-purpose/pm-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole product-on-purpose/pm-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Build Risk Review
Don't build it yet. First name the one assumption most likely to make it fail.
foundation-build-risk-review is a fast, pre-commitment gate for product decisions. Given an idea, a feature request, or a scope change, it returns a Build Risk Review: the single biggest risk, the evidence behind it, a verdict, and a concrete no-code validation step, then routes you to the skill that does the next piece of work. It is a foundation hub: its job is to triage and dispatch, not to duplicate the deeper skills.
Hard gate
Do not write code, scaffold a project, recommend a stack, or design implementation. First answer three things: should this be built, what is most likely to make it fail, and what must be validated before committing.
If the user says the work is for learning, a portfolio, or internal practice, do not judge it by market standards; still flag scope and clarity risks.
When to Use
- A product idea, MVP, or new bet is about to turn into build work.
- A feature request or scope change has arrived and you need to separate real demand from a polite ask, founder anxiety, or competitor-copying.
- Someone wants a fast "should we build this?" verdict before a PRD, roadmap row, or ticket exists.
When NOT to Use
| If the ask is | Use instead |
|---|---|
| A launched product's pivot-or-persevere call, weighing usage or market data | iterate-pivot-decision |
| You have chosen the assumption and need to design the test | define-hypothesis |
| Framing a confirmed problem for the team or leadership | define-problem-statement |
| The full nine-block business model, not a single-risk read | foundation-lean-canvas |
| Ranking many features or initiatives against each other | define-prioritization-framework |
The boundary that matters most: this skill is forward-looking and pre-commitment (low or no data); iterate-pivot-decision is retrospective and post-launch (it weighs market feedback on something already shipped).
Modes (route first; state the mode at the top)
- Pre-build - a new idea, product, or MVP not yet built. The usual primary risks: demand and distribution.
- Feature-change - a feature request, scope expansion, requirement change, or competitor-copy on an in-progress product. The primary tool here is the demand hierarchy.
If the product is already launched and the question is whether to change direction, hand off to iterate-pivot-decision. If the request is too broad to review responsibly, ask exactly one clarifying question (complete the sentence: "this is for [who] in [situation] to solve [problem]"), then proceed. Never run a long questionnaire; at most two questions before a constrained review.
The review (the contract)
Produce a Build Risk Review with these parts:
- Biggest risk (
R1). Exactly one primary risk, tagged fromreferences/risk-taxonomy.md. Not a long inventory. Add at most three to five supporting risks (R2,R3, ...). - Demand level (feature-change mode). Place the request on the hierarchy: L0 founder anxiety or "competitors have it"; L1 one user asked; L2 repeated asks, no behavior proof; L3 workflow blocker; L4 revenue or retention blocker. Build-now is usually justified only at L3 or L4.
- Evidence ledger. List the signal that exists and grade each entry on the strength ladder in
references/risk-taxonomy.md. Likes, compliments, waitlists, and market-size numbers are NOT demand. Real files, booked calls, payment, repeated manual use, or switching from an existing alternative are. - Verdict (exactly one): Build small / Validate first / Pivot first / Don't build yet. Do not use "Kill".
- Validation step. A specific, no-code or low-code next action (talk to the ten users who do X; manually deliver the result for three of them; collect a preorder, paid call, or deposit), never generic advice like "build an MVP" or "do user research".
- Routing. Send the user to the skill that does the next piece of work (see below).
Be skeptical but useful. Always separate "can be built" from "should be built". Do not flatter the idea or default to encouragement; do not say "this has potential" unless the path is specific.
Verdict routing
| Verdict | Routes to |
|---|---|
| Build small | define-problem-statement, then deliver-prd / deliver-user-stories |
| Validate first | define-hypothesis, then measure-experiment-design |
| Pivot first | foundation-lean-canvas (re-frame the model) |
| Don't build yet | stop; or discover-competitive-analysis / discover-market-sizing for an evidence check |
| Several competing requests | define-prioritization-framework |
Full map, including the per-risk routing: references/routing-map.md.
If a routed skill is not available, do not ship a bare pointer. The library is often installed in part rather than whole, so the skill you route to may not exist in the user's environment. When you cannot confirm it is available, say so plainly and inline the minimal version of its output so the review stays executable:
| Routed skill absent | Inline instead |
|---|---|
define-hypothesis |
One testable hypothesis in believe / for / will / as-measured-by form |
measure-experiment-design |
A three-line experiment sketch: the one decision metric, the sample or duration needed, and the win/lose rule set before running |
define-problem-statement |
A two-sentence problem frame: who, in what situation, blocked by what |
foundation-lean-canvas |
The three riskiest boxes only: problem, customer segment, unfair advantage |
define-prioritization-framework |
A single ranked list with the one criterion that actually decides |
discover-competitive-analysis |
The two closest alternatives and the one axis on which you would lose to each today |
discover-market-sizing |
One bottom-up estimate: reachable accounts, times a realistic attach rate, times annual revenue per account, labelling each of the three as sourced or assumed. All three factors are required: accounts times attach rate is a customer count, not a market size |
deliver-prd |
The problem, the one success metric with its baseline, and what is explicitly out of scope |
deliver-user-stories |
The three stories that carry the risk, each with one acceptance criterion that could fail |
A verdict whose next step the user cannot execute is not a finished review. Naming the gap and supplying the minimum is always better than routing into an environment that cannot follow.
Output Format
A single Build Risk Review artifact, built from references/TEMPLATE.md. Section order: decision header (verdict + one-line rationale), the biggest risk (R1), supporting risks, demand level (feature mode), evidence ledger, validation plan, routing, Sources. A fully worked case is in references/EXAMPLE.md.
Quality Checklist
- Exactly one primary risk is named (
R1) and tagged from the taxonomy. - Feature-change mode places the request on L0 through L4.
- Every evidence entry is graded; no like, waitlist, or market-size number is counted as demand.
- Exactly one of the four verdicts is returned.
- The next step is specific and low or no-code, not generic advice.
- A routing target is named.
- No code, stack recommendation, or implementation design is produced (the hard gate held).
Attribution
Adapted from bin1874/before-you-build-skill (Apache-2.0), repositioned PM-neutral. The source skill's external case-memory API call and translate-to-user-language behavior are removed.
Files (pm-skills)
-
evals
-
output-scenarios
-
ai-meeting-summarizer.md 2.3 KB
--- scenario: ai-meeting-summarizer skill: foundation-build-risk-review family: framing created: 2026-06-23 --- # Scenario: should we build an AI meeting-notes summarizer? This is the INPUT brief for an output-quality eval. The skill arm and the control arm each receive everything below (and nothing else about how to do the work) and produce a build-decision artifact for it. Judges never see this header. Note: the input is deliberately RAW (an unframed "should we build this?" situation with mixed signals), not a pre-written risk review. ## Situation brief **Product:** a B2B project-management SaaS for agencies (~1,200 paying teams, $40/seat/month). **The request:** the founder wants to build an "AI meeting-notes summarizer" that joins a team's video calls, transcribes them, and posts an AI summary with action items into the project. It is the top item on the founder's personal list for next quarter. **What we are seeing (raw signals):** - 8 customers have asked for "better meeting notes" in the last six months (out of ~1,200 teams). - 2 of those 8 explicitly said "like what Otter / Fireflies does." - Three competitors shipped a similar feature this year; one markets it heavily. - The sales team says it "would help close enterprise deals," but cannot point to a lost deal where it was the deciding factor. - A LinkedIn poll the founder ran got 140 likes on "AI should take your meeting notes." - No customer has asked to pay more for it; none has tried to build a workaround themselves. **Business context the team mentioned:** - The company goal next year is net revenue retention; churn is concentrated in teams that never adopt the core planning board. - Engineering is 6 people; a real-time transcription + AI pipeline is a multi-month build with ongoing per-minute inference cost. - The core planning board has known gaps that customers complain about weekly. **What is NOT yet known:** - Whether any team would change its behavior (or pay) for the feature, versus liking the idea. - Whether the 8 requesters represent a pattern or a vocal few. - Whether the real retention lever is the meeting feature or fixing the core planning board. **Audience for the artifact:** the founder and the head of engineering, deciding whether to put the feature on next quarter's roadmap.
-
-
trigger-fixtures.json 4.7 KB
{ "schema": 1, "skill": "foundation-build-risk-review", "runs_per_query": 3, "trigger_threshold": 0.5, "queries": [ { "q": "Before I start building this SaaS idea, tell me the one thing most likely to make it fail and whether it's worth doing at all", "expect": "trigger", "split": "train" }, { "q": "A customer asked us to add SSO. Should we build it now, or is that premature?", "expect": "trigger", "split": "train", "notes": "Feature-change mode; demand-hierarchy call before committing" }, { "q": "We're thinking of expanding our note-taking utility into a full platform; pour cold water on it before we commit", "expect": "trigger", "split": "train" }, { "q": "Is this AI meeting-summarizer idea worth building, or should I validate demand first?", "expect": "trigger", "split": "train" }, { "q": "Sales keeps asking for a bulk-export feature; sanity-check whether we should build it before I write it up", "expect": "trigger", "split": "train" }, { "q": "Should we honor this feature request, or is it scope creep that hides a harder problem?", "expect": "trigger", "split": "train" }, { "q": "I want to build a landing page and MVP for a freelancer-invoicing tool; what's the biggest risk and what should I validate first?", "expect": "trigger", "split": "validation" }, { "q": "Competitors just shipped a Kanban view; should we copy it, or is that a trap?", "expect": "trigger", "split": "validation" }, { "q": "Give me a build, validate, or cut verdict on adding a native mobile app to our web product", "expect": "trigger", "split": "validation" }, { "q": "Before we put this on the roadmap, what assumption would kill it and how do I test that cheaply?", "expect": "trigger", "split": "validation" }, { "q": "Write up the problem statement for our mobile checkout drop-off, with user impact and success criteria", "expect": "no-trigger", "split": "train", "near_miss_of": "define-problem-statement", "notes": "Framing a confirmed problem, not a build verdict" }, { "q": "We launched six months ago, growth has stalled, and the data shows users churn after week two; document whether we should pivot or persevere", "expect": "no-trigger", "split": "train", "near_miss_of": "iterate-pivot-decision", "notes": "Post-launch pivot-or-persevere with usage data: the closest boundary" }, { "q": "Build me a full lean canvas for this new product thesis across all nine blocks", "expect": "no-trigger", "split": "train", "near_miss_of": "foundation-lean-canvas", "notes": "Full business-model canvas, not a single-risk gate" }, { "q": "Run RICE and MoSCoW over these twelve feature requests and show me where they disagree", "expect": "no-trigger", "split": "train", "near_miss_of": "define-prioritization-framework", "notes": "Ranking a list, not one build decision" }, { "q": "We believe onboarding emails will lift activation; turn that into a testable hypothesis with success metrics", "expect": "no-trigger", "split": "train", "near_miss_of": "define-hypothesis", "notes": "Designing the test for a chosen assumption" }, { "q": "Our paid product has flat retention and the market shifted under us; make the persevere-or-pivot call with the evidence", "expect": "no-trigger", "split": "train", "near_miss_of": "iterate-pivot-decision", "notes": "Second post-launch pivot near-miss (closest neighbor)" }, { "q": "Reframe this drifted project around the original problem we set out to solve, for leadership", "expect": "no-trigger", "split": "validation", "near_miss_of": "define-problem-statement", "notes": "Re-anchoring a problem, not a build verdict" }, { "q": "Stress-test our existing business model and compare two strategic options side by side", "expect": "no-trigger", "split": "validation", "near_miss_of": "foundation-lean-canvas", "notes": "Business-model stress-test across the canvas blocks" }, { "q": "Debug this null pointer exception showing up in our checkout service logs", "expect": "no-trigger", "split": "validation", "notes": "Unrelated engineering ask" }, { "q": "Find me a hotel near the Berlin conference center for next week", "expect": "no-trigger", "split": "validation", "notes": "Unrelated logistics ask" } ] }
-
-
references
-
EXAMPLE.md 4.9 KB
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> # Example: Build Risk Review (feature-change mode) A worked case showing the full artifact. The scenario is a B2B ecommerce platform whose sales team is pushing to build single sign-on (SSO) after two enterprise prospects raised it. All merchant and deal specifics are `[fictional]`. --- ## Scenario > The input the skill received. "Two enterprise prospects asked about SSO in the last month, and Sales says we'll lose them without it. They want me to put SSO on next sprint. We're a 140-merchant B2B catalog platform; most of our paying accounts are mid-market. Should we build SSO now?" ## Prompt "Run a build risk review on this SSO request before I commit a sprint." --- # Build Risk Review: SSO for enterprise merchant accounts **Mode:** Feature-change | **Date:** 2026-06-22 ## Verdict **Validate first.** SSO is a plausible enterprise requirement, but the current signal is two prospects raising it in calls, not a confirmed deal-blocker. Committing a sprint now would build on an L2 signal and pull capacity from the activation work that the data says actually moves retention. ## Biggest risk - **R1 `feature-fit`:** the request is being read as an L4 deal-blocker when the evidence only supports L2 (repeated asks, no behavior proof). Neither prospect has put "no SSO = no deal" in writing, and no current paying merchant has churned over its absence. Building on that is the feature-treadmill trap: it feels urgent because Sales is loud, not because the data says it changes who pays. - **R2 `distribution`:** even if built, SSO does not by itself reach more enterprise buyers; the constraint upstream is a thin enterprise pipeline `[fictional: 2 active prospects]`, which a feature does not fix. - **R3 `trust`:** SSO is a trust-tier feature (identity, provisioning), so a thin first version that mishandles SCIM or de-provisioning would do more reputational harm than not having it, raising the real cost above the sprint estimate. ## Demand level **L2 - repeated asks, no behavior proof.** Two prospects mentioned SSO in sales calls `[fictional]`. That is more than one ask (above L1) but neither has made it a contractual go/no-go, and zero of 140 paying merchants `[fictional]` have raised or churned over it. It is not yet an L3 workflow blocker (merchants complete the core catalog job today without SSO) or an L4 revenue blocker (no signed dependency). ## Evidence ledger | Signal | Strength | What it does or does not prove | |---|---|---| | Two enterprise prospects raised SSO in calls `[fictional]` | medium | real interest from the target segment; not a commitment | | Sales says "we'll lose them without it" | weak | a forecast, not a written requirement; Sales is incentivized to unblock deals with product | | "Enterprise buyers expect SSO" (category articles) | weak | a category norm, not proof for these two deals | | 0 of 140 paying merchants cite SSO `[fictional]` | counter-signal | no retention or activation pressure from the existing base | | Activation A/B in flight shows onboarding checklist lifts week-2 retention `[fictional]` | strong (for the alternative) | the capacity SSO would consume has a measured return elsewhere | ## Validation plan 1. **Make the deal dependency real.** Ask both prospects to confirm in writing that SSO is a go/no-go requirement with a target date. Pass bar: at least one returns a signed contingency. If neither does, the L4 framing is false and this drops to Defer. 2. **Price the trust tier.** Time-box a half-day spike on the SCIM / de-provisioning surface to replace the sprint estimate with a real one; a trust-tier feature is rarely a one-sprint build. 3. **Hold the line on activation.** Do not pause the in-flight activation A/B; it has a measured retention return that the SSO request does not. ## Routing -> `define-hypothesis` to frame "SSO unblocks >= $X enterprise ARR this quarter" as a testable claim with a metric and a date, then `define-prioritization-framework` to rank it against the activation work once the spike gives a real cost. If a signed contingency comes back, re-run this review; a confirmed L4 flips the verdict to Build small and routes to `define-problem-statement` -> `deliver-prd`. ## Sources - All merchant counts, prospect details, and experiment results are `[fictional]` and illustrative. - Demand-level and evidence-strength definitions: `references/risk-taxonomy.md`. --- ## Why not the other verdicts > Included here for teaching; a real artifact does not need this section. - **Build small** would be right at L3/L4 - if a prospect signs an SSO contingency, or a paying merchant churns over it. Today neither is true. - **Don't build yet** would be too strong: the segment interest is real and SSO is a normal enterprise requirement, so the wedge is not wrong, only unproven. - **Pivot first** does not apply: nothing here questions the product's direction, only the timing of one feature. -
risk-taxonomy.md 2.7 KB
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> # Risk taxonomy, demand hierarchy, and evidence ladder The three structures the review runs on. They are the skill's value: a generic prompt does not impose them. ## Risk types Each type names where a build is most likely to fail, in the library's vocabulary, plus where to route for a deeper look. Tag `R1` (and supporting risks) with one of these. | Tag | The failure mode | What it looks like | Routes to | |---|---|---|---| | `demand` | nobody wants it enough to change behavior | no repeated pull; no urgency over the current workaround | `discover-market-sizing` / `define-hypothesis` | | `distribution` | you cannot reach the first users | no named channel; "we'll launch and they'll come" | `foundation-lean-canvas` (Channels block) | | `positioning` | the wedge is too broad, crowded, or generic | "for everyone"; indistinct from incumbents | `discover-competitive-analysis` | | `monetization` | the buyer or payment model does not fit | subscription for a low-frequency utility; buyer is not the user | `foundation-lean-canvas` (Revenue block) | | `retention` | users do it once and do not return | a one-time utility framed as ongoing | `measure-experiment-design` | | `trust` | users will not connect data, accounts, or money | privacy, security, or migration friction | `define-problem-statement` | | `feature-fit` | the change does not move usage, payment, or retention | scope creep, feature treadmill, competitor-copy, one user asked | `define-prioritization-framework` | ## Demand hierarchy (feature-change mode) Place a feature request on the ladder. Build-now is usually justified only at L3 or L4; below that, validate or defer. - **L0 - founder anxiety.** "Competitors have it" or "it feels incomplete." No user signal. - **L1 - one ask.** A single user requested it; no proof it affects usage, payment, or retention. - **L2 - repeated asks.** Several target users ask, but there is no behavior proof yet. - **L3 - workflow blocker.** Users cannot complete the core job without it. - **L4 - revenue or retention blocker.** Users refuse to pay, churn, or fail activation because it is missing. ## Evidence strength ladder Grade every entry in the evidence ledger. Do not let weak signal carry a verdict. - **Weak (not demand):** likes, compliments, waitlist signups, survey "would use", market-size numbers. - **Medium:** repeated unsolicited requests, competitor traction in the exact wedge, a manual workaround users maintain. - **Strong:** real files or data handed over, booked calls, a preorder or deposit, repeated manual use, switching away from an existing paid alternative. The verdict should track the strongest honest signal, not the most dramatic-sounding risk. -
routing-map.md 1.7 KB
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> # Routing map The Build Risk Review is a gate that dispatches into the rest of the library. Always name a routing target so the user knows the next move. ## By verdict | Verdict | Means | Route to | |---|---|---| | **Build small** | worth a narrow first version | `define-problem-statement`, then `deliver-prd` / `deliver-user-stories` | | **Validate first** | direction plausible; demand, payment, or distribution unproven | `define-hypothesis`, then `measure-experiment-design` | | **Pivot first** | the area is plausible but the current wedge is too broad, crowded, or weak | `foundation-lean-canvas` (re-frame the model) | | **Don't build yet** | too vague, no reachable user, or solved well enough already | stop; or `discover-competitive-analysis` / `discover-market-sizing` for an evidence check | ## By risk type When a specific risk dominates and warrants a deeper look, route per the "Routes to" column in `references/risk-taxonomy.md` (e.g. a `monetization` risk routes to `foundation-lean-canvas` Revenue; a `demand` risk to `discover-market-sizing`). ## Several competing requests If the input is not one build decision but a set of requests to rank, hand off to `define-prioritization-framework` (RICE / ICE / MoSCoW). This skill judges one decision's risk of failure; it does not rank a list. ## Boundaries (NOT this skill's job) - A launched product's pivot-or-persevere call, weighing market feedback -> `iterate-pivot-decision`. - Framing a confirmed problem for the team or leadership -> `define-problem-statement`. - Designing the test for a chosen assumption -> `define-hypothesis`. - The full nine-block business model -> `foundation-lean-canvas`. -
TEMPLATE.md 2 KB
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> # Build Risk Review: <one-line subject> > Authoring notes are in blockquotes; delete them in the final artifact. Fill every non-optional section. Keep it short: a Build Risk Review is a gate, not a report. **Mode:** <Pre-build | Feature-change> | **Date:** <YYYY-MM-DD> ## Verdict > Exactly one: Build small / Validate first / Pivot first / Don't build yet. Then one sentence of rationale. Do not use "Kill". **<Verdict>.** <One-line rationale.> ## Biggest risk > Exactly one primary risk, `R1`, tagged from references/risk-taxonomy.md. Then at most three to five supporting risks. Do not produce a long inventory. - **R1 <risk-type>:** <the single assumption most likely to make this fail, stated concretely.> - R2 <risk-type>: <supporting risk.> - R3 <risk-type>: <supporting risk.> ## Demand level > Feature-change mode only. Place the request on L0 through L4 and say why. For pre-build mode write "n/a: new idea". **L<0-4> - <label>.** <Why this level: founder anxiety, one ask, repeated asks, a workflow blocker, or a revenue/retention blocker?> ## Evidence ledger > What signal actually exists, each graded on the strength ladder (references/risk-taxonomy.md). Be honest: likes, waitlists, and market-size are not demand. Mark counter-signal too. | Signal | Strength | What it does or does not prove | |---|---|---| | <signal> | <weak / medium / strong> | <reading> | ## Validation plan > Specific, no-code or low-code next actions with a concrete bar. Never "build an MVP" or "do user research". 1. <action with a pass/fail bar.> 2. <action.> ## Routing > The next skill to run, from references/routing-map.md. -> <skill> (<why>). ## Sources > Real, cited facts only. Mark every invented number `[fictional]`. --- **Output contract:** one artifact; one `R1`; exactly one verdict; one demand level in feature-change mode; a graded evidence ledger; a no-code next step; a named routing target; no code or implementation design.
-
-
HISTORY.md 3.8 KB
# foundation-build-risk-review - Version History | Version | Date | Release | Effort | Type | Summary | |---------|------|---------|--------|------|---------| | 1.1.0 | 2026-08-16 | v2.33.0 | C-14 | minor | Verdict routing gains a not-installed fallback: name the gap and inline the minimum for each routed skill, so a review never ships a next step the user cannot execute (#253). | | 1.0.1 | 2026-07-04 | v2.30.0 | M-35 | patch | Heading normalized to the skeleton-canon spelling: "When to use" to "When to Use", "When NOT to use" to "When NOT to Use", bare "Output" to "Output Format", "Quality checklist" to "Quality Checklist". | | 1.0.0 | 2026-06-22 | v2.29.0 | F-56 | baseline | Prior published version: fast pre-build risk review naming the single assumption most likely to make a product idea or scope change fail, with a verdict and a no-code validation step. | ## 1.1.0 (2026-08-16) Field-reported ([#253](https://github.com/product-on-purpose/pm-skills/issues/253)). This skill was the reporter's exact reproduction: they installed a subset of the library, ran the review to a "Validate first" verdict, and the artifact shipped mandating `define-hypothesis` then `measure-experiment-design`, neither of which existed in their environment. The library is routinely installed in part rather than whole, and the install CLI copies only the skill directories it is asked for, so a routed skill may simply not be there. Until now the routing table assumed the full catalog. Verdict routing now carries a not-installed fallback: when the routed skill cannot be confirmed available, say so plainly and inline the minimum version of its output, with a per-skill table giving that minimum (a hypothesis in believe/for/will/as-measured-by form, a three-line experiment sketch, a two-sentence problem frame, the three riskiest lean-canvas boxes, or a single ranked list). The governing line is that a verdict whose next step the user cannot execute is not a finished review. Minor rather than patch: the skill now handles a scenario it previously could not, and the output gains an optional section, which is additive under the versioning tie-breaker. ## 1.0.1 (2026-07-04) Released in [v2.30.0](../../site/src/content/docs/releases/Release_v2.30.0.md). Effort: M-35 (trust repair sweep). Heading-normalization sweep (WS-T8b): the 2026-07-04 deep audit named this skill's own case-drifted headings ("When to use", "When NOT to use", both lowercase) as the informal fourth dialect that emerged from mirroring an already-drifted exemplar, plus a bare "Output" (one of six drifted output-section heading names catalog-wide) and a lowercase "Quality checklist". All four renamed to the canon spelling from the new Skeleton Canon doc (see `utility-pm-skill-builder` and `utility-pm-skill-validate`). No change to the review contract, verdict logic, or routing. This skill's broader heading set (`Modes`, `The review (the contract)`, `Verdict routing`) does not cleanly match one of the three sanctioned dialects; a full skeleton retrofit is out of scope for v2.30.0 and deferred to the v2.31.0 full-catalog normalization pass. ## 1.0.0 (2026-06-22) Released in [v2.29.0](../../site/src/content/docs/releases/Release_v2.29.0.md). Effort: F-56 (#149). Initial release: a fast, pre-commitment gate for product decisions. Given an idea, a feature request, or a scope change, returns a Build Risk Review - the single biggest risk, the evidence behind it, a verdict, and a concrete no-code validation step - then routes to the skill that does the next piece of work. ### Contract established - Two modes: pre-build (a new idea or MVP) and feature-change (a request or scope expansion on an in-progress product) - Exactly one of four verdicts: Build small / Validate first / Pivot first / Don't build yet - Output: a single Build Risk Review artifact built from `references/TEMPLATE.md` -
SKILL.md 8.3 KB
--- name: foundation-build-risk-review description: Runs a fast pre-build risk review on a product idea, feature request, or scope change, naming the single assumption most likely to make it fail and returning a clear verdict (build small, validate first, pivot first, or don't build yet) with a no-code validation step. Use before committing build effort, when triaging whether to honor a feature request, or when deciding whether to expand scope, ahead of writing a PRD. For a launched product's pivot-or-persevere decision, use iterate-pivot-decision instead. license: Apache-2.0 metadata: classification: foundation version: "1.1.0" updated: 2026-08-16 category: problem-framing frameworks: [triple-diamond, lean-startup] author: product-on-purpose --- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> <!-- Adapted from bin1874/before-you-build-skill (Apache-2.0), repositioned PM-neutral. --> # Build Risk Review Don't build it yet. First name the one assumption most likely to make it fail. `foundation-build-risk-review` is a fast, pre-commitment gate for product decisions. Given an idea, a feature request, or a scope change, it returns a **Build Risk Review**: the single biggest risk, the evidence behind it, a verdict, and a concrete no-code validation step, then routes you to the skill that does the next piece of work. It is a foundation hub: its job is to triage and dispatch, not to duplicate the deeper skills. ## Hard gate Do not write code, scaffold a project, recommend a stack, or design implementation. First answer three things: should this be built, what is most likely to make it fail, and what must be validated before committing. If the user says the work is for learning, a portfolio, or internal practice, do not judge it by market standards; still flag scope and clarity risks. ## When to Use - A product idea, MVP, or new bet is about to turn into build work. - A feature request or scope change has arrived and you need to separate real demand from a polite ask, founder anxiety, or competitor-copying. - Someone wants a fast "should we build this?" verdict before a PRD, roadmap row, or ticket exists. ## When NOT to Use | If the ask is | Use instead | |---|---| | A launched product's pivot-or-persevere call, weighing usage or market data | `iterate-pivot-decision` | | You have chosen the assumption and need to design the test | `define-hypothesis` | | Framing a confirmed problem for the team or leadership | `define-problem-statement` | | The full nine-block business model, not a single-risk read | `foundation-lean-canvas` | | Ranking many features or initiatives against each other | `define-prioritization-framework` | The boundary that matters most: this skill is **forward-looking and pre-commitment** (low or no data); `iterate-pivot-decision` is **retrospective and post-launch** (it weighs market feedback on something already shipped). ## Modes (route first; state the mode at the top) 1. **Pre-build** - a new idea, product, or MVP not yet built. The usual primary risks: demand and distribution. 2. **Feature-change** - a feature request, scope expansion, requirement change, or competitor-copy on an in-progress product. The primary tool here is the demand hierarchy. If the product is already launched and the question is whether to change direction, hand off to `iterate-pivot-decision`. If the request is too broad to review responsibly, ask exactly one clarifying question (complete the sentence: "this is for [who] in [situation] to solve [problem]"), then proceed. Never run a long questionnaire; at most two questions before a constrained review. ## The review (the contract) Produce a Build Risk Review with these parts: 1. **Biggest risk (`R1`).** Exactly one primary risk, tagged from `references/risk-taxonomy.md`. Not a long inventory. Add at most three to five supporting risks (`R2`, `R3`, ...). 2. **Demand level (feature-change mode).** Place the request on the hierarchy: L0 founder anxiety or "competitors have it"; L1 one user asked; L2 repeated asks, no behavior proof; L3 workflow blocker; L4 revenue or retention blocker. Build-now is usually justified only at L3 or L4. 3. **Evidence ledger.** List the signal that exists and grade each entry on the strength ladder in `references/risk-taxonomy.md`. Likes, compliments, waitlists, and market-size numbers are NOT demand. Real files, booked calls, payment, repeated manual use, or switching from an existing alternative are. 4. **Verdict** (exactly one): **Build small** / **Validate first** / **Pivot first** / **Don't build yet**. Do not use "Kill". 5. **Validation step.** A specific, no-code or low-code next action (talk to the ten users who do X; manually deliver the result for three of them; collect a preorder, paid call, or deposit), never generic advice like "build an MVP" or "do user research". 6. **Routing.** Send the user to the skill that does the next piece of work (see below). Be skeptical but useful. Always separate "can be built" from "should be built". Do not flatter the idea or default to encouragement; do not say "this has potential" unless the path is specific. ## Verdict routing | Verdict | Routes to | |---|---| | Build small | `define-problem-statement`, then `deliver-prd` / `deliver-user-stories` | | Validate first | `define-hypothesis`, then `measure-experiment-design` | | Pivot first | `foundation-lean-canvas` (re-frame the model) | | Don't build yet | stop; or `discover-competitive-analysis` / `discover-market-sizing` for an evidence check | | Several competing requests | `define-prioritization-framework` | Full map, including the per-risk routing: `references/routing-map.md`. **If a routed skill is not available, do not ship a bare pointer.** The library is often installed in part rather than whole, so the skill you route to may not exist in the user's environment. When you cannot confirm it is available, say so plainly and inline the minimal version of its output so the review stays executable: | Routed skill absent | Inline instead | |---|---| | `define-hypothesis` | One testable hypothesis in believe / for / will / as-measured-by form | | `measure-experiment-design` | A three-line experiment sketch: the one decision metric, the sample or duration needed, and the win/lose rule set before running | | `define-problem-statement` | A two-sentence problem frame: who, in what situation, blocked by what | | `foundation-lean-canvas` | The three riskiest boxes only: problem, customer segment, unfair advantage | | `define-prioritization-framework` | A single ranked list with the one criterion that actually decides | | `discover-competitive-analysis` | The two closest alternatives and the one axis on which you would lose to each today | | `discover-market-sizing` | One bottom-up estimate: reachable accounts, times a realistic attach rate, times annual revenue per account, labelling each of the three as sourced or assumed. All three factors are required: accounts times attach rate is a customer count, not a market size | | `deliver-prd` | The problem, the one success metric with its baseline, and what is explicitly out of scope | | `deliver-user-stories` | The three stories that carry the risk, each with one acceptance criterion that could fail | A verdict whose next step the user cannot execute is not a finished review. Naming the gap and supplying the minimum is always better than routing into an environment that cannot follow. ## Output Format A single Build Risk Review artifact, built from `references/TEMPLATE.md`. Section order: decision header (verdict + one-line rationale), the biggest risk (`R1`), supporting risks, demand level (feature mode), evidence ledger, validation plan, routing, Sources. A fully worked case is in `references/EXAMPLE.md`. ## Quality Checklist - [ ] Exactly one primary risk is named (`R1`) and tagged from the taxonomy. - [ ] Feature-change mode places the request on L0 through L4. - [ ] Every evidence entry is graded; no like, waitlist, or market-size number is counted as demand. - [ ] Exactly one of the four verdicts is returned. - [ ] The next step is specific and low or no-code, not generic advice. - [ ] A routing target is named. - [ ] No code, stack recommendation, or implementation design is produced (the hard gate held). ## Attribution Adapted from `bin1874/before-you-build-skill` (Apache-2.0), repositioned PM-neutral. The source skill's external case-memory API call and translate-to-user-language behavior are removed.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.