Build an Opportunity Solution Tree from outcomes to opportunities, solutions, and tests. Use when a stakeholder request needs problem framing before you decide what to build.
Installs just this skill. Get the whole plugin for auto-invocation.
⚡ How it fires
How this skill gets triggered: by you, by Claude, or both.
Fires itselfClaude auto-loads it when your prompt matches the work.
You can call itInvoke it directly when you want it.
Slash command/opportunity-solution-tree
👁️ Context preview
The summary Claude sees to decide when to auto-load this skill.
Build an Opportunity Solution Tree from outcomes to opportunities, solutions, and tests. Use when a stakeholder request needs problem framing before you decide what to build.
---name: opportunity-solution-tree
argument-hint: "[stakeholder request or outcome]"
description: Build an Opportunity Solution Tree from outcomes to opportunities, solutions, and tests. Use when a stakeholder request needs problem framing before you decide what to build.
intent: >-
Guide product managers through creating an Opportunity Solution Tree (OST) by extracting target outcomes from stakeholder requests, generating opportunity options (problems to solve), mapping potential solutions, and selecting the best proof-of-concept (POC) based on feasibility, impact, and market fit. Use this to move from vague product requests to structured discovery, ensuring teams solve the right problems before jumping to solutions—avoiding "feature factory" syndrome and premature convergence on ideas.
type: interactive
---## Purpose
Guide product managers through creating an Opportunity Solution Tree (OST) by extracting target outcomes from stakeholder requests, generating opportunity options (problems to solve), mapping potential solutions, and selecting the best proof-of-concept (POC) based on feasibility, impact, and market fit. Use this to move from vague product requests to structured discovery, ensuring teams solve the right problems before jumping to solutions—avoiding "feature factory" syndrome and premature convergence on ideas.
This is not a roadmap generator—it's a structured discovery process that outputs validated opportunities with testable solution hypotheses.
## Input
**Works best with:** The stakeholder request or the target outcome you're starting from.
**Also useful:** Customer evidence you already have, constraints, and solutions already being pushed.
Anything supplied with the invocation itself — text after the skill name, a pasted context dump, or an appended `ARGUMENTS:` line — counts as answers already given. Use it and skip whatever it covers; don't re-ask.
**Arriving empty-handed? That works too.** The skill opens by asking for the request or desired outcome, then extracts the measurable target outcome from it.
**Example invocation:** `Build an OST from this request: 'Sales says we need a mobile app because competitors have one.'`
## Key Concepts
### What is an Opportunity Solution Tree (OST)?
An OST is a visual framework (Teresa Torres, *Continuous Discovery Habits*) that connects:
1. **Desired Outcome** (business goal or product metric)
2. **Opportunities** (customer problems, needs, pain points, or desires that could drive the outcome)
3. **Solutions** (ways to address each opportunity)
4. **Experiments** (tests to validate solutions)
**Structure:**
```
Desired Outcome (1)
|
+-----------+-----------+
| | |
Opportunity Opportunity Opportunity (3)
| | |
+-+-+ +-+-+ +-+-+
| | | | | | | | |
S1 S2 S3 S1 S2 S3 S1 S2 S3 (9 total solutions)
```
### Why This Works
- **Outcome-driven:** Starts with business goal, not feature requests
- **Divergent before convergent:** Explores multiple opportunities before picking solutions
- **Problem-focused:** Opportunities are problems, not solutions disguised as problems
- **Testable:** Each solution maps to experiments, not just "build it and ship"
- **POC selection:** Evaluates feasibility, impact, market fit before committing resources
### Anti-Patterns (What This Is NOT)
- **Not a feature list:** Opportunities are problems customers face, not "we need dark mode"
- **Not solution-first:** Don't start with "we should build X"—start with "customers struggle with Y"
- **Not waterfall planning:** OST is a discovery tool, not a project plan
- **Not a one-time exercise:** OSTs evolve as you learn from experiments
### When to Use This
- Stakeholder requests a feature or product initiative
- Starting discovery for a new product area
- Clarifying vague OKRs or strategic goals
- Prioritizing which problems to solve first
- Aligning team on what outcomes you're driving
### When NOT to Use This
- When the problem is already validated (move to solution testing)
- For tactical bug fixes or technical debt (no discovery needed)
- When stakeholders demand a specific solution (address alignment issues first)
---
### Facilitation Source of Truth
Use [`workshop-facilitation`](../workshop-facilitation/SKILL.md) as the default interaction protocol for this skill.
- **Why it matters:** [Rationale from stakeholder request or context]
---
### Question 2: Identify Opportunities (Problems to Solve)
**Agent generates 3 opportunities** based on the desired outcome and context provided.
**Agent says:**
"Based on your desired outcome ([from Q1]) and the context you provided, here are **3 opportunities** (customer problems or needs) that could drive this outcome:"
1. **Opportunity 1: Users don't experience value during trial** — "New users sign up but don't complete onboarding, never reach 'aha moment,' abandon before seeing core value"
- Evidence: [From context: onboarding analytics, support tickets, exit surveys]
2. **Opportunity 2: Pricing is unclear or misaligned** — "Users unsure if paid plan is worth it; don't understand what they get for the price; pricing page confusing"
3. **Opportunity 3: Free plan is 'good enough'** — "Users stay on free tier indefinitely because it meets their needs; no compelling reason to upgrade"
- Evidence: [From context: freemium user retention data, support tickets asking for workarounds]
**Agent asks:**
"Which opportunity feels most critical to explore first, or would you like to modify/add opportunities?"
**User response:** [Selection or custom]
---
### Question 3: Generate Solutions for Selected Opportunity
**Agent generates 3 solution ideas** for the selected opportunity.
**Agent says:**
"For **Opportunity [X]: [Name]**, here are **3 potential solutions** to test:"
**Example (if Opportunity 1 selected: Users don't experience value during trial):**
1. **Solution 1: Guided onboarding checklist** — "Interactive checklist that walks users through core workflows step-by-step (e.g., 'Create your first project,' 'Invite a teammate,' 'Complete a task')"
- Experiment: A/B test checklist vs. no checklist, measure activation rate
2. **Solution 2: Time-to-value triggers** — "Automatically prompt users when they're stuck (e.g., 'You haven't created a project yet—here's a template to get started')"
- Hypothesis: Proactive nudges prevent drop-off
- Experiment: Track engagement with prompts, measure trial-to-paid lift
3. **Solution 3: Human-assisted onboarding** — "Offer 15-min onboarding call with CSM for high-value trial users (enterprise, team plans)"
- Hypothesis: Personal touch increases conversion for high-intent users
- Experiment: Offer to 50 trial users, measure conversion vs. control group
**Agent asks:**
"Would you like to explore solutions for another opportunity, or move to POC selection?"
**User response:** [Selection or custom]
---
## Phase 2: Select Proof-of-Concept (POC)
After generating solutions, the agent helps select which solution to test first.
"Let's evaluate your solutions to pick the best starting point. I'll score each solution on **Feasibility** (how hard to build), **Impact** (how much it could move the outcome), and **Market Fit** (how well it aligns with customer needs)."
**Agent generates evaluation table:**
| Solution | Feasibility (1-5) | Impact (1-5) | Market Fit (1-5) | Total Score | Rationale |
3. **Manual concierge test** — "Run the solution manually with 20 users (e.g., personally walk them through onboarding), measure outcomes" (Best for: Learning fast, no dev work)
**Or describe your experiment approach.**
**User response:** [Selection or custom]
---
### Output: Opportunity Solution Tree + POC Plan
After completing the flow, the agent outputs:
```markdown
# Opportunity Solution Tree + POC Plan
## Desired Outcome
**Outcome:** [From Q1]
**Target Metric:** [Specific, measurable goal]
**Why it matters:** [Rationale]
---
## Opportunity Map
### Opportunity 1: [Name]
**Problem:** [Description]
**Evidence:** [From context]
**Solutions:**
1. [Solution A]
2. [Solution B]
3. [Solution C]
---
### Opportunity 2: [Name]
**Problem:** [Description]
**Evidence:** [From context]
**Solutions:**
1. [Solution A]
2. [Solution B]
3. [Solution C]
---
### Opportunity 3: [Name]
**Problem:** [Description]
**Evidence:** [From context]
**Solutions:**
1. [Solution A]
2. [Solution B]
3. [Solution C]
---
## Selected POC
**Opportunity:** [Selected opportunity]
**Solution:** [Selected solution]
**Hypothesis:**
- "If we [implement solution], then [outcome metric] will [increase/decrease] from [X] to [Y] because [rationale]."
**Experiment:**
- **Type:** [A/B test / Prototype test / Concierge test]
- **Participants:** [Number of users, segment]
- **Duration:** [Timeline]
- **Success criteria:** [What validates the hypothesis]