Skip to content

How to run a discovery end-to-end

Diátaxis: how-to. A goal-oriented walk through the discovery loop. For why it is shaped this way, see the explanation The discovery loop; for a fully worked example, the tutorial Walk a discovery end-to-end; for the slots and roster, the reference The discovery sidecar and roster.

You have a raw product idea and you want a ratified, build-ready decision brief — without skipping the thinking. Install the product-engineering pack, then:

You do not need to break the idea into pieces up front. Name it and ask discovery-lead to scaffold it:

Use the discovery-loop to scaffold the product vision for a household executive-assistant AI — diverge on the product shape first, then converge to a decision brief, and flag what needs validation.

That single prompt exercises the whole arc: the loop diverges into candidate shapes, surfaces the altitude bet to you at G1.5, converges the one you pick, and emits a provisional spine with validation hooks. You answer at three gates; the loop does the rest.

  • G0 (the value seed) — confirm the outcome is worth pursuing.
  • G1.5 (altitude / MVP) — this is the load-bearing call: pick the altitude (the narrow slice, or the whole domain) and the MVP boundary, with the candidate shapes as your referent.
  • G2 (the "what") — ratify the decision brief and adjudicate any value conflict the lenses surfaced (security says no, product says ship).

Your answer is a typed verdict, not just yes/no — you can approve, approve-with-constraint (a scope cut), redirect, explore-alternatives (reopen divergence), park, abandon, or extend (past a bound). Any answer that would invalidate work shows you the blast radius first and waits for your confirmation.

Targeted phase prompts (redo or deepen one stage)

  • Diverge only: give me 4–5 candidate product shapes across altitude × mechanic, each with its riskiest assumption — don't converge yet.
  • Take the chosen spine to a decision brief, and emit the validation plan (each assumption → kill condition → the real-world activity that would confirm it).

Recurse into a sub-idea

A sub-idea is a node on the same tree, not a separate project:

Recurse into a sub-idea: run a full divergence walk on recipe integration as a sub-idea of the household assistant — it becomes a resumable node, not a new discovery.

The loop walks it depth-first under the same gate ladder and the same outer cap. Park it (park) and it persists in the sub-idea index, resumable later.

Resume — the loop checks before it starts

On a start request, discovery-lead's first action is to scan for in-progress or parked discoveries and offer to resume before scaffolding a new tree:

You: Start a discovery for a household assistant. Loop: You have 1 discovery in progress (household-assistant, paused at G2) and 2 parked sub-ideas. Resume one, or start new?

To resume directly: Resume the household-assistant discovery. The loop loads the workspace, re-runs the connectedness lint, and drops you back where you left off.

Fold in existing requirements

If you already have a BRD / PRD / SRS, seed the loop with it rather than starting from scratch: hand it to receive-brief + frame-intent's brownfield ingest. The loop then validates and enriches it — frame-domain grounds it, the lenses add the journey/architecture the doc lacks, de-risk-intent surfaces the assumptions it states as fact. The traceability slot serves as your RTM. Where governance needs a formal BRD/SRS/RTM with sign-off back out, the loop projects its brief + traceability matrix through the converters (md-to-office) path — not a discovery skill. Full crosswalk: the discovery-loop skill's references/requirements-crosswalk.md.

When it hands off

At G3 the brief decomposes into an ordered, dependency-aware backlog (parked sub-ideas carried as first-class entries); loop-cohort orders it; work-loop pulls one item at a time. The brief carries a required success-metrics / North-Star slot — it cannot reach G3 without a done-criterion the build loop can iterate against.