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-facultyThis skill uses the workspace's default tool permissions.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
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.