
Define Opportunity Tree
- 506 installs
- 518 repo stars
- Updated August 4, 2026
- product-on-purpose/pm-skills
define-opportunity-tree is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
Key points
- define-opportunity-tree
- AI & Agent Building
- AI-coding skill
Define Opportunity Tree by the numbers
- 506 all-time installs (skills.sh)
- +29 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #1,759 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/product-on-purpose/pm-skills --skill define-opportunity-treeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 506 |
|---|---|
| repo stars | ★ 518 |
| Last updated | August 4, 2026 |
| Repository | product-on-purpose/pm-skills ↗ |
How do I helps with ai & agent building tasks?
Helps with ai & agent building tasks.
Who is it for?
Best when you're working on ai & agent building and need structured help with define-opportunity-tree.
Skip if: Teams with no ai & agent building needs, or anyone wanting a generic chat assistant without this specific workflow.
When should I use this skill?
When you need to helps with ai & agent building tasks, or when define-opportunity-tree is a claude code skill for ai & agent building. it helps solo builders move faster with ai-assisted coding.
What you get
Structured output aligned to define-opportunity-tree: define-opportunity-tree; AI & Agent Building; AI-coding skill.
Files
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
Opportunity Solution Tree
An Opportunity Solution Tree (OST) is a visual framework for product discovery that connects business outcomes to customer opportunities and potential solutions. Developed by Teresa Torres, it prevents the common trap of jumping straight to solutions by ensuring every feature idea traces back to a customer need and measurable outcome.
When to Use
- During continuous product discovery to organize learning
- When prioritizing what opportunities to pursue
- To communicate product strategy to stakeholders
- When you have too many feature ideas and need structure
- After user research to connect insights to action
- When aligning team on what outcomes matter most
When NOT to Use
- You need to score and rank a flat list of known candidates -> use
define-prioritization-framework; the tree structures discovery, not a ranking exercise - You have one specific problem to frame for a team -> use
define-problem-statement - You are ready to test a single assumption -> use
define-hypothesis, thenmeasure-experiment-design - The outcome you want to drive is not yet agreed -> set it first with
foundation-okr-writer; a tree without an agreed outcome decorates opinions
Instructions
When asked to create an opportunity solution tree, follow these steps:
1. Define the Desired Outcome Start at the top with a clear, measurable business or product outcome. This should be something you can influence through product changes. Express it quantitatively when possible (e.g., "Increase 30-day retention from 40% to 55%").
2. Identify Opportunity Areas Branch out to 3-5 opportunity areas.places where customer needs or pain points could be addressed. Opportunities are not solutions; they're customer problems, needs, or desires. Phrase them from the customer's perspective.
3. Add Supporting Evidence For each opportunity, note the evidence that supports it: user research quotes, behavioral data, support tickets, or market trends. Strong opportunities have multiple evidence sources.
4. Brainstorm Solutions For each opportunity, generate 2-4 potential solutions. Don't self-censor at this stage. Solutions can range from quick experiments to major features. Keep them specific enough to evaluate.
5. Define Assumption Tests For each promising solution, identify the riskiest assumption and design a lightweight experiment to test it. Good tests validate whether the solution will actually address the opportunity.
6. Prioritize the Tree Not all branches are equal. Mark which opportunity and solution you'll pursue first based on potential impact, confidence, and effort. The tree is a living document.you'll iterate as you learn.
7. Visualize the Structure Create a tree diagram showing the hierarchy: outcome at top, opportunities below, solutions beneath each opportunity, and experiments at the leaves.
Output Format
Use the template in references/TEMPLATE.md to structure the output. A complete tree fills every template section: Desired Outcome; Visual Tree; Opportunity Branches; Prioritization; Experiments Backlog; Learning Log; and Next Steps.
Quality Checklist
Before finalizing, verify:
- [ ] Outcome is measurable and within product team's influence
- [ ] Opportunities are customer-centric (needs/problems, not features)
- [ ] Each opportunity has supporting evidence documented
- [ ] Multiple solutions exist per opportunity (not jumping to one)
- [ ] Assumptions are explicit and experiments designed
- [ ] Prioritization is clear (which branch to explore first)
Examples
See references/EXAMPLE.md for a completed example.
{
"schema": 1,
"skill": "define-opportunity-tree",
"runs_per_query": 3,
"trigger_threshold": 0.5,
"queries": [
{
"q": "Create an opportunity solution tree for increasing 30-day retention from 40% to 55%",
"expect": "trigger",
"split": "train"
},
{
"q": "We have forty feature ideas and no structure; help me connect them back to customer opportunities and the outcome we care about",
"expect": "trigger",
"split": "train",
"notes": "Intent-only ask; too many ideas needing structure is a listed use case"
},
{
"q": "Map our activation outcome down to the opportunities from last month's research and candidate solutions for each",
"expect": "trigger",
"split": "train"
},
{
"q": "I want to show stakeholders how our roadmap traces from business outcome to customer needs; build the discovery tree",
"expect": "trigger",
"split": "train"
},
{
"q": "Organize what we learned in continuous discovery this quarter into an outcome-opportunity-solution structure",
"expect": "trigger",
"split": "train"
},
{
"q": "The team keeps jumping straight to solutions; build the tree that forces every idea to trace to a customer opportunity",
"expect": "trigger",
"split": "train"
},
{
"q": "Build an opportunity tree for reducing churn in our SMB segment",
"expect": "trigger",
"split": "validation"
},
{
"q": "After the user research wrap-up, connect the insights to our north-star outcome and lay out solution options per opportunity",
"expect": "trigger",
"split": "validation"
},
{
"q": "Teresa Torres style: outcome at the top, opportunities underneath, solutions at the leaves, for our checkout conversion goal",
"expect": "trigger",
"split": "validation"
},
{
"q": "Help me decide which opportunity spaces to pursue next quarter by structuring them under our engagement outcome",
"expect": "trigger",
"split": "validation"
},
{
"q": "I have a flat list of 12 candidate features; score and rank them with RICE and weighted scoring",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "define-prioritization-framework",
"notes": "Ranking a flat list of known candidates, per When NOT to Use"
},
{
"q": "We haven't agreed what outcome to drive next quarter; help me write the OKRs first",
"expect": "no-trigger",
"split": "validation",
"near_miss_of": "foundation-okr-writer",
"notes": "The outcome must be set before a tree, per When NOT to Use"
},
{
"q": "Frame the one problem we're tackling this sprint as a problem statement",
"expect": "no-trigger",
"split": "train",
"notes": "One specific problem to frame; define-problem-statement territory"
},
{
"q": "We're ready to test the freemium assumption; write a testable hypothesis with success metrics",
"expect": "no-trigger",
"split": "train"
},
{
"q": "Build a JTBD canvas for why ops teams hire our monitoring product",
"expect": "no-trigger",
"split": "validation"
},
{
"q": "Draw a customer journey map for the trial-to-paid experience",
"expect": "no-trigger",
"split": "train"
},
{
"q": "Why is my git rebase hitting conflicts on every commit? Walk me through fixing it",
"expect": "no-trigger",
"split": "train",
"notes": "Unrelated debugging ask"
},
{
"q": "Write a Python script to scrape pricing pages from competitor sites",
"expect": "no-trigger",
"split": "validation",
"notes": "Unrelated scripting ask"
},
{
"q": "Plan my travel itinerary for the product conference in Amsterdam",
"expect": "no-trigger",
"split": "train",
"notes": "Unrelated logistics ask"
},
{
"q": "Create the launch checklist for next month's platform release",
"expect": "no-trigger",
"split": "validation"
}
]
}
define-opportunity-tree - Version History
| Version | Date | Release | Effort | Type | Summary |
|---|---|---|---|---|---|
| 2.1.0 | 2026-06-10 | v2.26.0 | F-12-batch-2 | minor | Quality convergence: When NOT to Use + output-contract enumeration (F-12 Batch 2) |
| 2.0.0 | 2026-01-26 | - | - | baseline | Prior published version |
2.1.0 (2026-06-10)
Quality-convergence minor (F-12 Batch 2): added a "When NOT to Use" section with boundary pointers to neighboring skills, and the Output Format now enumerates the template sections a complete artifact fills. No template or example changes.
2.0.0 (2026-01-26)
Baseline row for the prior published version; see git history for its changes.
Opportunity Solution Tree: Improve 30-Day User Retention
Desired Outcome
Outcome Statement: Increase 30-day user retention rate Current State: 40% of new users return after 30 days Target State: 55% of new users return after 30 days Timeframe: Q2 2026 Owner: Maya Johnson, Product Manager
Why This Outcome Matters
User retention is our primary growth lever. Our acquisition costs are high ($45 CAC), so improving retention directly impacts unit economics. Users who make it past 30 days have 85% likelihood of converting to paid, making early retention critical to revenue growth. Leadership has identified this as our #1 product priority for the quarter.
---
Visual Tree
[OUTCOME]
Increase 30-day retention 40% → 55%
|
┌──────────────────┼──────────────────┐
| | |
[Opportunity 1] [Opportunity 2] [Opportunity 3]
Users don't Users can't find Users forget
understand value features they to come back
in first session need |
| | ┌────┴────┐
┌───┴───┐ ┌───┴───┐ | |
| | | | [Email] [Mobile
[Wizard] [Video] [Search] [AI Push]
| | | Assist]
[Test: [Test: [Test: [Test:
Survey] A/B] Usage] Prototype]---
Opportunity Branches
Opportunity 1: Users don't understand the product's value in their first session
Description: New users sign up but don't experience an "aha moment" in their first session. They leave without understanding what the product can do for them. Impact Potential: High Confidence: High
Evidence:
- User Research (P3): "I signed up but wasn't sure what I was supposed to do first. I just clicked around."
- Data: 65% of churned users never completed their first task
- Support Tickets: "How do I get started?" is #2 most common question
- User Research (P7): "The product looks powerful but I didn't have time to figure it out."
Solutions
Solution 1A: Interactive Onboarding Wizard
- Description: A 3-step guided wizard that walks users through creating their first project, adding a task, and seeing the dashboard.guaranteeing they experience core value
- Effort: M
- Riskiest Assumption: Users will complete a multi-step wizard rather than skipping it
- Assumption Test: Prototype test with 5 users measuring completion rate and time-to-value
Solution 1B: Personalized Video Walkthrough
- Description: A 90-second contextual video (based on use case selected at signup) showing the product solving their specific problem
- Effort: M
- Riskiest Assumption: Users will watch a video rather than exploring on their own
- Assumption Test: A/B test video vs. no video, measure video completion and 7-day retention
Solution 1C: Template Gallery with Guided Setup
- Description: Offer pre-built templates (marketing calendar, sprint board, personal tasks) that users can clone, reducing setup friction
- Effort: S
- Riskiest Assumption: Templates match what users actually want to do
- Assumption Test: Survey 20 recent signups about their intended use case; compare to template library
---
Opportunity 2: Users can't find the features they need when they need them
Description: Users come back with intent but can't locate features, get frustrated, and leave. The product has grown complex and discovery is poor. Impact Potential: Medium Confidence: Medium
Evidence:
- User Research (P2): "I know you have time tracking somewhere but I spent 10 minutes looking for it."
- Data: Search usage is low (8% of sessions) despite 50+ features
- Heatmaps: Users click on navigation items seemingly at random
- Support Tickets: "Where is X?" tickets increased 40% after last feature release
Solutions
Solution 2A: Enhanced Search with Natural Language
- Description: Upgrade search to understand natural language queries ("track time on this task") and show relevant features, not just content
- Effort: L
- Riskiest Assumption: Users will try search if we make it more prominent
- Assumption Test: Make search bar 2x larger and track usage change before investing in NLP
Solution 2B: AI Feature Assistant
- Description: A chatbot-style assistant that users can ask "how do I..." questions and get guided help
- Effort: XL
- Riskiest Assumption: Users will engage with a chatbot for navigation
- Assumption Test: Wizard of Oz test with 10 users.manually respond to chat queries and measure satisfaction
Solution 2C: Contextual Feature Tips
- Description: Surface relevant features based on what the user is doing (e.g., if editing a task, suggest time tracking)
- Effort: M
- Riskiest Assumption: Contextual tips won't feel intrusive or annoying
- Assumption Test: A/B test tips on/off for one feature area; monitor dismissal rate and feature adoption
---
Opportunity 3: Users forget to come back.nothing prompts their return
Description: Users have initial intent but without habits formed or external triggers, they simply forget the product exists until they need it again (if ever). Impact Potential: High Confidence: High
Evidence:
- Data: 70% of churned users never returned after day 3
- User Research (P5): "It's a good product, I just forgot about it. I have a lot going on."
- Cohort Analysis: Users who engage within 72 hours have 3x retention
- Benchmark: Competitors send 4-5 emails in first week; we send 1
Evidence:
Solutions
Solution 3A: Email Re-engagement Sequence
- Description: A 5-email sequence over 14 days that highlights unused features and incomplete tasks, bringing users back with specific reasons
- Effort: S
- Riskiest Assumption: Users will open and act on emails rather than ignore or unsubscribe
- Assumption Test: A/B test new sequence vs. current single email; measure open rate, click rate, and return rate
Solution 3B: Mobile Push Notifications
- Description: Smart push notifications for task deadlines, team activity, and usage prompts
- Effort: M
- Riskiest Assumption: Users have mobile app installed and notifications enabled
- Assumption Test: Check current mobile app install rate (currently 23%); if low, this opportunity is capped
Solution 3C: Weekly Digest Email
- Description: A personalized weekly summary showing what happened in their workspace and what needs attention
- Effort: S
- Riskiest Assumption: Users have enough activity to make digest interesting
- Assumption Test: Mock up digest for 10 real users and assess if there's enough content to be useful
---
Prioritization
Current Focus
Priority Opportunity: Opportunity 1 - Users don't understand value in first session Priority Solution: Solution 1A - Interactive Onboarding Wizard Rationale: Highest confidence (strong evidence), addresses earliest stage of user journey (biggest impact window), medium effort (achievable this quarter). If users never understand value, no amount of re-engagement will save them.
Opportunity Ranking
| Rank | Opportunity | Impact | Confidence | Effort | Score |
|---|---|---|---|---|---|
| 1 | First session value clarity | High | High | Medium | 8/10 |
| 2 | Users forget to return | High | High | Small | 7/10 |
| 3 | Feature discoverability | Medium | Medium | Large | 5/10 |
Parking Lot
- Gamification elements: Interesting but unproven in B2B; needs more research before prioritizing
- Community features: High effort, unclear impact; revisit after core retention improves
- Slack integration reminders: Good idea but requires Slack app rebuild; defer to Q3
---
Experiments Backlog
| Solution | Assumption | Test Method | Success Criteria | Status |
|---|---|---|---|---|
| Onboarding Wizard | Users will complete wizard | Prototype test (5 users) | >70% completion | Planned |
| Onboarding Wizard | Wizard improves time-to-value | A/B test (2 weeks) | >20% reduction in time to first task | Planned |
| Email Sequence | Users open/click emails | A/B test (2 weeks) | >25% open rate, >5% click rate | Planned |
| Template Gallery | Templates match use cases | Survey (20 users) | >60% match rate | Planned |
---
Learning Log
| Date | Experiment | Result | Learning | Impact on Tree |
|---|---|---|---|---|
| TBD | Wizard prototype | TBD | TBD | TBD |
---
Next Steps
- [ ] Design onboarding wizard prototype (Design, this week)
- [ ] Schedule 5 usability tests for wizard (Research, next week)
- [ ] Draft email re-engagement sequence copy (Marketing, this week)
- [ ] Pull data on mobile app install rate to size Opp 3B (Data, this week)
- [ ] Review tree with engineering to validate effort estimates (PM, this week)
---
This is a living document. Update as you learn from experiments and customer feedback.
Opportunity Solution Tree: [Outcome Name]
Desired Outcome
Outcome Statement: [Clear, measurable outcome] Current State: [Baseline metric if available] Target State: [Goal metric] Timeframe: [When we want to achieve this] Owner: [Who owns this outcome]
Why This Outcome Matters
<!-- Connect to business strategy and user value -->
[Explanation of strategic importance]
---
Visual Tree
[OUTCOME]
[Statement]
|
┌───────────────┼───────────────┐
| | |
[Opportunity 1] [Opportunity 2] [Opportunity 3]
| | |
┌───┴───┐ ┌───┴───┐ ┌───┴───┐
| | | | | |
[Sol A] [Sol B] [Sol C] [Sol D] [Sol E] [Sol F]
| | | | | |
[Test] [Test] [Test] [Test] [Test] [Test]---
Opportunity Branches
Opportunity 1: [Customer need or problem]
Description: [What is the opportunity from customer's perspective] Impact Potential: High/Medium/Low Confidence: High/Medium/Low
Evidence:
- [Source 1]: "[Quote or data point]"
- [Source 2]: "[Quote or data point]"
- [Source 3]: "[Quote or data point]"
Solutions
Solution 1A: [Solution name]
- Description: [What we would build]
- Effort: [T-shirt size: S/M/L/XL]
- Riskiest Assumption: [What must be true]
- Assumption Test: [How to validate quickly]
Solution 1B: [Solution name]
- Description: [What we would build]
- Effort: [T-shirt size: S/M/L/XL]
- Riskiest Assumption: [What must be true]
- Assumption Test: [How to validate quickly]
---
Opportunity 2: [Customer need or problem]
Description: [What is the opportunity from customer's perspective] Impact Potential: High/Medium/Low Confidence: High/Medium/Low
Evidence:
- [Source 1]: "[Quote or data point]"
- [Source 2]: "[Quote or data point]"
- [Source 3]: "[Quote or data point]"
Solutions
Solution 2A: [Solution name]
- Description: [What we would build]
- Effort: [T-shirt size: S/M/L/XL]
- Riskiest Assumption: [What must be true]
- Assumption Test: [How to validate quickly]
Solution 2B: [Solution name]
- Description: [What we would build]
- Effort: [T-shirt size: S/M/L/XL]
- Riskiest Assumption: [What must be true]
- Assumption Test: [How to validate quickly]
---
Opportunity 3: [Customer need or problem]
Description: [What is the opportunity from customer's perspective] Impact Potential: High/Medium/Low Confidence: High/Medium/Low
Evidence:
- [Source 1]: "[Quote or data point]"
- [Source 2]: "[Quote or data point]"
- [Source 3]: "[Quote or data point]"
Solutions
Solution 3A: [Solution name]
- Description: [What we would build]
- Effort: [T-shirt size: S/M/L/XL]
- Riskiest Assumption: [What must be true]
- Assumption Test: [How to validate quickly]
Solution 3B: [Solution name]
- Description: [What we would build]
- Effort: [T-shirt size: S/M/L/XL]
- Riskiest Assumption: [What must be true]
- Assumption Test: [How to validate quickly]
---
Prioritization
Current Focus
Priority Opportunity: [Which opportunity we're pursuing first] Priority Solution: [Which solution we're testing first] Rationale: [Why this path over others]
Opportunity Ranking
| Rank | Opportunity | Impact | Confidence | Effort | Score |
|---|---|---|---|---|---|
| 1 | [Name] | H/M/L | H/M/L | H/M/L | [Calculated] |
| 2 | [Name] | H/M/L | H/M/L | H/M/L | [Calculated] |
| 3 | [Name] | H/M/L | H/M/L | H/M/L | [Calculated] |
Parking Lot
<!-- Good ideas not pursuing now -->
- [Idea]: [Why not now]
- [Idea]: [Why not now]
---
Experiments Backlog
| Solution | Assumption | Test Method | Success Criteria | Status |
|---|---|---|---|---|
| [Name] | [Assumption] | [Method] | [Criteria] | Planned/Running/Complete |
| [Name] | [Assumption] | [Method] | [Criteria] | Planned/Running/Complete |
| [Name] | [Assumption] | [Method] | [Criteria] | Planned/Running/Complete |
---
Learning Log
<!-- Update as you run experiments -->
| Date | Experiment | Result | Learning | Impact on Tree |
|---|---|---|---|---|
| [Date] | [What we tested] | [Pass/Fail] | [What we learned] | [How tree changed] |
---
Next Steps
- [ ] [Immediate action 1]
- [ ] [Immediate action 2]
- [ ] [Immediate action 3]
---
This is a living document. Update as you learn from experiments and customer feedback.
Related skills
FAQ
What does define-opportunity-tree do?
define-opportunity-tree is a Claude Code skill for ai & agent building. It helps developers move faster with AI-assisted coding.
When should I use define-opportunity-tree?
When you need to helps with ai & agent building tasks, or when define-opportunity-tree is a claude code skill for ai & agent building. it helps developers move faster with ai-assisted coding.
What are the main capabilities?
define-opportunity-tree; AI & Agent Building; AI-coding skill.