Agent Skills: Opportunity Discoverer

Discovers growth opportunities using Traffic-First KILL funnel. Use when searching for next product direction with validated demand.

UncategorizedID: levnikolaevich/claude-code-skills/ln-201-opportunity-discoverer

Install this agent skill to your local

pnpm dlx add-skill https://github.com/levnikolaevich/claude-code-skills/tree/HEAD/plugins/agile-workflow/skills/ln-201-opportunity-discoverer

Skill Files

Browse the full folder contents for ln-201-opportunity-discoverer.

Download Skill

Loading file tree…

plugins/agile-workflow/skills/ln-201-opportunity-discoverer/SKILL.md

Skill Metadata

Name
ln-201-opportunity-discoverer
Description
"Discovers growth opportunities using Traffic-First KILL funnel. Use when searching for next product direction with validated demand."

Paths: File paths (references/, ../ln-*) are relative to this skill directory.

Opportunity Discoverer

Type: L3 Worker Category: 2XX Planning

Traffic-First approach to finding next growth direction for existing product.

Core Philosophy

Anti-pattern: Idea → Surveys → Product → "where's traffic?" Correct: Traffic → Niche → MVP → Launch under existing demand

The 90% Developer Bug

Most fail because they:

  1. Invent idea with no analogs
  2. Ask 5 people "would you pay?" (they say yes for a hot dog)
  3. Build product with round sum
  4. Launch with "now let's set up traffic"
  5. Discover: no traffic exists, never did

No marketer will build funnel for what cold traffic doesn't buy.

Traffic-First Principles

| # | Principle | Anti-pattern | |---|-----------|--------------| | 1 | Traffic exists BEFORE product | Building then searching for traffic | | 2 | No surveys — measure real search demand | Asking "would you buy?" | | 3 | Existing demand — launch under what people search | Creating new category | | 4 | One channel, one idea — no spreading | Testing 5 channels at once | | 5 | KILL early — fail fast, don't waste time | Scoring all ideas equally |

Supporting Methodology

Marc Andreessen (pmarca):

"Validate market at practical level — go get paying customers to demonstrate market exists."

Sam Altman (YC):

"Who desperately needs the product? Best answer is going after large part of small market." "Test idea by launching or trying to sell — get letter of intent before code."


Purpose & Scope

  • Discover growth direction BEFORE Epic creation
  • Filter ideas through evidence-first KILL funnel
  • Output: one recommended idea + one traffic channel
  • Position: before ln-210 (Epic Coordinator)

Runtime Contract

MANDATORY READ: Load references/planning_worker_runtime_contract.md, references/coordinator_summary_contract.md

Runtime family: planning-worker-runtime

Identifier:

  • discovery work item identifier

Phases:

  1. PHASE_0_CONFIG
  2. PHASE_1_INPUT_PROCESSING
  3. PHASE_2_KILL_FUNNEL
  4. PHASE_3_RANK_SURVIVORS
  5. PHASE_4_WRITE_DISCOVERY_REPORT
  6. PHASE_5_WRITE_SUMMARY
  7. PHASE_6_SELF_CHECK

Summary contract:

  • summary_kind=opportunity-discovery-worker
  • standalone mode may return the summary without artifact persistence
  • managed mode writes the same JSON to summaryArtifactPath
  • default managed artifact path pattern: .hex-skills/runtime-artifacts/runs/{parent_run_id}/opportunity-discovery-worker/ln-201--{identifier}.json

When to Use

Use this skill when:

  • Product exists, seeking next growth direction
  • Have 3-10 potential ideas/niches
  • Want to validate opportunity before committing
  • Need to choose ONE channel to focus on

Do NOT use when:

  • No product context (greenfield startup)
  • Already have validated direction (skip to ln-210)
  • Prioritizing existing Stories (use ln-230)

Input Parameters

| Parameter | Required | Description | Default | |-----------|----------|-------------|---------| | ideas | No | Comma-separated list | - | | context | No | Product description for generation | - | | strict | No | Strict KILL thresholds | true |

Input modes:

  • ideas="idea1, idea2, idea3" — evaluate list
  • context="SaaS for X" — generate ideas from product
  • Both — generate + add user ideas

KILL Funnel Pipeline

Ideas do not go through 4 separate research-heavy passes anymore. Each idea gets one bundled evidence pass first.

Idea → [Evidence bundle: traffic + demand + competition + revenue]
          ↓
      [Hard kill matrix]
          ↓
     [Interest gate]
          ↓
      [MVP gate]
          ↓
       SURVIVOR

Evidence Bundle (single research pass)

