workflow-customer-discovery
The workflow-customer-discovery command executes a four-step customer discovery process that converts raw research data into a validated problem statement. It synthesizes interview transcripts and survey responses into structured findings, maps customer jobs and desired outcomes on a JTBD canvas, prioritizes opportunities through an opportunity tree, and culminates in a grounded problem statement supported by research evidence.
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/product-on-purpose/pm-skills/HEAD/commands/workflow-customer-discovery.md -o ~/.claude/commands/workflow-customer-discovery.mdworkflow-customer-discovery.md
Run the Customer Discovery workflow to transform raw research into a clear, validated problem worth solving. This workflow uses multiple skills in sequence. For each step, read the skill instructions and follow them to create the artifact. ## Workflow Steps ### Step 1: Interview Synthesis Use the `discover-interview-synthesis` skill from `skills/discover-interview-synthesis/SKILL.md`. Synthesize raw research inputs (interview transcripts, survey responses, support tickets) into structured findings with patterns, quotes, and themes. ### Step 2: JTBD Canvas Use the `define-jtbd-canvas` skill from `skills/define-jtbd-canvas/SKILL.md`. Frame the customer's underlying jobs, desired outcomes, and current alternatives using themes from Step 1. ### Step 3: Opportunity Tree Use the `define-opportunity-tree` skill from `skills/define-opportunity-tree/SKILL.md`. Map desired outcomes from the JTBD canvas into a prioritized opportunity tree. ### Step 4: Problem Statement Use the `define-problem-statement` skill from `skills/define-problem-statement/SKILL.md`. Create a clear problem framing grounded in the research evidence from previous steps. ## Output Create all four artifacts in sequence, ensuring each builds on the previous. Reference the Customer Discovery workflow at `_workflows/customer-discovery.md` for additional guidance. Context from user: $ARGUMENTS
Run an ad-hoc ordered chain of pm-skills with shared context (ephemeral; routes to the pm-workflow-orchestrator)
Defines a testable hypothesis with clear success metrics and a validation approach. Use when forming assumptions to test or aligning a team on what success looks like, before any experiment is designed. To design the A/B test or experiment that will validate the hypothesis, use measure-experiment-design.
Creates a Jobs to be Done canvas capturing the functional, emotional, and social dimensions of a customer job. Use when deeply understanding customer motivations, designing for jobs, or reframing product positioning.
Creates an opportunity solution tree connecting a desired outcome to customer opportunities and candidate solutions, preventing solution-first jumps in continuous discovery. Use when structuring scattered feature ideas or communicating how the roadmap traces to outcomes. For ranking an existing flat list of candidates, use define-prioritization-framework instead; this skill discovers the list, it does not score one.
Run applicable prioritization frameworks (RICE, ICE, MoSCoW, Weighted Scoring, Kano) against a list of features or initiatives. Produces a comparison table showing where rankings agree and diverge across frameworks, and an executive summary with recommendation. Framework applicability is filtered by data availability; Kano requires customer research. Refuses to fabricate scores; produces an estimation scaffold when input data is missing.
Creates a clear problem framing document with user impact, business context, and success criteria. Use when starting a new initiative, realigning a drifted project, or communicating up to leadership.
Generates structured Given/When/Then acceptance criteria for a user story or feature slice, covering the happy path, key failure scenarios, and non-functional expectations in testable form. Use when turning requirements into verifiable scenarios for engineering handoff and QA sign-off. For a dedicated catalog of boundary conditions, error states, and recovery paths across a feature, use deliver-edge-cases; to write the stories themselves, use deliver-user-stories.
Documents edge cases, error states, boundary conditions, race conditions, and recovery paths for a feature - the systematic catalog of what can go wrong and the failure modes to design for. Use during specification to map the failure surface and ensure comprehensive coverage, or during QA planning to identify boundary and limit scenarios to test. Distinct from deliver-acceptance-criteria, which writes story-level Given/When/Then checks; this skill produces the whole-feature edge-case catalog.