К основному содержанию
скилл CX Codex

opportunity-solution-tree · avelikiy — скилл для Claude Code: дерево продукта

Скилл помогает связать измеримый результат с проблемами клиентов, вариантами решений и экспериментами. Пригодится, когда команда выбирает, что исследовать или строить дальше.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add avelikiy/great_cto --skill opportunity-solution-tree -a claude-code
Открыть на GitHub

Что делает opportunity-solution-tree

Скилл помогает разложить продуктовую задачу на четыре уровня: желаемый результат, потребности клиентов, возможные решения и эксперименты. Он предлагает сначала определить одну измеримую цель, затем выделить возможности из интервью, аналитики, обращений в поддержку или отзывов NPS и расставить приоритеты по важности и удовлетворённости.

Для приоритетных потребностей скилл предлагает рассмотреть несколько решений и проверить перспективные гипотезы недорогими экспериментами. Результат оформляется в docs/discovery/OST-<outcome-slug>.md: там есть карта возможностей, таблицы решений и экспериментов, журнал выводов. Если команда пока не может сформулировать измеримый результат, сначала придётся определить, по какому показателю считать успех.

Скилл рассчитан на этап исследования, а не на уже определённую задачу: для готовой функции или исправления ошибки его процесс не подходит. После проверки возможности в описанном процессе можно перейти к /spec prd.

Какие задачи решает

  • связать продуктовую цель с потребностями клиентов
  • сравнить конкурирующие возможности по важности и удовлетворённости
  • сгенерировать несколько решений для одной потребности
  • спланировать эксперимент для проверки гипотезы
  • записать выводы исследования в карту OST

Примеры запросов агенту

  • Составь дерево возможностей для роста удержания и предложи, какие данные собрать.
  • Помоги сравнить эти потребности клиентов по важности и удовлетворённости.
  • Подготовь варианты решений и эксперименты для главной возможности, а результат запиши в docs/discovery/OST-retention.md.

Как установить opportunity-solution-tree

1Через Skills CLI (Vercel)

npx skills add avelikiy/great_cto --skill opportunity-solution-tree -a claude-code

2Вручную: положить файлы

~/.claude/skills/opportunity-solution-tree/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/opportunity-solution-tree/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о opportunity-solution-tree

Как установить opportunity-solution-tree в Claude Code?

Выполните npx skills add avelikiy/great_cto --skill opportunity-solution-tree -a claude-code. Файл скилла находится по пути ~/.claude/skills/opportunity-solution-tree/SKILL.md.

Что делает opportunity-solution-tree?

Скилл структурирует исследование продукта: связывает измеримую цель с потребностями клиентов, решениями и проверочными экспериментами. Он также помогает расставить приоритеты возможностей.

Какой результат сохраняет скилл?

Дерево записывается в docs/discovery/OST-<outcome-slug>.md. Документ включает карту возможностей, решения, активные эксперименты и журнал выводов.

Исходный текст

SKILL.md · MIT
---
name: opportunity-solution-tree
description: "Build an Opportunity Solution Tree (OST) to structure product discovery — map a desired outcome to customer opportunities, possible solutions, and experiments. Based on Teresa Torres' Continuous Discovery Habits. Use when the team is unclear what to build next, when multiple opportunities compete, or before writing a PRD for a complex feature space."
when_to_use: |
  Apply when:
  - The team knows the outcome to improve but not which opportunity to chase
  - Multiple feature ideas exist and the team isn't sure which solves the right problem
  - CTO asks "what should we build to improve retention / conversion / NPS?"
  - Starting discovery on a new product area
  Guards — do NOT apply when:
  - The feature and problem are already well-defined (go straight to /spec prd)
  - You have a single, validated user story (use /spec prd directly)
  - This is a bug fix or technical debt item
effort: medium
allowed-tools: Read, Write, WebFetch, WebSearch
paths:
  - "docs/discovery/**"
---

# Opportunity Solution Tree (OST)

Structures product discovery by connecting a desired outcome → customer opportunities → solutions → experiments. Prevents jumping to solutions before validating the problem space.

Based on Teresa Torres, *Continuous Discovery Habits* (2021).

---

## The 4-level structure

