skills/hypothesis-tree/SKILL.md
Structure complex questions into testable hypotheses. Use when validating product ideas, debugging problems, planning experiments, or breaking down ambiguous challenges into actionable research.
npx skillsauth add Chris-Maskey/opencode-config hypothesis-treeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A Hypothesis Tree is a structured approach to breaking down complex questions into testable hypotheses. Originally from management consulting (McKinsey), it ensures MECE (Mutually Exclusive, Collectively Exhaustive) coverage of a problem space.
Main Question
"Why is X happening?"
|
+---------------+---------------+
| | |
Hypothesis A Hypothesis B Hypothesis C
| | |
+--+--+ +--+--+ +--+--+
| | | | | |
Sub- Sub- Sub- Sub- Sub- Sub-
hyp hyp hyp hyp hyp hyp
Mutually Exclusive: No overlap between branches Collectively Exhaustive: All possibilities covered
Good MECE: Bad (not MECE):
+----------------+ +----------------+
| New users | | Mobile users | <- Overlap
|----------------| |----------------|
| Returning | | New users | <- Overlap
| users | |----------------|
+----------------+ | Some users | <- Vague
+----------------+
Strong hypotheses are:
| Element | Description | Example | | --------------- | ----------------------- | ---------------------------------------- | | Specific | Clear, measurable | "Checkout abandonment is >70% on mobile" | | Testable | Can be proven/disproven | Not "users don't like it" | | Falsifiable | Could be wrong | Has clear failure criteria | | Actionable | Leads to decision | If true → do X, if false → do Y |
Convert vague concerns into structured questions:
| Vague | Structured | | ----------------------- | --------------------------------- | | "Growth is slow" | "Why is our MoM user growth <5%?" | | "Users aren't engaged" | "Why is D7 retention below 20%?" | | "Feature isn't working" | "Why is feature X adoption <10%?" |
Brainstorm potential explanations, then organize MECE:
Question: "Why is signup conversion <30%?"
Level 1 Hypotheses:
├── Awareness: Users don't understand the value proposition
├── Ability: The signup process is too difficult
├── Motivation: The perceived benefit isn't worth the effort
└── Technical: Bugs/errors prevent completion
Keep breaking down until hypotheses are directly testable:
Ability: The signup process is too difficult
├── Too many fields required
├── Password requirements unclear
├── Form validation confusing
└── Mobile experience broken
| Hypothesis | Evidence Available | Test Effort | Impact if True | | ---------- | ------------------ | ----------- | -------------- | | [Hyp 1] | [None/Some/Strong] | [L/M/H] | [L/M/H] | | [Hyp 2] | [None/Some/Strong] | [L/M/H] | [L/M/H] |
Priority = High Impact + Low Effort + Little Existing Evidence
## Hypothesis Tree Analysis
**Central Question:** [Clear, specific question] **Date:** [Date] **Owner:**
[Name]
### Hypothesis Tree Structure
[Main Question] ├── H1: [First major hypothesis] │ ├── H1.1: [Sub-hypothesis] │
└── H1.2: [Sub-hypothesis] ├── H2: [Second major hypothesis] │ ├── H2.1:
[Sub-hypothesis] │ └── H2.2: [Sub-hypothesis] └── H3: [Third major hypothesis]
└── H3.1: [Sub-hypothesis]
### Prioritized Testing Plan
| Priority | Hypothesis | Test Method | Timeline | Owner |
| -------- | ---------- | ----------- | -------- | ----- |
| 1 | [H1.2] | [Method] | [Time] | [Who] |
| 2 | [H2.1] | [Method] | [Time] | [Who] |
### Current Evidence Summary
| Hypothesis | Status | Evidence |
| ---------- | ---------------------------- | --------- |
| [H1] | [Confirmed/Rejected/Testing] | [Summary] |
Question: "Why is our new reporting feature only used by 8% of users?"
Low Feature Adoption
├── Awareness
│ ├── Users don't know it exists
│ └── Announcement wasn't clear
├── Value
│ ├── Feature doesn't solve their problem
│ └── Existing workarounds are "good enough"
├── Ability
│ ├── Feature is hard to find
│ └── Feature is hard to use
└── Timing
└── Users don't need reports frequently
Question: "Why did monthly churn increase from 5% to 8%?"
Increased Churn
├── Product Changes
│ ├── Recent feature change caused issues
│ └── Performance degradation
├── Market Changes
│ ├── Competitor launched better alternative
│ └── Economic conditions changed
├── Customer Mix
│ ├── Acquired lower-quality leads
│ └── Channel mix shifted
└── Service Issues
└── Support quality declined
| Method | Combined Use | | ----------------------- | --------------------------------- | | Five Whys | Go deep on confirmed hypotheses | | Jobs-to-be-Done | Frame hypotheses around user jobs | | Fogg Behavior Model | Structure behavioral hypotheses |
tools
Anti-patterns and mistakes to avoid as a product manager. Use when evaluating leadership behaviors, improving team dynamics, reflecting on management practices, or onboarding new product managers.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
testing
Design effective CTAs using visual attention and gaze psychology principles. Use when designing landing pages, button hierarchies, conversion elements, or optimizing user attention flow through interfaces.
tools
Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.