Skip to content
user

product-engineering

Raw idea → build-ready decision brief.

15 skills4 human gates60–120 min/session

From an uncertain idea to a build-ready decision

The contract

Use it when
You have a raw product idea or problem and need to converge on a build-ready decision brief before anyone writes code.
You type
Shape this: teams cannot tell which pack to install first.
You provide
A product idea or problem description, with any scope constraints or prior discovery context.
You receive
A build-ready decision brief — intent, validated candidate, assumption-test, and decomposition into delivery briefs.

Where you decide

The agent pauses at these points. You choose whether to continue, redirect, or stop.

What changes when you install this

After installing product-engineering, upstream intent work runs through discovery-loop: frame → explore → converge → commit. The discovery-lead agent diverges across candidate product shapes, drives the lens roster to convergence, and emits a connected hypothesis with validation hooks — no engine. You review at four human gates; the agent runs everything between them.

The journey

Say this What happens
discovery-loop Start or resume a supervised end-to-end discovery
frame-intent Frame a product problem at any altitude
de-risk-intent Surface the riskiest assumption and design a prototype approach
decompose-intent Break the converged intent into delivery briefs and specs
ux-writing Characterize the product voice and write per-state UI copy

Which level to enter at

Every intent — from a product bet to a single feature — is the same artifact with one field that differs: Level. The recognized set runs deepest-product-bet first:

product-vision › product-strategy › capability › feature

You enter at the altitude you’re operating at. Most work starts somewhere in the middle; the rungs above exist for when the real bet is higher up.

Level The question being answered Enter here when…
product-vision Should this product exist at all, for whom, and through what wedge? You’re at a greenfield concept and the existence bet is not yet settled
product-strategy What is the central challenge, and what path do we take through it? The product exists but the strategic direction — which problem, which segment, in what order — is the open question
capability Can we build and operate this platform or capability coherently? The strategy is set and you’re committing a bounded capability (a billing platform, an API gateway, a data pipeline)
feature Do users want this specific thing, and does it land? The scope is already clear — one buildable, shippable slice

The set is open: if your org operates at an altitude the recognized set doesn’t name (an initiative, an epic), name it — Level is a free string, not a fixed ladder.

De-risking shifts with the level. At product-vision and product-strategy, the riskiest assumption is market-existence — will anyone want this at all, can it be a business? That bet is tested once at the top, not relitigated per feature. At capability, the risk is architectural or adoption-shaped. At feature, it’s desirability — do users want this feature?

Decomposition runs one level at a time. A capability intent decomposes into feature intents; a feature intent decomposes into a spec/slice — the shippable unit your delivery loop builds. Each child re-enters the loop at its own level: frame-intentde-risk-intentdecompose-intent.


1. Shape intent

Type frame-intent and describe the product problem — any altitude, any level of clarity. The agent will confirm the level with you before framing begins; if the scope implies a higher bet, it will offer to raise it.

At feature level — the scope is already clear, one shippable slice:

frame-intent

  Level    feature
  Problem  New users don't understand the product's value in the first session.
  User     First-time user arriving after sign-up with no prior context.
  Outcome  Activation rate rises; first-session drop-off decreases.

Ratify framing? ›

At capability level — committing a bounded platform or capability:

frame-intent

  Level    capability
  Problem  Every team builds its own billing integration — no shared primitives.
  User     Engineering teams shipping subscription-based features.
  Outcome  Time to add a new billing flow drops from weeks to days.

Ratify framing? ›

At product-vision level — the existence bet is the open question:

frame-intent

  Level    product-vision
  Problem  Small studios can't afford dedicated developer tooling, so they ship slowly and inconsistently.
  User     2–5-person studio without a dedicated platform engineer.
  Outcome  Studios reach production quality on their first release, not their third.

Ratify framing? ›
  • You decide: approve the intent — ratify the framing before the loop diverges. A vague problem means the loop explores the wrong space.
  • Output: an intent document with a specific problem, named user, and measurable outcome, stamped with the confirmed Level.
  • State: draft

2. Diverge across candidates

Type discovery-loop and let the agent run explore-options to generate candidate product shapes with distinct tradeoff profiles.

explore-options

  Shape   Mechanic                      Riskiest assumption
  A       Guided setup wizard           Users complete wizard without abandoning
  B       API-first self-serve          Users tolerate high first-session cost
  C       Community-driven templates    Template quality drives first activation
  D       In-app explainer video        Passive exposure converts without action
  • Output: a set of candidate product shapes with distinct tradeoff profiles — each with a named riskiest assumption.
  • State: draft

3. Run the lens roster