Question: Is there enough external evidence to justify deeper evaluation?

Research bundle:

WebSearch: "[idea] how people find solutions"
WebSearch: "[idea] search volume {current_year}"
WebSearch: "[idea] competitors {current_year}"
WebSearch: "[idea] pricing SaaS"

Extract four signals in one pass:

  • Traffic channel: Where do people actively look for this solution?
  • Demand: Search volume, trend direction, or strong community pain signal
  • Competition: Competitor count and ocean type
  • Revenue: Plausible price band and willingness to pay pattern

Traffic channel examples:

| Channel | Signal | Best for | |---------|--------|----------| | Search/SEO | People Google "[problem] solution" | Info products, tools | | YouTube | Tutorial searches exist | Education, how-to | | Marketplaces | Category exists (ProductHunt, AppStore) | Apps, plugins | | Communities | Active subreddits, forums | Niche products | | Paid Ads | Competitors running ads | Proven demand | | Outbound | Clear ICP, reachable | B2B high-ticket |

Demand thresholds:

| Volume | Verdict | |--------|---------| | >10K/month | Strong demand | | 1K-10K/month | Viable niche | | <1K/month | Weak unless compensated by very strong niche signal |

Competition thresholds:

| Competitors | Index | Ocean | Verdict | |-------------|-------|-------|---------| | 0 | 1 | Blue | Opportunity if demand is real | | 1-2 | 2 | Emerging | Best entry point | | 3-5 | 3 | Growing | Differentiation needed | | 6-10 | 4 | Mature | Hard but possible | | >10 | 5 | Red | Often kill-worthy |

Revenue thresholds:

| ARPU | Market type | Viability | |------|-------------|-----------| | >$100/user/mo | Enterprise | High margin | | $50-100 | Professional | Good | | $20-50 | Prosumer | Viable | | $5-20 | Consumer | Volume needed | | <$5 | Ad-supported | Usually not worth it |

Hard Kill Matrix

Kill immediately when any hard-stop condition is true:

  • no identifiable traffic channel
  • demand clearly below viable threshold with no compensating niche signal
  • competition index = 5 and no clear wedge
  • expected revenue below $20/user for a small-team business

Record the kill reason and stop analysis for that idea.

Personal Interest

Question: Will you enjoy building this?

Method: AskUserQuestion — rate 1-5

Rate your interest in building [idea]:
1 = Meh, would do for money only
2 = Low interest
3 = Neutral
4 = Interested
5 = Excited, would build for free

Why this matters:

  • Low interest = burnout in 3 months
  • High interest = sustained motivation through hard times
  • You'll spend 2+ years on this

When to ask: Only for ideas that survive the external evidence bundle.

KILL if: Score 1-2 — you'll quit before PMF.

Output: Score 1-5


MVP-ability

Question: Can you launch in 4 weeks?

Assessment:

| Factor | Question | Red flag | |--------|----------|----------| | Tech | Existing skills or need to learn? | New stack | | Dependencies | External APIs, partners needed? | Waiting on others | | Content | Significant content creation? | Months of writing | | Regulations | Legal/compliance requirements? | Licenses, approvals | | Team | Solo or need to hire? | Can't start alone |

Time estimates:

| Weeks | Complexity | Verdict | |-------|------------|---------| | 1-2 | Solo, existing skills | Best | | 2-4 | Minor learning curve | Good | | 4-8 | Some new tech | Acceptable | | >8 | Significant infrastructure | KILL |

When to assess: Only for ideas that survive external evidence + interest gate.

KILL if: >8 weeks to MVP — too slow to validate.

Output: Weeks estimate + blockers


Workflow

Phase 1: Input Processing (2 min)

  1. Parse input:

    • If ideas: split comma-separated list
    • If context: generate 5-7 ideas via WebSearch
    • If both: combine
  2. Validate count:

    • Minimum: 3 ideas
    • Maximum: 10 ideas
  3. Create output directory:

    mkdir -p docs/reference/research/
    

Output: Idea queue (3-10 items) and checkpoint for PHASE_1_INPUT_PROCESSING


Phase 2: KILL Funnel (per idea)

Process each idea through one bundled evidence pass, then the personal filters only for survivors:

FOR each idea:
    Build evidence bundle:
        traffic + demand + competition + revenue

    Apply hard kill matrix
        IF failed → KILL, log reason, NEXT idea

    Ask Interest
        IF score 1-2 → KILL, log reason, NEXT idea

    Assess MVP-ability
        IF >8 weeks → KILL, log reason, NEXT idea

    → SURVIVOR: add to survivors list

