ln-201-opportunity-discoverer
Discovers growth opportunities using Traffic-First KILL funnel. Use when searching for next product direction with validated demand.
What this skill does
> **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:**
```bash
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 Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".