Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Opportunity Solution Tree

ASecurity

Guides the PM through Teresa Torres' Opportunity Solution Tree (OST) framework for continuous product discovery. Maps a desired outcome to customer opportunities, then to potential solutions, and finally to assumption tests and experiments.

7 stars
0 votes
0 copies
0 views
Added 10/3/2026
ai-agentsgotesting

Security Analysis

A100/100

Scanned 10/3/2026

$npx -y skills add EdgeCaser/shipwright --skill opportunity-solution-tree --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Opportunity Solution Tree?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Opportunity Solution Tree
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/edgecaser-opportunity-solution-tree-shipwright/badge)](https://www.skillsdirectory.com/skills/edgecaser-opportunity-solution-tree-shipwright)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: opportunity-solution-tree
description: "Guides the PM through Teresa Torres' Opportunity Solution Tree (OST) framework for continuous product discovery. Maps a desired outcome to customer opportunities, then to potential solutions, and finally to assumption tests and experiments."
category: discovery
default_depth: standard
---

# Opportunity Solution Tree

Read `docs/workflow-contract.md` once per session before applying this skill. Resolve it from the nearest ancestor of this file containing `manifest.json`; all Shipwright paths are relative to that root.

## Description

Guides the PM through Teresa Torres' Opportunity Solution Tree (OST) framework for continuous product discovery. Maps a desired outcome to customer opportunities, then to potential solutions, and finally to assumption tests and experiments.

## When to Use

- Starting a new discovery cycle for a product area
- Connecting customer pain points to strategic outcomes
- Deciding which solutions to test next
- Aligning a team around a shared discovery map

## Depth

| Scope | Use When | Sections to Include |
|---|---|---|
| **Light** | Quick alignment on which opportunity to pursue next | Steps 1-2 (Desired Outcome + Opportunity Map) only |
| **Standard** | Discovery sprint planning or quarterly roadmap input | All steps |
| **Deep** | Multi-team discovery with shared outcome or bet-level investment | All steps + cross-team opportunity deduplication, assumption interdependency mapping, experiment sequencing timeline |

**Omit rules:** At Light depth, skip Steps 3-5 (Solution Ideas, Assumptions, Assumption Tests). Produce only the outcome and prioritized opportunity map with evidence.

## Framework

### Step 1: Define the Desired Outcome

Ask the PM to state a single, measurable business or product outcome.

**Good outcomes are:**
- Measurable (has a metric attached)
- Time-bound (has a target date or cadence)
- Within the team's influence (not purely external)

**Anti-pattern:** "Increase revenue" is too vague. "Increase trial-to-paid conversion from 8% to 12% by Q3" is actionable.

### Step 2: Map Customer Opportunities

Opportunities are unmet customer needs, pain points, or desires discovered through research. They are NOT features or solutions.

**Format each opportunity as:**
```
[Opportunity ID]: [Description of the customer need/pain]
Evidence: [Source, interview, survey, data, observation]
Frequency: [How often users encounter this]
Severity: [How painful it is when they do]
```

**Rules:**
- Phrase opportunities from the customer's perspective, not the business's
- Prefer specific over general ("can't find the right plan" > "confused by pricing")
- Cluster related opportunities under a parent opportunity when they share a root cause

### Step 3: Generate Solution Ideas

For each prioritized opportunity, brainstorm 3+ distinct solution approaches. Diversity of solutions is critical, avoid anchoring on the first idea.

**Format each solution as:**
```
[Solution ID]: [Brief description]
Opportunity addressed: [Opportunity ID]
Approach: [How this solves the problem]
Effort estimate: [T-shirt size: S/M/L/XL]
Reversibility: [Easy to undo / Hard to undo]
```

### Step 4: Identify Underlying Assumptions

Every solution carries assumptions. Surface them explicitly.

**Assumption categories:**
- **Desirability:** Will customers want this?
- **Viability:** Will this work for the business?
- **Feasibility:** Can we build this?
- **Usability:** Can customers figure this out?

**Format each assumption as:**
```
[Assumption ID]: [Statement that must be true for the solution to work]
Category: [Desirability / Viability / Feasibility / Usability]
Confidence: [High / Medium / Low]
Evidence: [What we know so far, if anything]
```

### Step 5: Design Assumption Tests

Prioritize testing the riskiest assumptions first (low confidence + high impact if wrong).

**For each test:**
```
[Test ID]: [What we're testing]
Assumption: [Assumption ID]
Method: [Prototype test / Survey / Data analysis / Concierge / Wizard of Oz / etc.]
Success criteria: [What result would validate the assumption]
Failure criteria: [What result would invalidate it]
Timeline: [How long to run]
Cost: [Effort required]
```

## Minimum Evidence Bar

**Required inputs:** A measurable desired outcome and at least one customer opportunity with an evidence source. Comparing priorities requires multiple supported opportunities; do not invent alternatives to fill the tree.

**Acceptable evidence:** Customer interview insights, user research synthesis themes, support ticket patterns, behavioral analytics, JTBD opportunity scores, or direct observation of user workarounds.

**Insufficient evidence:** With no evidenced opportunities, return the outcome and evidence gaps, then recommend targeted discovery. With one opportunity, build a scoped branch and label comparative prioritization unavailable.

**Hypotheses vs. findings:**
- **Findings:** Opportunities (Step 2) must cite specific evidence sources. Assumptions flagged as "High confidence" must have supporting data.
- **Hypotheses:** Solutions (Step 3) and assumptions (Step 4) are inherently speculative, label confidence levels honestly and ensure every low-confidence assumption has a test designed in Step 5.

## Output Format

Produce a structured markdown document with:

1. **Desired Outcome**, the single measurable target
2. **Opportunity Map**, hierarchical list of customer opportunities with evidence
3. **Solution Space**, solutions mapped to opportunities
4. **Assumption Register**, all assumptions with risk ratings
5. **Experiment Backlog**, prioritized list of assumption tests

**Shipwright Signature (required closing):**
6. **Decision Frame**, Which opportunity-solution pair to test first, trade-off between assumption risk vs. experiment cost, confidence in opportunity prioritization with evidence quality, owner, decision date, revisit trigger
7. **Unknowns & Evidence Gaps**, Opportunities with single-source evidence, assumption categories (desirability/viability/feasibility/usability) with no tests designed
8. **Pass/Fail Readiness**, PASS if the outcome is measurable, each opportunity is evidenced, and each prioritized solution has a riskiest assumption and test. Light depth may omit solutions and tests. FAIL if the tree invents opportunities or implies unsupported prioritization.
9. **Recommended Next Artifact**, Which Shipwright skill to run next and why

Include a visual tree summary at the top using indented markdown:

```
Outcome: [Desired outcome]
├── Opportunity A
│   ├── Solution A1
│   │   ├── Assumption: [riskiest]
│   │   │   └── Test: [experiment]
│   │   └── Assumption: [next riskiest]
│   └── Solution A2
├── Opportunity B
│   └── Solution B1
```

## Common Mistakes to Avoid

- **Jumping to solutions**, Always start with outcomes and opportunities
- **Single-solution thinking**, Generate at least 3 solutions per opportunity
- **Untested assumptions**, Every solution should have its riskiest assumption identified
- **Confusing outputs with outcomes**, "Ship feature X" is an output; "Reduce churn by 15%" is an outcome
- **Skipping evidence**, Every opportunity needs a source; gut feelings aren't opportunities

## Weak vs. Strong Output

**Weak:**
> Opportunity: "Users find onboarding confusing"
> Evidence: Team discussion

Vague pain description with no customer source, could mean anything and drives no specific solution.

**Strong:**
> Opportunity O3: "New users cannot locate their first workflow within 2 minutes of signup"
> Evidence: 6/8 interview participants (P01, P02, P04, P05, P07, P08) abandoned onboarding at step 3; avg. time-to-first-action = 4.2 min (Mixpanel, Jan 2026)

Specific, measurable, multi-source evidence with participant IDs, directly testable and prioritizable.

Attribution

EdgeCaserEdgeCaser
View sourceSee grades on GitHubMore from EdgeCaser →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698431 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →