本文へ移動
cccskills
無料GitHub で公開

opportunity-solution-tree

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.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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:

ExperimentAssumption testedMethodSuccess metricEffort
<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:

# 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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

great_cto's own committed aesthetic — the instrument panel. Dark five-step surface ladder, exactly one accent, two faces divided by MEANING (Geist speaks, Geist Mono is machine-truth), tabular numerals, and a dash that is not a nought. Twelve checkable rules measured from packages/board and greatcto.systems, not designed for this file. Use when building or extending any great_cto surface — the board, the site, a report, a share page.

日本語の概要は準備中です。原文の説明を表示しています。

avelikiy/great_cto1032026年10月12日 更新

Catalogue of known SDLC anti-patterns that great_cto agents must actively reject when reviewing architecture, plans, code, or post-mortems. Used by architect (pre-impl), pm (planning), senior-dev (impl), l3-support (post-incident).

日本語の概要は準備中です。原文の説明を表示しています。

avelikiy/great_cto1032026年10月12日 更新

anydesign

無料

Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes. Use this skill whenever the user wants to understand, document, replicate, or audit the design of something visual: a screenshot, a URL, a Figma link, a Pinterest reference, a mockup, a competitor's site, a component, a dashboard, a landing page. Also when they ask 'extract the design system from X', 'document the style of Y', 'analyze this visually', 'convert this image into tokens', 'help me replicate this design', 'what palette does this site use', 'how is this built'. Also for single elements: 'copy this navbar', 'recreate this illustration', 'give me a prompt to regenerate this graphic' — element mode outputs a focused element.md, with token-grounded image-model prompts when the element is visual art. If the user brings any visual source and wants to understand it at a design level — this skill should activate.

日本語の概要は準備中です。原文の説明を表示しています。

avelikiy/great_cto1032026年10月12日 更新

Shared review framework that every domain reviewer (pci, oracle, gov, edtech, healthcare, mlops, etc.) MUST follow. Defines the output artifact (TM-{slug}.md), mandatory sections, severity scale, verdict format, the workflow scaffold (when-invoked, Step-0 read-inputs, HANDOFF), and the "domain heuristic vs generic check" boundary. Eliminates duplication across the ~30 reviewer prompts.

日本語の概要は準備中です。原文の説明を表示しています。

avelikiy/great_cto1032026年10月12日 更新

Structured idea generation + multi-LLM debate for the product-owner stage. Diverge (generate genuinely different bets), debate (a 4-persona panel on 4 models argues over 2 rounds), converge (synthesize a recommendation). Used by product-owner before architect; available to architect for design-space exploration.

日本語の概要は準備中です。原文の説明を表示しています。

avelikiy/great_cto1032026年10月12日 更新

Run the great_cto controlled Codex lifecycle with controller-owned writes, verifier evidence, human gates and optional artifact release.

日本語の概要は準備中です。原文の説明を表示しています。

avelikiy/great_cto1032026年10月12日 更新

avelikiy のスキルをすべて見る

このスキルの問題を報告する