# How to Use the Opportunity Solution Tree Skill in PM Skills

> Learn how to use the Opportunity Solution Tree skill to structure product discovery. Automatically organize desired outcomes, opportunities, solutions, and experiments with this powerful PM Skills tool.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: how-to-guide
- Published: 2026-07-02

---

**The Opportunity Solution Tree skill automatically structures product discovery into a four-level hierarchy—Desired Outcome, Opportunities, Solutions, and Experiments—by loading the `pm-product-discovery` plugin and parsing your research data into prioritized markdown output.**

The Opportunity Solution Tree skill encodes Teresa Torres' continuous discovery framework into an automated workflow within the `phuryn/pm-skills` repository. Located in the `pm-product-discovery` plugin, this skill transforms raw customer research into a prioritized tree structure that guides product teams from metric definition to experiment validation.

## Understanding the Opportunity Solution Tree Framework

The skill implements a strict four-level hierarchy defined in [`pm-product-discovery/skills/opportunity-solution-tree/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/opportunity-solution-tree/SKILL.md). Each level builds upon the previous to ensure product teams solve the right problems before building solutions.

**Desired Outcome** represents a single, measurable metric that defines success for the discovery cycle. The skill enforces the "one outcome at a time" principle, requiring inputs like "increase 7-day retention to 40%" rather than vague goals.

**Opportunities** are customer problems framed from the user's perspective. The skill calculates an **Opportunity Score** using the formula `Importance × (1 − Satisfaction)` to prioritize which problems warrant investigation. High-importance, low-satisfaction opportunities generate the highest scores.

**Solutions** require generating multiple ideas per opportunity. The skill prompts the product trio (PM + Designer + Engineer) to create at least three solutions for each opportunity, enforcing the "compare and contrast" principle before committing to a single approach.

**Experiments** define cheap, fast tests that validate whether a solution actually addresses the opportunity. Each experiment includes a hypothesis, method, metric, and success threshold to ensure clear pass/fail criteria.

## How the Skill is Structured in the Repository

The Opportunity Solution Tree skill follows the universal skill format used across the `phuryn/pm-skills` marketplace.

**File Location:** The complete skill definition resides at [`pm-product-discovery/skills/opportunity-solution-tree/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/opportunity-solution-tree/SKILL.md). This file contains the full description, step-by-step process, and output formatting rules.

**Plugin Registration:** The skill is registered in the root [`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md) under the *Available Plugins* section, listed as `opportunity-solution-tree` within the `pm-product-discovery` plugin manifest. This registration enables automatic discovery by the AI runtime.

**Validation Logic:** The skill validates three required inputs before processing: a single desired outcome metric, provided research data, and optional pre-defined opportunities or solutions. If the outcome contains multiple metrics or lacks research backing, the skill prompts for clarification.

## Invoking the Opportunity Solution Tree Skill

The skill supports two invocation methods depending on your workflow needs.

**Automatic Loading:** When your query mentions "Opportunity Solution Tree," the AI automatically loads the skill from the marketplace. This triggers the full discovery workflow without requiring specific command syntax.

**Explicit Invocation:** Force the skill using the prefix notation:

```markdown
/pm-product-discovery:opportunity-solution-tree

```

Explicit invocation is useful when chaining multiple skills or when the query context might trigger different plugins.

## Building Your Tree Step-by-Step

### Define the Desired Outcome

Start with a specific, time-bound metric. The skill validates that your outcome contains exactly one measurable target. Valid examples include "reduce churn by 15% in Q3" or "increase activation rate to 60% by December 2025."

### Identify and Score Opportunities

Input your research data—typically customer interviews, support tickets, or survey results. The skill parses this data to extract customer problems and calculates Opportunity Scores automatically.

For each opportunity, the skill outputs:
- **Importance** rating (0.0 to 1.0)
- **Current Satisfaction** rating (0.0 to 1.0)
- **Calculated Score** using the formula `Importance × (1 − Satisfaction)`

### Generate Multiple Solutions

For each high-scoring opportunity, the skill prompts generation of at least three distinct solutions. This prevents premature convergence on a single idea and ensures the product trio considers alternative approaches before building.

### Design Experiments

The final level creates specific experiments to test solution-opportunity fit. Each experiment includes:
- Clear hypothesis stating the expected outcome
- Method (e.g., A/B test, usability study, prototype interview)
- Success metric and threshold (e.g., "activation rate improves by 10%")

## Example Usage

**Basic Invocation:**

```markdown
Help me build an Opportunity Solution Tree for improving user activation.

```

**Generated Output:**

```markdown

# Opportunity Solution Tree – User Activation

## Desired Outcome

- Increase 7-day retention to 40% (Quarter 1 2026)

## Opportunities

1. **I struggle to find the core value quickly** – Importance 0.9, Satisfaction 0.3 → Score 0.63
2. **I get confused by the onboarding flow** – Importance 0.8, Satisfaction 0.4 → Score 0.48

## Solutions

### Opportunity 1

- Simplify the onboarding tutorial
- Add an in-app "quick tour" modal
- Introduce contextual tooltips

### Opportunity 2

- Redesign the signup wizard into three steps
- Provide progressive disclosure of features

## Experiments

- **Experiment 1 (Opportunity 1, Solution A)**: A/B test tutorial vs. no tutorial, measure activation rate after 3 days.
- **Experiment 2 (Opportunity 2, Solution B)**: Usability test of the three-step wizard, track completion time and drop-off.

```

**Providing Research Data:**

```markdown
Desired outcome: Reduce churn by 15% in Q3.
Research: Interviews with 12 users indicate two pain points – "hard to locate settings" and "notifications are overwhelming".

```

The skill processes these inputs to generate opportunities, calculates their scores, proposes three solutions for each, and suggests validation experiments.

## Summary

- The **Opportunity Solution Tree skill** lives in [`pm-product-discovery/skills/opportunity-solution-tree/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/opportunity-solution-tree/SKILL.md) and implements Teresa Torres' continuous discovery framework.
- The skill validates three inputs: a single desired outcome, research data, and optional pre-defined items.
- **Opportunity Scores** are calculated as `Importance × (1 − Satisfaction)` to prioritize customer problems.
- The skill enforces best practices: one outcome at a time, opportunities over features, and minimum three solutions per opportunity.
- Access the skill by mentioning "Opportunity Solution Tree" or using the explicit prefix `/pm-product-discovery:opportunity-solution-tree`.

## Frequently Asked Questions

### What inputs does the Opportunity Solution Tree skill require?

The skill requires three inputs: a **desired outcome** (single measurable metric), **research data** (customer interviews, surveys, or support tickets), and optionally **pre-defined opportunities or solutions**. The skill validates that the outcome contains exactly one metric and that research data is provided before generating the tree.

### How does the skill prioritize opportunities?

The skill calculates an **Opportunity Score** for each customer problem using the formula `Importance × (1 − Satisfaction)`. Problems with high importance and low current satisfaction receive the highest scores, indicating the greatest potential impact for the product team to address first.

### Can I use the skill without predefined research data?

No. The skill validates that research data is provided because the framework requires evidence-based opportunities rather than assumed problems. If you attempt to invoke the skill without research, it will prompt you to provide customer interviews, survey results, or other qualitative data before proceeding.

### Where is the Opportunity Solution Tree skill defined in the repository?

The skill definition is located at [`pm-product-discovery/skills/opportunity-solution-tree/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/opportunity-solution-tree/SKILL.md). It is registered in the marketplace through the root [`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md) file under the Available Plugins section, which enables automatic loading when users mention the skill name.