The discovery-lead agent runs discovery-threat-reviewer and discovery-reliability-reviewer against each surviving candidate; each reads cold and returns findings.

discovery-threat-reviewer

  Concern  Shape A: wizard collects account data before trust is established
  Blocker  Shape B: token stored at rest without encryption boundary named

discovery-reliability-reviewer

  Concern  Shape C: community template freshness has no defined staleness bound
  • Output: a filtered candidate set with review findings attached; candidates with Blockers are eliminated.
  • State: read-only

4. Check mid-discovery

The agent surfaces the surviving candidates for your mid-course review.

discovery-loop

  Candidate   Status       Note
  Shape A     surviving    concern addressed — trust framing added
  Shape C     surviving    staleness concern open — carried to convergence
  Shape B     eliminated   token-at-rest blocker
  Shape D     eliminated   no commitment signal detected

Mid-discovery check — confirm candidates? ›
  • You decide: choose a candidate — confirm the surviving candidates or direct a re-exploration. This is the last cheap moment to expand the option space.
  • Output: a confirmed candidate field ready for convergence.
  • State: draft

5. Converge on the candidate

The agent runs de-risk-intent to surface the riskiest assumption and design a test, then decompose-intent to break the winning shape into the next level down.

de-risk-intent

  Assumption   Users complete the wizard without abandoning at step 2.
  Kill cond.   < 4 of 6 target users reach step 3 in a moderated prototype session.
  Approach     validate-first — predeclare the line, then run sessions.
  Hook         Conduct 6 moderated prototype sessions with target user profile.

What decompose-intent produces depends on your level:

  • At capability or above — child intents at the next level down (e.g. a capability intent produces feature intents). Each child re-enters the loop at its own level and is de-risked independently.
  • At feature — one independently shippable feature becomes a delivery contract. Use a delivery brief only when the result coordinates multiple specs or repositories.

A child whose riskiest assumption is killed bubbles back up — the parent must re-decompose or reframe. That feedback edge keeps the tree honest.

  • Output: a de-risked candidate with a predeclared kill condition and a named validation hook; then a decomposition one level down — child intents or, at the leaf, a delivery contract unless multi-spec or cross-repository coordination requires a delivery brief.
  • State: draft

6. Reconcile and commit

The agent presents the full discovery sidecar — intent, assumption-test, validated candidate, and decomposition — for your final review.

discovery-loop

  Section          Status     Notes
  intent           ratified   feature level, onboarding-activation
  assumption-test  done       validate-first, 6 sessions, line predeclared
  candidates       1 of 4     Shape A survived
  decision-brief   ready      validation hook attached

Reconcile? ›
  • You decide: approve the decision brief — is the brief complete? Then commit to build — am I ready to build this? These are two distinct decisions; read the brief in full before ratifying either.
  • Output: a ratified decision record with a connected hypothesis and validation hooks. One independently shippable feature hands off as a delivery contract; a multi-spec or cross-repository result uses a coordinating delivery brief. A compatible Core invocation admits either through work-intake; otherwise the agent renders a portable bounded handoff. At capability or above it produces ratified child intents — each re-enters the loop independently at its own level.
  • State: confirmed-write

What good output looks like

  1. YouUse discovery-loop to take this feature idea to a build-ready decision brief. Release owners can see which automated check failed, but not what action will unblock it. Diverge before converging.
  2. AgentInitial framing: the affected user is the release owner; the failure names the rule but not the corrective action; success means choosing the next step without inspecting source code.
  3. YouApprove the intent.
  4. AgentI compared three candidates: richer inline guidance, a linked runbook, and interactive remediation. I recommend concise inline guidance with a stable documentation link: it shortens recovery without creating a new runtime path.
  5. YouChoose that candidate.
  6. AgentThe decision brief now records the evidence, boundaries, risks, rejected alternatives, and success measures.
  7. YouApprove the decision brief.
  8. AgentThe capability map separates failure diagnosis, corrective guidance, and verification. The first build slice is specified and independently reviewable.
  9. YouCommit to build.

Human gates