Token efficiency:

  • Process ONE idea at a time
  • One research bundle per idea instead of four separate research phases
  • KILL early = no interest prompt, no MVP assessment
  • Clear context after each idea

Phase 3: Rank Survivors (2 min)

If survivors exist:

  1. Calculate composite score:

    Score = Demand_score + (6 - Competition_index) + Revenue_score + Interest + MVP_score
    
  2. Sort by score descending

  3. Select TOP recommendation

If no survivors:

  • Report: "All ideas killed. Rethink direction."
  • Show KILL log for learning

Phase 4: Output (2 min)

Generate: docs/reference/research/[YYYY-MM-DD]-discovery.md

Also emit structured runtime summary:

  • schema_version
  • summary_kind=opportunity-discovery-worker
  • run_id
  • identifier
  • producer_skill=ln-201
  • produced_at
  • payload with input_mode, ideas_analyzed, generated_ideas, survivors_count, killed_count, top_recommendation, report_path, warnings

Structure:

# Opportunity Discovery: [Date]

## Summary
- Ideas analyzed: X
- Survivors: Y
- Killed: Z

## TOP RECOMMENDATION

**Idea:** [Name]
**Channel:** [Primary channel]
**Why:** [2-3 sentence rationale]

### Key metrics:
- Demand: [volume]/month
- Competition: [Index] [Ocean type]
- Revenue: $[X]/user
- MVP: [X] weeks

## Survivors Table

| Idea | Channel | Demand | Competition | Revenue | Interest | MVP | Score |
|------|---------|--------|-------------|---------|----------|-----|-------|
| ... | ... | ... | ... | ... | ... | ... | ... |

## KILL Log

| Idea | Killed at | Reason |
|------|-----------|--------|
| ... | ... | ... |

## Next Steps
1. Create Epic with ln-210 for top recommendation
2. Focus on [channel] as primary acquisition
3. Target MVP in [X] weeks

Time-Box

| Ideas | Estimated time | |-------|---------------| | 3 | 15-20 min | | 5 | 25-35 min | | 10 | 50-70 min |

Note: KILL funnel is faster than full scoring — bad ideas die early.


Integration

Position in workflow:

Product exists
     ↓
ln-201 (Opportunity Discovery) ← THIS SKILL
     ↓
ln-210 (Epic Coordinator)
     ↓
ln-220 (Story Coordinator)

Dependencies:

  • WebSearch (all filters except Interest)
  • AskUserQuestion (Interest filter)
  • Write, Bash (output)

Critical Rules

  1. Traffic first — no traffic channel = no analysis
  2. Bundle evidence once — do not run separate research-heavy phases if one pass can answer traffic, demand, competition, and revenue
  3. KILL immediately — don't score dead ideas
  4. One recommendation — avoid paralysis
  5. No surveys — real search data only
  6. Interest matters — ask only for externally viable ideas
  7. MVP speed — slow launch = slow learning

Example Usage

With ideas:

ln-201-opportunity-discoverer ideas="AI writing tool, code review bot, translation API"

With context:

ln-201-opportunity-discoverer context="B2B developer tools SaaS"

Example output:

# Opportunity Discovery: 2026-01-29

## TOP RECOMMENDATION

**Idea:** Code review bot
**Channel:** SEO (developers search "code review tool")
**Why:** Growing demand (15K/mo), emerging market (3 competitors),
$50/user pricing proven, can MVP in 3 weeks with existing skills.

## KILL Log

| Idea | Killed at | Reason |
|------|-----------|--------|
| AI writing | Competition | Red Ocean (25+ competitors) |
| Translation API | Revenue | Commoditized, <$10/user |

Definition of Done

  • [ ] Ideas brainstormed from product context and market signals
  • [ ] Evidence bundle collected for each idea before kill decisions
  • [ ] Hard kill matrix applied before interest and MVP checks
  • [ ] Survivors scored and ranked
  • [ ] Discovery document generated at docs/reference/research/[YYYY-MM-DD]-discovery.md
  • [ ] TOP RECOMMENDATION identified with channel + rationale
  • [ ] KILL Log documents all eliminated ideas with reasons
  • [ ] Structured opportunity-discovery-worker summary returned
  • [ ] Summary artifact written when summaryArtifactPath is provided

Reference Files

| File | Purpose | |------|---------| | filter_criteria.md | KILL thresholds for all filters | | channel_analysis.md | Traffic channel identification | | discovery_template.md | Output markdown template |

  • MANDATORY READ: Load references/research_tool_fallback.md

Version: 2.0.0 Last Updated: 2026-01-29