define-hypothesis — Claude Code skill: testable hypotheses
Turns an assumption about user behavior into a falsifiable statement with success metrics and a validation plan, before you design any experiment.
npx skills add product-on-purpose/pm-skills --skill define-hypothesis -a claude-codeWhat define-hypothesis does
The skill walks the agent through six steps: state the belief as "we believe that [change] for [user] will [outcome]", name the target segment, describe the expected behavior change, pick success metrics, choose a validation approach, and list risks and assumptions. Output follows references/TEMPLATE.md and fills every section: hypothesis statement, background, target segment, success metrics, validation approach, risks, timeline. A finished example sits in references/EXAMPLE.md.
It deliberately stops short of experiment design. Variants, sample size and duration belong to measure-experiment-design. If the problem itself is unframed, run define-problem-statement first; for a discovery structure use define-opportunity-tree, and for the whole business model foundation-lean-canvas. Worth checking where you are in the process, because this skill covers framing only.
A quality checklist runs before the document is handed back: the hypothesis must be falsifiable, the success metric needs a numeric target, and pass/fail criteria have to be unambiguous.
What it helps with
- write a hypothesis that can be proven wrong
- attach a numeric target to the success metric
- separate what you are testing from how you test it
- get a team to agree on what success looks like
- record assumptions and risks before engineering starts
Example prompts for the agent
- Define a hypothesis for the new onboarding funnel
- Draft a hypothesis: we believe day-one tips will lift 7-day return rate
- Fill the hypothesis template for the new-user segment
How to install define-hypothesis
1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill define-hypothesis -a claude-code2Manually: put the files in place
~/.claude/skills/define-hypothesis/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/define-hypothesis/
1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill define-hypothesis -a codex2Manually: put the files in place
.agents/skills/define-hypothesis/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill define-hypothesis -a cursor2Manually: put the files in place
.cursor/skills/define-hypothesis/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install product-on-purpose/pm-skills define-hypothesis2Manually: put the files in place
.github/skills/define-hypothesis/SKILL.md1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill define-hypothesis -a gemini-cli2Platform CLI
gemini skills install https://github.com/product-on-purpose/pm-skills --path skills/define-hypothesisManually: put the files in place
.devin/skills/define-hypothesis/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill define-hypothesis -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about define-hypothesis
How do I install define-hypothesis in Claude?
Run npx skills add product-on-purpose/pm-skills --skill define-hypothesis -a claude-code. The skill lands at ~/.claude/skills/define-hypothesis/SKILL.md.
What does define-hypothesis do?
It converts a belief about user behavior into a testable statement with metrics, a validation approach and a risk list. It runs before experiment design.
How is it different from measure-experiment-design?
define-hypothesis settles what you are testing. measure-experiment-design takes that hypothesis and plans the A/B test: variants, sample size, duration.
Source text
SKILL.md · Apache-2.0
--- name: define-hypothesis description: 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. license: Apache-2.0 metadata: phase: define version: "2.1.0" updated: 2026-06-10 category: ideation frameworks: [triple-diamond, lean-startup, design-thinking] author: product-on-purpose --- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> # Hypothesis A hypothesis is a testable prediction about how a change will affect user behavior or business outcomes. It transforms assumptions into explicit statements that can be validated or invalidated through experimentation. Well-formed hypotheses prevent teams from building features based on untested beliefs and create shared understanding of what success looks like. ## When to Use - After problem framing, before committing to a solution - When designing experiments or A/B tests - When team members have differing assumptions about user behavior - Before investing significant engineering resources in a feature - When pivoting direction and need to validate the new approach ## When NOT to Use - You are ready to design the actual A/B test (variants, sample size, duration) -> use `measure-experiment-design`; this skill frames what to test, not how - The problem itself is still unframed -> use `define-problem-statement` first - You want to organize many assumptions and ideas into a discovery structure -> use `define-opportunity-tree` - The team needs the full business-model picture, not one testable claim -> use `foundation-lean-canvas` ## Instructions When asked to create a hypothesis, follow these steps: 1. **State the Belief** Articulate what you believe will happen. Use the structured format: "We believe that [action/change] for [target user] will [expected outcome]." Be specific about the intervention - vague hypotheses can't be tested. 2. **Identify the Target User** Define who this hypothesis applies to. A hypothesis about "users" is too broad. Specify the segment: new users in their first week, power users with 10+ sessions, churned users returning, etc. 3. **Define the Expected Outcome** What behavior change or result do you expect? Frame it in terms of user actions (complete onboarding, make a purchase, return within 7 days) rather than internal metrics when possible. 4. **Set Success Metrics** Choose a primary metric that directly measures the expected outcome. Include secondary metrics that provide context and guardrail metrics that ensure you're not causing harm elsewhere. 5. **Describe Validation Approach** How will you test this hypothesis? A/B test, user interviews, prototype testing, cohort analysis? Be specific about sample size, duration, and statistical requirements. 6. **Document Risks and Assumptions** What could invalidate this hypothesis beyond the test results? What are you assuming to be true that you haven't validated? ## Output Format Use the template in `references/TEMPLATE.md` to structure the output. A complete hypothesis document fills every template section: Hypothesis Statement; Background & Rationale; Target User Segment; Success Metrics; Validation Approach; Risks & Assumptions; and Timeline. ## Quality Checklist Before finalizing, verify: - [ ] Hypothesis is falsifiable (possible to prove wrong) - [ ] Success metric has a specific numeric target - [ ] Target user segment is clearly defined - [ ] Validation approach is practical and time-bound - [ ] Pass/fail criteria are unambiguous - [ ] Hypothesis doesn't assume the solution works ## Examples See `references/EXAMPLE.md` for a completed example.
© product-on-purpose · Apache-2.0 · product-on-purpose/pm-skills