Skip to content
Back to skills

Product Discovery

ASecurity

File-first orchestrator for product discovery and spec frameworks. Frames the problem with a Discovery Lead / Product Analyst / System Architect role, spawns parallel framework agents (Double Diamond, How Might We, Jobs to Be Done, user stories + INVEST, EARS for AI-coder specs, Gherkin), synthesizes into a PRD or discovery memo, runs a critic pass. Absorbs prd-drafter (idea to PRD via 3 parallel research roles) and design-thinking (pain-point excavation, landscape research, brainstorm). Ship...

  • 28 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
ai-agentsgoapi

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add laithalsaadoon/erpaval --skill product-discovery --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Product Discovery?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Product Discovery
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/laithalsaadoon-product-discovery-erpaval/badge)](https://www.skillsdirectory.com/skills/laithalsaadoon-product-discovery-erpaval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: product-discovery
description: >
  File-first orchestrator for product discovery and spec frameworks.
  Frames the problem with a Discovery Lead / Product Analyst / System
  Architect role, spawns parallel framework agents (Double Diamond,
  How Might We, Jobs to Be Done, user stories + INVEST, EARS for
  AI-coder specs, Gherkin), synthesizes into a PRD or discovery memo,
  runs a critic pass. Absorbs prd-drafter (idea to PRD via 3 parallel
  research roles) and design-thinking (pain-point excavation, landscape
  research, brainstorm). Ships per-framework references, role prompts,
  templates for PRDs, HMW outputs, job stories, EARS specs. Use when
  the user asks to write a PRD, draft requirements, run discovery,
  brainstorm a product, turn insights into HMW questions, write job
  stories, spec a feature in EARS for Kiro or Spec Kit, define user
  stories with INVEST, run a Double Diamond round, or mentions JTBD,
  acceptance criteria, Kiro spec format. Do NOT use for business
  strategy (Rumelt, Wardley, PR-FAQ as leadership artifact) — use
  product-strategy.
arguments:
  - name: source
    description: Optional path to raw content (brief, notes, tickets) or a one-line topic.
    required: false
user_facing: true
---

## Contents

| Reference                                    | When to load                                                                                             |
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `references/orchestrator.md`                 | Running the pipeline — 5 routes, parallel Phase 2, critic review, deliver                                |
| `references/write-protocol.md`               | Canonical write-protocol block copied into every subagent prompt                                         |
| `references/frameworks/INDEX.md`             | Routing guide — discovery + spec decision tables, discovery → spec composition                           |
| `references/frameworks/*.md`                 | Per-framework files — double-diamond, how-might-we, jtbd-job-stories, user-stories-invest, ears, gherkin |
| `references/methodology/discovery-rounds.md` | Six-phase discovery methodology                                                                          |
| `references/inference-heuristics.md`         | Signal-to-inference tables for PRD-route Intent Profile capture                                          |
| `references/quality/prd.md`                  | Per-section PRD quality bar, cross-section consistency checks                                            |
| `references/roles/product-analyst.md`        | PRD route — vision, personas, user stories, IA, milestones (sections 1-6, 12)                            |
| `references/roles/system-architect.md`       | PRD route — NFRs, data models, API contracts, edge cases (sections 7-10)                                 |
| `references/roles/research-scout.md`         | PRD route — competitive landscape, open questions (sections 11, 13)                                      |
| `references/roles/discovery-lead.md`         | Discovery-round route — pain-point excavation, Double Diamond cadence                                    |
| `references/roles/hmw-framer.md`             | HMW-only route (also hard-dep entry point for erpaval CL-RIGOR fuzzy)                                    |
| `references/roles/jtbd-interviewer.md`       | JTBD-only route — job stories from PM-provided source material                                           |
| `references/roles/ears-specifier.md`         | EARS-only route (also hard-dep entry point for erpaval CL-RIGOR contract-unclear)                        |
| `references/roles/prd-synthesizer.md`        | PRD route Phase 3 — composes final PRD from three parallel work logs                                     |
| `references/roles/discovery-critic.md`       | Phase 3.5 critic — rubric-graded review of any synthesized artifact                                      |
| `templates/prd-template.md`                  | 15-section PRD skeleton with `[FILL]` markers                                                            |
| `templates/worklog-skeleton.md`              | Per-role work-log skeleton with embedded write-protocol                                                  |
| `templates/discovery-memo.md`                | Discovery-round output shape                                                                             |
| `templates/double-diamond-workbook.md`       | Double Diamond four-stage workbook                                                                       |
| `templates/hmw-skeleton.md`                  | HMW brainstorms file — `brainstorms/NNN-<slug>-requirements.md`                                          |
| `templates/jtbd-skeleton.md`                 | JTBD job-stories file                                                                                    |
| `templates/ears-spec-skeleton.md`            | EARS spec file — `specs/NNN-<slug>/spec.md`                                                              |

# Product discovery

One skill, five routes. Takes a problem at any maturity (one-sentence idea, research notes, fuzzy framing, clear feature) and routes to the right framework pipeline. File-first write protocol throughout. Every role is a Markdown prompt copied verbatim into a `general-purpose` `Agent` call — zero custom agent files.

## Pipeline at a glance

```mermaid
flowchart TD
  A[User brief] --> B[Phase 0: Route]
  B -->|PRD ask| P1[Phase 1: Intent Profile]
  B -->|Discovery round| D1[Phase 1: discovery-lead framing]
  B -->|HMW only| H1[Phase 1: framing]
  B -->|EARS only| E1[Phase 1: framing]
  B -->|JTBD only| J1[Phase 1: framing]

  P1 --> P2[Phase 2: product-analyst + system-architect + research-scout in parallel]
  D1 --> D2[Phase 2: hmw-framer / jtbd-interviewer / research-scout as routed]
  H1 --> H2[Phase 2: hmw-framer]
  E1 --> E2[Phase 2: ears-specifier]
  J1 --> J2[Phase 2: jtbd-interviewer]

  P2 --> P3[Phase 3: prd-synthesizer]
  D2 --> D3[Phase 3: discovery-lead composes memo]
  H2 --> P35
  E2 --> P35
  J2 --> P35
  P3 --> P35
  D3 --> P35

  P35[Phase 3.5: discovery-critic] --> P4[Phase 4: Deliver]
```

Full route-by-route runbook, role prompts, check-in cadence, and stuck-detection recovery live in `references/orchestrator.md`.

## When to run which route

| User signal                                                   | Route           | Primary output                               |
| ------------------------------------------------------------- | --------------- | -------------------------------------------- |
| "write a PRD", "draft requirements", one-sentence idea        | PRD             | `{product-slug}-prd.md` (15 sections)        |
| "brainstorm a product", "run discovery", "think through this" | Discovery round | `discovery-memo.md`                          |
| "turn these notes into HMW", "reframe this"                   | HMW-only        | `brainstorms/NNN-{{ slug }}-requirements.md` |
| "spec this for Kiro / Spec Kit", "write EARS ACs"             | EARS-only       | `specs/NNN-{{ slug }}/spec.md`               |
| "write job stories for [segment] from these tickets"          | JTBD-only       | `jtbd-job-stories.md`                        |

Default-in-doubt: PRD route. Absorbs the most source-material shapes and the 3-role parallel research pattern is the skill's strongest lane.

When the brief is genuinely ambiguous (audience unknown, source unclear), use one `AskUserQuestion` call with up to 4 questions. Then proceed. Do not loop.

## Write-protocol discipline

Every role follows the same rhythm: edit the output file → read → edit. Partial work on disk survives subagent termination; plans held in working memory do not. The canonical block lives in `references/write-protocol.md` and is copied verbatim into every role prompt and every task skeleton.

`{product-slug}-prd.md`, `discovery-memo.md`, `brainstorms/NNN-*.md`, `specs/NNN-*/spec.md`, `jtbd-job-stories.md` — one of these is the source of truth per run. Nothing else becomes load-bearing.

## Framework family

The skill ships one routing guide plus per-framework files. The orchestrator reads `references/frameworks/INDEX.md` first — it covers BOTH discovery frameworks (upstream, problem-space) and spec frameworks (downstream, contract-shaped) in one decision table because they compose as a single pipeline. Each framework's canonical structure, templates, and validation checks live in its own file in the same `frameworks/` directory.

- Discovery: `${CLAUDE_PLUGIN_ROOT}/skills/product-design-shared/references/double-diamond.md`, `frameworks/how-might-we.md`, `frameworks/jtbd-job-stories.md`.
- Spec: `frameworks/user-stories-invest.md`, `frameworks/ears.md`, `frameworks/gherkin.md`.

Common heuristic across both: **discovery (HMW/JTBD) → PRD (user stories) → spec (EARS for invariants, Gherkin for scenarios).** Routes compose — one run can fire multiple frameworks via the orchestrator's Phase 2 fan-out.

## Discovery methodology

The six-phase methodology lives at `references/methodology/discovery-rounds.md`. Pain-point excavation → landscape research (three vectors) → multi-direction brainstorm → vocabulary mapping → data-model synthesis → delivery. The discovery-round route fans out against these phases; the `discovery-lead` role owns the cadence.

## Ecosystem integration

**erpaval hard-deps on two role files as a public API:**

- `references/roles/hmw-framer.md` — erpaval's CL-RIGOR `fuzzy` classifier spawns this role directly.
- `references/roles/ears-specifier.md` — erpaval's CL-RIGOR `contract-unclear` classifier spawns this role directly.

Renames or scope changes to either role are breaking for erpaval. The orchestrator's ecosystem section in `references/orchestrator.md` documents the contract. Coordinate breaking changes in the same commit.

## When NOT to use this skill

- **Business and product strategy** (Rumelt kernel, Wardley map, PR-FAQ-as-leadership-artifact) — use `product-strategy`.
- **Long-form narrative composition** — strategy and discovery here produce the thinking; hand the artifacts to whatever narrative-writing workflow your team uses.
- **Implementation-only tasks** — use `erpaval` for autonomous coding; this skill defines the spec, not the build.

## Anti-patterns

- **Don't skip framing.** A Phase 2 fan-out without a frozen framing.md or Intent Profile produces divergent agent outputs the synthesizer can't reconcile.
- **Don't run more than 2 critic-revise rounds.** After 2, surface findings inline. Critic loops are a stop-energy pattern, not a quality gate.
- **Don't fabricate job stories or HMWs to meet a count.** Three real job stories beat five fake ones; the jtbd-interviewer and hmw-framer roles will flag gaps rather than invent.
- **Don't rewrite across roles.** Each role owns a slice. If a sibling role's output is wrong, flag it in the synthesizer's log — don't silently rewrite.
- **Don't bypass the write-protocol.** Batched-writes-at-the-end lose work on timeout. Edit → read → edit is the discipline every role follows.
- **Don't confuse upstream and downstream.** Job stories are upstream; user stories are downstream. HMW is upstream; EARS/Gherkin are downstream. Using the wrong one for the current phase produces artifacts that feel right but don't land.
- **Don't delete or rename hmw-framer.md / ears-specifier.md without updating erpaval.** Those are public API. Alias-then-delete for any rename; coordinate breaking changes.

Files in this skill

  • SKILL.md11.4 KB
  • references/frameworks/INDEX.md7.9 KB
  • references/frameworks/ears.md5.3 KB
  • references/frameworks/gherkin.md4.7 KB
  • references/frameworks/how-might-we.md4.8 KB
  • references/frameworks/jtbd-job-stories.md4.1 KB
  • references/frameworks/user-stories-invest.md4 KB
  • references/inference-heuristics.md9.5 KB
  • references/methodology/discovery-rounds.md6.5 KB
  • references/orchestrator.md18.9 KB
  • references/quality/prd.md5.2 KB
  • references/roles/discovery-critic.md6.2 KB
  • references/roles/discovery-lead.md4.7 KB
  • references/roles/ears-specifier.md5.9 KB
  • references/roles/hmw-framer.md5.8 KB
  • references/roles/jtbd-interviewer.md5.4 KB
  • references/roles/prd-synthesizer.md6.6 KB
  • references/roles/product-analyst.md4.6 KB
  • references/roles/research-scout.md7.5 KB
  • references/roles/system-architect.md6.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.