
opportunity-solution-trees
Use when asked to "opportunity solution tree", "OST", "Teresa Torres", "map customer opportunities to outcomes", "structure discovery around opportunities", or "compare solutions for a customer need". Helps product teams connect outcomes to customer opportunities and test solutions with Opportunity Solution Trees (created by Teresa Torres).
- Installs
- 373
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/pmprompt/claude-plugin-product-management --skill opportunity-solution-trees- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads opportunity-solution-trees automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Opportunity Solution Trees
Domain Context
The Opportunity Solution Tree (Teresa Torres, Continuous Discovery Habits) is the backbone of modern product discovery. It prevents teams from jumping to solutions by forcing them to first map the opportunity space.
Structure (4 levels):
-
Desired Outcome (top) — The measurable business or product outcome you're pursuing. Should be a single, clear metric (e.g., "increase 7-day retention to 40%"). This comes from your OKRs or product strategy.
-
Opportunities (second level) — Customer needs, pain points, or desires discovered through research. Frame them from the customer's perspective: "I struggle to..." or "I wish I could..." Prioritize using Opportunity Score: Importance × (1 − Satisfaction) (Dan Olsen).
-
Solutions (third level) — Possible ways to address each opportunity. Generate multiple solutions per opportunity — don't commit to the first idea. The Product Trio (PM + Designer + Engineer) should ideate together.
-
Experiments (bottom) — Fast, cheap tests to validate whether a solution addresses the opportunity. Use assumption testing (Value, Usability, Viability, Feasibility).
Key principles:
- One outcome at a time — don't try to solve everything
- Opportunities, not features — never let customers design solutions
- Compare and contrast — generate at least 3 solutions per opportunity
- Discovery is not linear — loop back if experiments fail
- Continuous, not periodic — update the tree weekly
Input Requirements
- A desired outcome or business metric to improve
- Customer research data (interviews, surveys, analytics, feedback)
- Optionally: existing opportunities or solution ideas to organize
What It Is
Use the Opportunity Solution Tree (OST) to connect a business outcome to the customer opportunities that drive it, then compare solutions and tests. The tree forces you to separate needs from ideas and keeps discovery tied to delivery.
When to Use It
- Structure discovery around customer opportunities
- Tie customer needs to measurable outcomes
- Compare multiple solutions for the same opportunity
- Keep continuous discovery aligned with the roadmap
- Create a shared view of priorities with stakeholders
When Not to Use It
- You are not doing customer research
- The solution is already decided
- The work is a commodity requirement with no real options
- You only need a quick one-off decision
Core Structure
- Outcome: the business result you are responsible for achieving
- Opportunities: unmet customer needs, pains, or desires
- Solutions: multiple ideas that address one opportunity
- Experiments: tests that validate the riskiest assumptions
Process
Follow this step-by-step process to build and use an Opportunity Solution Tree:
Step 1: Define the Desired Outcome
- Confirm or help articulate a single, measurable outcome at the top of the tree
- Make it specific (e.g., "increase 7-day retention to 40%" not "improve retention")
- Tie it to your OKRs or product strategy
Step 2: Map Opportunities
- From customer research, identify 3-7 customer opportunities (needs/pains/desires)
- Frame each from the customer's perspective ("I struggle to...", "I wish I could...")
- Group related opportunities into themes
- Avoid solutions disguised as opportunities (e.g., "needs a dashboard" → "struggles to understand performance")
Step 3: Prioritize Opportunities
- Use Opportunity Score (Importance × [1 − Satisfaction]) or qualitative assessment
- Focus on the top 2-3 opportunities
- Consider: impact on outcome, frequency, intensity of pain
Step 4: Generate Solutions
- For each prioritized opportunity, brainstorm 3+ solutions
- Include perspectives from PM, Designer, and Engineer (Product Trio)
- Resist the "first idea" trap — compare and contrast before choosing
Step 5: Design Experiments
- For the most promising solutions, suggest 1-2 fast experiments
- Specify: hypothesis, method, metric, success threshold
- Prefer experiments with "skin in the game" (Alberto Savoia) over opinion-based validation
Step 6: Visualize the Tree
- Present the full OST in a clear hierarchical format
- Use indentation, bullets, or a visual tool
- Make it easy for stakeholders to scan and understand
Step 7: Iterate Weekly
- Review the tree every week as you learn from interviews, analytics, experiments
- Kill solutions that don't validate
- Explore new branches as you discover new opportunities
Further Reading
- The Extended Opportunity Solution Tree
- What Is Product Discovery? The Ultimate Guide
- Product Trio: Beyond the Obvious
- Continuous Product Discovery Masterclass
- Continuous Discovery Habits by Teresa Torres (book)
FAQ
What does the opportunity-solution-trees skill do?
Use when asked to "opportunity solution tree", "OST", "Teresa Torres", "map customer opportunities to outcomes", "structure discovery around opportunities", or "compare solutions for a customer need". Helps product teams connect outcomes to customer opportunities and test solutions with Opportunity Solution Trees (created by Teresa Torres).
How do I install opportunity-solution-trees?
Run npx skills add https://github.com/pmprompt/claude-plugin-product-management --skill opportunity-solution-trees in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/opportunity-solution-trees/ (personal) or .claude/skills/opportunity-solution-trees/ (project).
Which AI agents can use opportunity-solution-trees?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is opportunity-solution-trees safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains opportunity-solution-trees?
It is published by pmprompt in pmprompt/claude-plugin-product-management. It has 373 recorded installs.
More from pmprompt/claude-plugin-product-management
prd-writer
pmprompt/claude-plugin-product-management
Generate comprehensive product requirements documents. Use when starting a new feature or product initiative and need structured documentation.
feature-prioritization-assistant
pmprompt/claude-plugin-product-management
Calculate RICE scores and prioritize features systematically. Use when building your product roadmap and need to make data-driven prioritization decisions.
user-feedback-synthesizer
pmprompt/claude-plugin-product-management
Open the skill to read its SKILL.md instructions.
thinking-in-bets
pmprompt/claude-plugin-product-management
Use when asked to "thinking in bets", "make decisions under uncertainty", "think probabilistically", "avoid resulting", "separate decision quality from outcomes", or "reduce bias in decisions". Helps make explicit bets and evaluate decisions on process, not results. The Thinking in Bets framework (from Annie Duke) applies poker strategy to business and life decisions.
product-led-growth
pmprompt/claude-plugin-product-management
Use when asked about "product-led growth", "PLG strategy", "self-serve growth", "freemium model", "free trial design", "product-led sales", "PQL", or "bottoms-up growth". Helps design and optimize product-led growth motions where the product drives acquisition, activation, and monetization. Based on frameworks from Elena Verna and Hila Qu.
jobs-to-be-done
pmprompt/claude-plugin-product-management
Use when asked to "jobs to be done", "JTBD", "why customers churn", "prep for customer interviews", "hire and fire products", or "find real competitors". Helps discover unmet needs and the context behind purchasing decisions. The Jobs to be Done framework (created by Clayton Christensen and Bob Moesta) explains why customers hire and fire products.
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work