```
                    ┌─────────────────────┐
                    │   DESIRED OUTCOME   │  ← single measurable metric
                    └──────────┬──────────┘
               ┌───────────────┼────────────────┐
        ┌──────┴─────┐  ┌──────┴─────┐  ┌──────┴─────┐
        │Opportunity │  │Opportunity │  │Opportunity │  ← customer pain/need
        │     A      │  │     B      │  │     C      │
        └──────┬─────┘  └──────┬─────┘  └────────────┘
        ┌──────┴───┐    ┌──────┴───┐
    ┌───┴──┐ ┌───┴──┐ ┌───┴──┐ ┌───┴──┐
    │Sol 1 │ │Sol 2 │ │Sol 3 │ │Sol 4 │  ← possible solutions
    └───┬──┘ └──────┘ └───┬──┘ └──────┘
  ┌────┴────┐         ┌───┴────┐
  │ Exp 1   │         │ Exp 2  │          ← fast experiments
  └─────────┘         └────────┘
```

**Key principles:**
- One desired outcome at a time — don't try to solve everything
- Opportunities are customer problems/needs, never solutions
- Generate ≥3 solutions per opportunity before choosing one
- Experiments are the cheapest way to validate an assumption
- The tree is a living document — update weekly as you learn

---

## How to build an OST

### Step 1 — Define the desired outcome

Confirm or help the user articulate one measurable outcome at the top of the tree.

Good outcomes:
- "Increase 7-day retention from 20% to 35%"
- "Reduce time-to-first-value from 3 days to 1 day"
- "Increase conversion from free to paid from 2% to 5%"

Bad outcomes (reject these):
- "Build a better onboarding" — that's a solution
- "Improve the product" — unmeasurable
- "Launch feature X" — that's an output

If the user can't state a metric: ask "What would need to be true for you to consider this effort a success?"

### Step 2 — Map opportunities from research

From customer interviews, analytics, support tickets, or NPS feedback, identify 3–7 customer opportunities (pain points, unmet needs, desires).

**Frame each from the customer's perspective:**
- ✅ "I struggle to understand which plan is right for me"
- ✅ "I can't find past purchases quickly"
- ✅ "I feel anxious about whether my data is safe"
- ❌ "Users need a better search" — that's a solution

**Prioritise using Opportunity Score (Dan Olsen, *The Lean Product Playbook*):**
```
Opportunity Score = Importance × (1 − Satisfaction)
```
Survey customers: rate each need on Importance (0–1) and current Satisfaction (0–1).
- High Importance + Low Satisfaction = highest score = best opportunity
- Plot on Importance vs Satisfaction chart — upper-left quadrant is the sweet spot

### Step 3 — Generate solutions (diverge before converging)

For each top-priority opportunity, brainstorm ≥3 solutions from three angles:
- **PM perspective**: What UX/product change addresses this?
- **Designer perspective**: What interaction or visual change?
- **Engineer perspective**: What technical approach? (often the most creative)

Rules:
- Don't commit to the first idea — compare and contrast
- "Best ideas often come from engineers" — include technical solutions
- Solutions should be independent (different solutions for the same opportunity)

### Step 4 — Design experiments

For the most promising solutions, design 1–2 fast experiments:

| Experiment | Assumption tested | Method | Success metric | Effort |
|------------|------------------|--------|---------------|--------|
| <experiment name> | <what belief this validates> | <A/B test / fake door / prototype / interview> | <metric + threshold> | <1d / 3d / 1w> |

**Assumption categories (prioritise in this order):**
1. **Value**: Will users want this? (most important to test first)
2. **Usability**: Can users figure it out?
3. **Feasibility**: Can we build it?
4. **Viability**: Does the business case work?

**Cheap experiment types:**
- Existing product: A/B test, fake door, prototype, user interview, data analysis
- New product: XYZ hypothesis ("At least X% of Y will do Z"), landing page, concierge MVP

### Step 5 — Visualise and document

Write `docs/discovery/OST-<outcome-slug>.md`:

```markdown
# Opportunity Solution Tree: <Outcome>

**Desired outcome**: <metric> from <current> to <target> by <date>
**Last updated**: <date>

## Opportunity map

| # | Opportunity | Importance | Satisfaction | Opportunity Score | Priority |
|---|------------|-----------|-------------|-------------------|---------|
| A | <customer need> | 0.8 | 0.3 | 0.56 | 1st |
| B | <customer need> | 0.7 | 0.6 | 0.28 | 3rd |
| C | <customer need> | 0.6 | 0.2 | 0.48 | 2nd |

## Solutions for top opportunities

### Opportunity A: <name>
| Solution | Description | Experiment |
|---------|-------------|-----------|
| Sol A1 | <description> | <experiment> |
| Sol A2 | <description> | <experiment> |
| Sol A3 | <description> | <experiment> |

## Active experiments

| Experiment | Assumption | Status | Result |
|-----------|-----------|--------|--------|
| <name> | <assumption> | Running / Done | <result or pending> |

## Learning log

- <date>: Discovered <insight> from <source>. Killed <solution> / promoted <opportunity>.
```

