Back to Skills

epic-hypothesis

deanpeters
Updated 2 days ago
6 views
4,511
575
4,511
View on GitHub
Testingtesting

About

This Claude Skill helps developers frame major initiatives (epics) as testable "if/then" hypotheses before planning. It structures an epic by defining the target user, expected outcome, and a validation method to make assumptions explicit and establish success criteria. Use it during early initiative definition to manage uncertainty and guide lightweight discovery experiments.

Quick Install

Claude Code

Recommended
Primary
npx skills add deanpeters/Product-Manager-Skills -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/deanpeters/Product-Manager-Skills
Git CloneAlternative
git clone https://github.com/deanpeters/Product-Manager-Skills.git ~/.claude/skills/epic-hypothesis

Copy and paste this command in Claude Code to install this skill

Documentation

Purpose

Frame epics as testable hypotheses using an if/then structure that articulates the action or solution, the target beneficiary, the expected outcome, and how you'll validate success. Use this to manage uncertainty in product development by making assumptions explicit, defining lightweight experiments ("tiny acts of discovery"), and establishing measurable success criteria before committing to full build-out.

This is not a requirements spec—it's a hypothesis you're testing, not a feature you're committed to shipping.

Key Concepts

The Epic Hypothesis Framework

Inspired by Tim Herbig's Lean UX hypothesis format, the structure is:

If/Then Hypothesis:

  • If we [action or solution on behalf of target persona]
  • for [target persona]
  • Then we will [attain or achieve a desirable outcome or job-to-be-done]

Tiny Acts of Discovery Experiments:

  • We will test our assumption by:
    • [Experiment 1]
    • [Experiment 2]
    • [Add more as necessary]

Validation Measures:

  • We know our hypothesis is valid if within [timeframe]
  • we observe:
    • [Quantitative measurable outcome]
    • [Qualitative measurable outcome]
    • [Add more as necessary]

Why This Structure Works

  • Hypothesis-driven: Forces you to state what you believe (and could be wrong about)
  • Outcome-focused: "Then we will" emphasizes user benefit, not feature output
  • Experiment-first: Encourages lightweight validation before full build
  • Falsifiable: Clear success criteria make it possible to kill bad ideas early
  • Risk management: Treats epics as bets, not commitments

Anti-Patterns (What This Is NOT)

  • Not a feature spec: "Build a dashboard with 5 charts" is a feature, not a hypothesis
  • Not a guaranteed commitment: Hypotheses can (and should) be invalidated
  • Not output-focused: "Ship feature X by Q2" misses the point—did it achieve the outcome?
  • Not experiment-free: If you skip experiments and go straight to build, you're not testing a hypothesis

When to Use This

  • Early-stage feature exploration (before committing to full roadmap)
  • Validating product-market fit for new capabilities
  • Prioritizing backlog (epics with validated hypotheses get higher priority)
  • Managing stakeholder expectations (frame work as experiments, not promises)

