# opportunity-solution-tree

Turns a stakeholder request into a tree of outcomes, customer problems, solutions and experiments. Useful when someone asks for a feature and the real problem is unclear.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2800 installs · ★ 7673
- Author: deanpeters
- License: CC-BY-SA-4.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/deanpeters/Product-Manager-Skills/tree/HEAD/skills/opportunity-solution-tree/SKILL.md
- Updated: 2026-10-16
- HTML: https://affpapa.org/en/nevibecode/skills/deanpeters-opportunity-solution-tree

## What it does

The skill walks a product manager through the Opportunity Solution Tree method from Teresa Torres. It pulls a measurable outcome out of the request first — revenue growth, retention or acquisition — then lists the customer problems that could move that number. Each problem gets candidate solutions, and each solution gets an experiment to validate it.

There are two phases. Phase one builds the tree: outcome, opportunities, solutions. Phase two picks a proof-of-concept, scoring options on feasibility, impact and market fit, then recommends where to start. The skill is interactive: it asks one question at a time, offers numbered answer choices, and gives numbered recommendations at decision points. Pass the request along with the invocation and those questions are skipped.

This is not a roadmap generator. What comes out is testable solution hypotheses, not a feature list to build. Skip it for tactical bug fixes and technical debt — there is nothing to discover there. And when a stakeholder already insists on a specific solution, alignment comes first, before any tree.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add deanpeters/Product-Manager-Skills --skill opportunity-solution-tree -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/opportunity-solution-tree/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/opportunity-solution-tree/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add deanpeters/Product-Manager-Skills --skill opportunity-solution-tree -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/opportunity-solution-tree/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add deanpeters/Product-Manager-Skills --skill opportunity-solution-tree -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/opportunity-solution-tree/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install deanpeters/Product-Manager-Skills opportunity-solution-tree
```

2. **Manually: put the files in place**
- File: `.github/skills/opportunity-solution-tree/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add deanpeters/Product-Manager-Skills --skill opportunity-solution-tree -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/deanpeters/Product-Manager-Skills --path skills/opportunity-solution-tree
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/opportunity-solution-tree/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add deanpeters/Product-Manager-Skills --skill opportunity-solution-tree -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/deanpeters/Product-Manager-Skills/tree/HEAD/skills/opportunity-solution-tree/SKILL.md

## When to use it
- reframe a feature request as a problem worth solving
- connect a business outcome to customer problems and tests
- show leadership why one solution beat the alternatives
- break a vague OKR into concrete opportunities
- pick a proof-of-concept by feasibility and impact

## Example prompts
- Map our retention goal into an opportunity solution tree
- Help me choose a POC among three solutions for churn

## Similar
- [find-skills](https://affpapa.org/en/nevibecode/skills/find-skills.md) — skill · 4000000 installs
- [grill-me](https://affpapa.org/en/nevibecode/skills/grill-me.md) — skill · 1424476 installs
- [grill-with-docs](https://affpapa.org/en/nevibecode/skills/grill-with-docs.md) — skill · 1219756 installs
- [handoff](https://affpapa.org/en/nevibecode/skills/handoff.md) — skill · 1038491 installs
- [grilling](https://affpapa.org/en/nevibecode/skills/grilling.md) — skill · 979543 installs
- [teach](https://affpapa.org/en/nevibecode/skills/teach.md) — skill · 862247 installs

## Other versions with the same name
- [opportunity-solution-tree · phuryn](https://affpapa.org/en/nevibecode/skills/opportunity-solution-tree.md) — 3000 installs

From the same set: [deanpeters/product-manager-skills](https://affpapa.org/en/nevibecode/by/deanpeters/product-manager-skills.md) — 69 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
