Agent skill · AI & Agents

define-opportunity-tree

Creates an opportunity solution tree connecting a desired outcome to customer opportunities and candidate solutions, preventing solution-first jumps in continuous discovery. Use when structuring scattered feature ideas or communicating how the roadmap traces to outcomes. For ranking an existing flat list of candidates, use define-prioritization-framework instead; this skill discovers the list, it does not score one.

product-on-purposegithub.com/product-on-purposeGitHub ↗
claude-codecodexApache-2.0
Install
npx skills add product-on-purpose/pm-skills --skill define-opportunity-tree --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 5
SKILL.md size: 4 KB
Bundled scripts: none
Version: 2.2.0
Declared author: product-on-purpose
Path: skills/define-opportunity-tree/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 518
Language: JavaScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

<!-- 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`, then `measure-experiment-design` - The outcome you want to drive is not yet agreed ->

What's inside
Steps it walks through
  1. When to Use
  2. When NOT to Use
  3. Instructions
  4. Output Format
  5. Quality Checklist
  6. Examples
Ships with 4 files
  • HISTORY.md
  • evals/trigger-fixtures.json
  • references/EXAMPLE.md
  • references/TEMPLATE.md
More from pm-skills
All skills →
About this skill
What does the define-opportunity-tree skill do?

Creates an opportunity solution tree connecting a desired outcome to customer opportunities and candidate solutions, preventing solution-first jumps in continuous discovery. Use when structuring scattered feature ideas or communicating how the roadmap traces to outcomes. For ranking an existing flat list of candidates, use define-prioritization-framework instead; this skill discovers the list, it does not score one.

How do I install it?

Run `npx skills add product-on-purpose/pm-skills --skill define-opportunity-tree --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From product-on-purpose/pm-skills, a repository with 518 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going