For each gate, everything you need to make a confident decision.

  • Approve the intent

    Trigger
    After frame-intent emits the initial framing
    Time
    10–15 minutes
    What to check, good, bad, consequence

    What to check

    • Is the problem statement specific enough to eliminate candidates? (A vague problem cannot be de-risked.)
    • Is the user named specifically — not 'users' or 'teams'?
    • Is the outcome measurable — what would change in the world if this succeeded?

    What good looks like

    A framing that names a specific user, a falsifiable problem, and a measurable outcome.

    What bad looks like

    A framing that could apply to any product — 'improve developer productivity' is not a problem statement.

    Consequence of skipping

    This is the framing gate. A bad framing means the entire discovery loop explores the wrong space.

  • Choose a candidate

    Trigger
    After explore-options and the first lens-roster pass
    Time
    15–20 minutes
    What to check, good, bad, consequence

    What to check

    • Which candidates survived the lens roster? Do the survivors feel right?
    • Are eliminated candidates genuinely eliminated, or just deprioritized?
    • Is there a candidate missing that should be explored?

    What good looks like

    A clear field of two or three differentiated candidates, each with a distinct tradeoff profile.

    What bad looks like

    All candidates converged to the same shape before the lens roster ran — the diverge step didn't diverge.

    Consequence of skipping

    The mid-discovery check prevents the loop from converging on a bad candidate without the human noticing.

  • Approve the decision brief

    Trigger
    After the full lens-roster pass on the surviving candidates
    Time
    20–30 minutes
    What to check, good, bad, consequence

    What to check

    • Did both discovery reviewers (threat + reliability) flag anything that would block the build?
    • Does the validated candidate's hypothesis have a clear validation hook?
    • Is the decomposition granular enough to fit in one build-loop iteration?

    What good looks like

    A build-ready decision brief — reviewers clean, falsifiable hypothesis, decomposition that fits the delivery loop.

    What bad looks like

    A brief that passes the gate but skips the riskiest assumption. Or a decomposition too large for one loop.

    Consequence of skipping

    This produces the build commitment artifact. A bad brief means the delivery loop builds the wrong thing faithfully.

  • Commit to build

    Trigger
    After the reconciliation record is ratified
    Time
    5 minutes
    What to check, good, bad, consequence

    What to check

    • Is the decision brief complete? (intent, assumption-test, validated candidate, decomposition)
    • Is there anything in the brief you are not prepared to ship?

    What good looks like

    You ratify the brief and hand it to the delivery loop.

    What bad looks like

    You ratify with reservations and don't surface them. The delivery loop builds faithfully to a brief you had doubts about.

    Consequence of skipping

    This is the discovery-to-delivery handoff. After this gate, the delivery loop builds.

Typical session

Agent turns
12–20
Human gates
4
Wall-clock time
60–120 min

Install

agentbundle install --pack product-engineering --scope user

Skills in this pack

  • discovery-loop4 gates

    The discovery supervisor. Diverges across candidate product shapes, drives the lens roster to convergence, and emits a connected hypothesis with validation hooks.

  • frame-intent1 gate

    Establishes product framing — problem, user, outcome — before the loop begins; optionally requests Core's independent shaping review when available.

  • frame-domain1 gate

    Grounds the product in the real-world activity it serves and bounds the MVP — produces Domain Framing and Scope Boundary artifacts before the convergent design loop.

  • frame-situation1 gate

    Classifies an initiative-level signal into a typed finding, assesses Wardley capability maturities, and anchors the team to the right entry point in the PE six-step shaping sequence.

  • identify-opportunities1 gate

    Step 2 of the PE six-step shaping sequence — surfaces all functional, emotional, and social jobs behind an opportunity area, scores each via the Ulwick formula, and produces a ranked opportunity-assessment.md artifact.

  • diverge-solutions1 gate

    Generates ≥3 structured comparable solution options for a confirmed opportunity, with a recommendation and retained rationale for parked and rejected options.

  • lean-canvas1 gate

    Elicits an initiative brief through an adapted Lean Canvas (simple 5-box or full 9-box) and produces a single shareable initiative brief with a Value Proposition section.

  • de-risk-intent1 gate

    Surfaces the riskiest assumption and designs a prototype approach to de-risk it before committing to build.

  • place-bet1 gate

    Step 5 of the PE six-step shaping sequence — commits the team to a chosen direction by producing a structured bet.md with a full betting table for map-capabilities to reason against.

  • map-capabilities1 gate

    Step 6 (terminal) of the PE six-step shaping sequence — translates a committed bet into a Capability Map with L1 domain organisation, Wardley × strategic-criticality annotation, Build/Buy/Partner/Adopt disposition, and a Build-only suggested build sequence anchoring M3–M6 spec-writing.

  • decompose-intent1 gate

    Decomposes the chosen direction into briefs and specs for the delivery loop.

  • explore-options

    Generates candidate product shapes with distinct tradeoff profiles.

  • plan-validation

    Validates a plan against the discovery sidecar — checks that the build plan addresses the grounded hypothesis.

  • ux-writing1 gate

    Characterizes a product's voice and writes blame-free, actionable UI copy.

  • align-value-stream1 gate

    Coordinates a multi-component product intent across a business-unit value stream.