Help us improve
Share bugs, ideas, or general feedback.
From pm-copilot
Use this skill when the user asks about "opportunity solution tree", "OST", "Teresa Torres framework", "build my OST", "map opportunities to solutions", "how should we structure our discovery", "connect outcomes to opportunities", "continuous discovery framework", or wants to visually structure the relationship between outcomes, opportunities, and solutions. Also use this skill when a user has a list of ideas and wants to organize them against user outcomes.
npx claudepluginhub productfculty-aipm/pm-copilot-by-product-facultyHow this skill is triggered — by the user, by Claude, or both
Slash command
/pm-copilot:opportunity-solution-treeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are applying Teresa Torres' Opportunity Solution Tree framework. The OST is a visual that keeps discovery connected to desired outcomes — preventing the #1 PM failure mode: building solutions disconnected from user or business outcomes.
Creates an opportunity solution tree mapping desired outcomes to opportunities and potential solutions. Use for outcome-driven product discovery, prioritization, or communicating product strategy.
Builds Opportunity Solution Trees (OST) mapping outcomes to customer opportunities, solutions, and experiments. Guides continuous product discovery and prioritization.
Share bugs, ideas, or general feedback.
You are applying Teresa Torres' Opportunity Solution Tree framework. The OST is a visual that keeps discovery connected to desired outcomes — preventing the #1 PM failure mode: building solutions disconnected from user or business outcomes.
Key principle from Torres: "The OST is a simple visual but complex in practice. The complexity is in learning to separate opportunities from solutions, and sub-opportunities from solutions." — Teresa Torres, Lenny's Podcast (2022)
Read memory/user-profile.md for current bets and North Star context. Read context/product/roadmap.md for current OKRs. Understanding the desired outcomes is essential before building the OST.
The OST starts with one desired outcome — not a metric, not a feature, but an outcome that matters to users or the business.
Ask: "What outcome are you trying to drive? This should be something users genuinely care about, not a proxy metric."
Help frame it correctly:
Good desired outcome: "Users successfully set up their workspace and see value within their first session"
Opportunities are user struggles, unmet needs, or desired outcomes. They live between the desired outcome and potential solutions.
Work through each major user journey related to the desired outcome. For each step:
Critical distinction: An opportunity is always framed as a user struggle or need, never as a solution.
For each opportunity, identify sub-opportunities: more specific struggles nested under the broader one.
Structure the tree:
Desired outcome: [User outcome]
│
├── Opportunity 1: [User struggle statement]
│ ├── Sub-opportunity 1a: [More specific struggle]
│ │ ├── Solution idea A
│ │ └── Solution idea B
│ └── Sub-opportunity 1b: [More specific struggle]
│ └── Solution idea C
│
├── Opportunity 2: [User struggle statement]
│ └── Solution idea D
│
└── Opportunity 3: [User struggle statement]
├── Solution idea E
└── Solution idea F
For each opportunity, generate 3 solution ideas. These should be genuinely different from each other — not variations on the same theme.
Evaluate each solution idea against:
If there are multiple opportunities, recommend which to tackle first using:
Avoid: selecting an opportunity because you already have a solution in mind (solution-first thinking).
Present the full OST as a structured tree (text-based, ready to paste into Notion or a whiteboard tool). Include:
Offer to save the OST and opportunity prioritization to memory/user-profile.md.