When NOT to Use This

  • For well-validated features (if you've already proven demand, skip straight to user stories)
  • For trivial features (don't over-engineer small tweaks)
  • When experiments aren't feasible (rare, but sometimes you must commit before testing)

Application

Use template.md for the full fill-in structure.

Step 1: Gather Context

Before drafting an epic hypothesis, ensure you have:

  • Problem understanding: What user problem does this address? (reference skills/problem-statement/SKILL.md)
  • Target persona: Who benefits? (reference skills/proto-persona/SKILL.md)
  • Jobs-to-be-Done: What outcome are they trying to achieve? (reference skills/jobs-to-be-done/SKILL.md)
  • Current alternatives: What do users do today? (competitors, workarounds, doing nothing)

If missing context: Run discovery interviews or problem validation work first.


Step 2: Draft the If/Then Hypothesis

Fill in the template:

### If/Then Hypothesis

**If we** [action or solution on behalf of the target persona]
**for** [target persona]
**Then we will** [attain or achieve a desirable outcome or job-to-be-done for the persona]

Quality checks:

  • "If we" is specific: Not "improve the product" but "add one-click Slack notifications when tasks are assigned"
  • "For" is a clear persona: Not "users" but "remote project managers juggling 3+ distributed teams" (reference skills/proto-persona/SKILL.md)
  • "Then we will" is an outcome: Not "users will have notifications" but "users will respond to task assignments 50% faster"

Examples:

  • ✅ "If we add one-click Google Calendar integration for trial users, then we will increase activation rates by 20% within 30 days"
  • ✅ "If we provide bulk delete functionality for power users managing 1000+ items, then we will reduce time spent on cleanup tasks by 70%"
  • ❌ "If we build a dashboard, then users will use it" (vague, not measurable)

Step 3: Design Tiny Acts of Discovery Experiments

Before building the full epic, define lightweight experiments to test the hypothesis:

### Tiny Acts of Discovery Experiments

**We will test our assumption by:**
- [Experiment 1: low-cost, fast test]
- [Experiment 2: another low-cost, fast test]
- [Add more as necessary]

Experiment types:

  • Prototype + user testing: Fake the feature with a clickable prototype, test with 5-10 users
  • Concierge test: Manually perform the feature for a few users, see if they value it
  • Landing page test: Describe the feature, measure sign-ups or interest
  • Wizard of Oz test: Present the feature as if it's automated, but do it manually behind the scenes
  • A/B test (if feasible): Test a lightweight version vs. control

Quality checks:

  • Fast: Experiments should take days/weeks, not months
  • Cheap: Avoid full engineering builds—use prototypes, manual processes, or existing tools
  • Falsifiable: Design experiments that could prove you wrong

Examples:

  • "Create a Figma prototype of the bulk delete flow and test with 5 power users"
  • "Manually send Slack notifications to 10 trial users and track response time"
  • "Add a 'Request this feature' button to the UI and measure click-through rate"

Step 4: Define Validation Measures

Specify what success looks like and the timeframe for evaluation:

### Validation Measures

**We know our hypothesis is valid if within** [timeframe in days or weeks]
**we observe:**
- [Desirable quantitative, measurable outcome]
- [Desirable qualitative, measurable outcome]
- [Add more as necessary]

Quality checks:

  • Timeframe is realistic: Not "within 6 months" (too slow) or "within 3 days" (too fast)
  • Quantitative measures are specific: Not "more users" but "20% increase in activation rate"
  • Qualitative measures are observable: Not "users like it" but "8 out of 10 users say they'd pay for this feature"

Examples:

  • ✅ "Within 4 weeks, we observe:"
    • "Activation rate increases from 40% to 50% (quantitative)"
    • "75% of surveyed trial users say the integration saved them time (qualitative)"
  • ❌ "Within 1 year, we observe:"
    • "Revenue goes up" (too vague, too long)

Step 5: Run Experiments and Evaluate

  • Execute experiments: Build prototypes, run tests, gather data
  • Measure results: Did you hit the validation measures?
  • Decision point:
    • Hypothesis validated: Proceed to building user stories and adding to roadmap
    • Hypothesis invalidated: Kill the epic or pivot to a different hypothesis
    • ⚠️ Inconclusive: Run additional experiments or tighten validation measures

Step 6: Convert to User Stories (If Validated)

Once the hypothesis is validated, break the epic into user stories:

### Epic: [Epic Name]

**Stories:**
1. [User Story 1 - reference `skills/user-story/SKILL.md`]
2. [User Story 2]
3. [User Story 3]

Examples

See examples/sample.md for full epic hypothesis examples.

Mini example excerpt:

**If we** provide one-click Google Calendar integration
**for** trial users managing multiple meetings
**Then we will** increase activation rate from 40% to 50%

Common Pitfalls

Pitfall 1: Hypothesis is a Feature, Not an Outcome

Symptom: "If we build a dashboard, then we will have a dashboard"

Consequence: You're describing output, not outcome. This doesn't test anything.

Fix: Focus on the user outcome: "If we build a dashboard showing real-time task status, then PMs will spend 50% less time asking for status updates."


Pitfall 2: Skipping Experiments

Symptom: "We'll test our assumption by building the full feature"

Consequence: You've committed to building before validating. Not a hypothesis—it's a feature commitment.

Fix: Design lightweight experiments (prototypes, concierge tests, landing pages) that take days/weeks, not months.


Pitfall 3: Vague Validation Measures

Symptom: "We know it's valid if users are happy"

Consequence: Success criteria are subjective and unmeasurable.

Fix: Define specific, falsifiable metrics: "80% of surveyed users rate the feature 4+ out of 5" or "Response time drops by 50%."


Pitfall 4: Unrealistic Timeframes

Symptom: "We know it's valid if within 6 months revenue increases"

Consequence: Too slow to inform decisions. By then, you've already built it.

Fix: Aim for 2-4 week validation cycles. If you can't measure in that timeframe, choose a leading indicator (e.g., activation rate, not annual revenue).


Pitfall 5: Treating Epics as Commitments

Symptom: "We already told the CEO we're shipping this, so we have to validate it"

Consequence: Experiments are theater—you're going to build it regardless of results.

Fix: Frame epics as hypotheses before making commitments. If stakeholders need certainty, explain the risk of building unvalidated features.


References

Related Skills

  • skills/problem-statement/SKILL.md — Hypothesis should address a validated problem
  • skills/proto-persona/SKILL.md — Defines the "for [persona]" section
  • skills/jobs-to-be-done/SKILL.md — Informs the "then we will" outcome
  • skills/user-story/SKILL.md — Validated epics decompose into user stories
  • skills/user-story-splitting/SKILL.md — How to break validated epics into stories

External Frameworks

  • Tim Herbig, Lean UX Hypothesis Statement — Origin of if/then hypothesis format
  • Jeff Gothelf & Josh Seiden, Lean UX (2013) — Hypothesis-driven product development
  • Alberto Savoia, Pretotype It (2011) — Lightweight experiments to validate ideas
  • Eric Ries, The Lean Startup (2011) — Build-Measure-Learn cycle

Dean's Work

  • Backlog Epic Hypothesis Prompt (inspired by Tim Herbig's framework)

Provenance

  • Adapted from prompts/backlog-epic-hypothesis.md in the https://github.com/deanpeters/product-manager-prompts repo.

Skill type: Component Suggested filename: epic-hypothesis.md Suggested placement: /skills/components/ Dependencies: References skills/problem-statement/SKILL.md, skills/proto-persona/SKILL.md, skills/jobs-to-be-done/SKILL.md Used by: skills/user-story/SKILL.md, skills/user-story-splitting/SKILL.md

GitHub Repository

deanpeters/Product-Manager-Skills
Path: skills/epic-hypothesis
0
ai-agentsai-product-managementclaude-skillspm-frameworksproduct-management

Related Skills

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

cloudflare-cron-triggers

Testing

This skill provides comprehensive knowledge for implementing Cloudflare Cron Triggers to schedule Workers using cron expressions. It covers setting up periodic tasks, maintenance jobs, and automated workflows while handling common issues like invalid cron expressions and timezone problems. Developers can use it for configuring scheduled handlers, testing cron triggers, and integrating with Workflows and Green Compute.

View skill

webapp-testing

Testing

This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.

View skill

finishing-a-development-branch

Testing

This skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.

View skill