Skip to content
Productivity
Skill

/opportunity-solution-tree

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.

From plugin
product-manager-skills
7.8k77 skills6 commands

Claude Code

$ npx -y skills add deanpeters/Product-Manager-Skills --skill opportunity-solution-tree --agent claude-code

SKILL.md

opportunity-solution-tree.SKILL.md
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
theme: discovery-research
best_for:
  - "Turning a stakeholder feature request back into a problem worth solving"
  - "Connecting a desired outcome to opportunities, solutions, and tests"
  - "Showing why one solution was chosen over the alternatives"
scenarios:
  - "A stakeholder asked for a specific feature and I want to reframe it as a problem first"
  - "I need to show leadership why we picked this solution over the three alternatives"
estimated_time: "30-45 min"

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.

**Default entry mode:** Guided · set in `pm-skills.config.yaml` (library-wide default or a per-skill override); the user's own choice in the session always wins. On the first turn, offer all three modes, then open in the default without waiting for a pick: Guided asks the first question, Context dump invites the paste, Best guess asks for a one-sentence minimum and drafts with every assumption labeled.

It defines:

  • session heads-up + entry mode (Guided, Context dump, Best guess)
  • one-question turns with plain-language prompts
  • progress labels (for example, Context Qx/8 and Scoring Qx/5)
  • interruption handling and pause/resume behavior
  • numbered recommendations at decision points
  • quick-select numbered response options for regular questions (include `Other (specify)` when useful)

This file defines the domain-specific assessment content. If there is a conflict, follow this file's domain logic.

Application

Use `template.md` for the full fill-in structure.

This interactive skill follows a **two-phase process**:

**Phase 1:** Generate OST (extract outcome, identify opportunities, map solutions) **

Read more
@deanpeters
Ships withproduct-manager-skills

77 battle-tested PM frameworks, ready for Claude, Codex, ChatGPT, and any agent that can read structured knowledge.

Stars on GitHub

Momentum

stars in total
7.8k
Star history of deanpeters/Product-Manager-Skills on GitHub, a chart by star-history.com

Other skills on product-manager-skills.

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about opportunity-solution-tree.

Which coding agents can use opportunity-solution-tree?
opportunity-solution-tree installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.