---

## Integration with /spec prd

Once an opportunity is validated and a solution is chosen:
→ Run `/spec prd` with the validated opportunity as the problem statement
→ The OST's Opportunity Score data feeds directly into PRD §3 (Success Metrics) and §4 (Target Users)

---

## Anti-patterns

❌ **Opportunity = solution in disguise**: "Users need a search bar" is a solution. "Users can't find past purchases" is an opportunity.

❌ **Skipping divergence**: Picking the first solution for each opportunity. Always generate ≥3 before choosing.

❌ **Experiments that take >1 week**: If it takes longer than a week to learn, it's not an experiment — it's a feature.

❌ **Updating the tree once**: OST is a continuous practice. Update weekly as you learn.

❌ **Too many outcomes**: One outcome per tree. If you have multiple outcomes, run multiple trees or pick the highest priority.

© avelikiy · MIT · avelikiy/great_cto

Похожие скиллы

Все скиллы по теме «Заметки, задачи и проекты» →

Сначала — opportunity-solution-tree от других авторов.

opportunity-solution-tree phuryn Скилл строит Opportunity Solution Tree: связывает цель, потребности клиентов, решения и эксперименты. Пригодится, когда надо решить, что делать дальше в продукте. CX Codex +1 3 000установок opportunity-solution-tree deanpeters Помогает развернуть запрос стейкхолдера в дерево: цель, проблемы клиентов, варианты решений и тесты. Пригодится, когда просят фичу, а непонятно, какую задачу она решает. CX Codex +1 2 800установок find-skills vercel-labs Ищет и устанавливает готовые скиллы для ИИ-агентов через каталог skills.sh. Пригодится, когда для рабочей задачи нужен специализированный воркфлоу. CX Codex +1 4 000 000установок grill-me Matt Pocock Скилл проводит жёсткое интервью по плану или дизайну, чтобы найти пробелы и уточнить решения. Подойдёт перед началом разработки. 1 424 476установок grill-with-docs Matt Pocock Скилл проводит жёсткое интервью по плану или дизайну и по ходу создаёт ADR и глоссарий. Подойдёт перед началом сложной разработки. 1 219 756установок handoff Matt Pocock Собирает текущий диалог в документ передачи, чтобы другой агент продолжил работу с нужным контекстом. Нужен при смене сессии или исполнителя. 1 038 491установок grilling Matt Pocock Стресс-тестирует план, решение или идею сериями уточняющих вопросов. Подходит, когда нужно вскрыть допущения до начала работы. 979 543установок teach Matt Pocock Ведёт обучение по выбранной теме прямо в текущем каталоге и сохраняет прогресс между сессиями. Подойдёт, если хотите собрать личный курс вокруг рабочей цели. 862 247установок

Из того же набора26

quant-validation Скилл помогает проверять бэктесты, признаки и разметку финансовых моделей. Пригодится, когда нужно оценить, не завышает ли методика качество результата. CX Codex +1 ★ 107звёзд репо prose-style Задаёт агентам стиль письма: вывод, факты, конкретика. Пригодится, когда отчёты читает занятой человек, а не парсер. CX Codex +1 ★ 107звёзд репо pre-mortem Скилл помогает представить провал проекта до начала разработки, найти конкретные причины и добавить меры защиты в план. Используйте его перед реализацией рискованных или необратимых изменений. CX Codex +1 ★ 107звёзд репо pm-planning Превращает утверждённый документ архитектуры в список задач Beads с зависимостями, оценками и критериями приёмки. Нужен, когда pm-агент готовит план для senior-dev. CX Codex +1 ★ 107звёзд репо observability-baseline Добавляет в новый сервис перехват ошибок в Sentry, структурные логи с request_id и эндпоинты /healthz и /readyz. Пригодится, когда проект только собирается и первый сбой в проде не должен остаться незамеченным. CX Codex +1 ★ 107звёзд репо lifecycle-messaging Скилл помогает проектировать email- и SMS-сообщения с учётом согласия, доставки и разделения транзакционных и маркетинговых рассылок. Пригодится при подключении провайдера или добавлении сообщений в продукт. CX Codex +1 ★ 107звёзд репо great_cto Скилл превращает Claude в оркестратора: CTO описывает задачу словами, а агенты сами проходят этапы пайплайна. Пригодится тем, кто ведёт проект целиком через агента. CX Codex +1 ★ 107звёзд репо done-blocked Фиксирует строгий формат финала для агентов: статус только DONE или BLOCKED с доказательствами. Помогает убрать расплывчатые отчёты в пайплайнах. CX Codex +1 ★ 107звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой