KILL Funnel Workflow
graph TD
Start([Input: Ideas or Context]) --> Phase1[Phase 1: Input Processing]
Phase1 --> ParseInput{ideas param
provided?}
ParseInput -->|Yes| SplitList[Split comma-separated list]
ParseInput -->|No| CheckContext{context param
provided?}
CheckContext -->|Yes| GenerateIdeas[Generate 5-7 ideas
via WebSearch]
CheckContext -->|No| Error([Error: No input])
SplitList --> ValidateCount
GenerateIdeas --> ValidateCount
ValidateCount{3-10 ideas?} -->|No| AskMore[Ask user for more/fewer]
ValidateCount -->|Yes| CreateDir[Create docs/reference/research/]
AskMore --> ValidateCount
CreateDir --> Phase2[Phase 2: KILL Funnel]
Phase2 --> LoopStart{Ideas
remaining?}
LoopStart -->|No| Phase3[Phase 3: Rank Survivors]
LoopStart -->|Yes| Filter1[Filter 1: Traffic Channel]
Filter1 --> F1Check{Channel
identified?}
F1Check -->|No| Kill1[KILL: No traffic channel]
F1Check -->|Yes| Filter2[Filter 2: Existing Demand]
Filter2 --> F2Check{>1K/month
searches?}
F2Check -->|No| Kill2[KILL: Insufficient demand]
F2Check -->|Yes| Filter3[Filter 3: Competition]
Filter3 --> F3Check{Index < 5?
Not Red Ocean?}
F3Check -->|No| Kill3[KILL: Red Ocean]
F3Check -->|Yes| Filter4[Filter 4: Revenue]
Filter4 --> F4Check{>$20/user
possible?}
F4Check -->|No| Kill4[KILL: Low revenue]
F4Check -->|Yes| Filter5[Filter 5: Personal Interest]
Filter5 --> AskInterest[AskUserQuestion:
Rate 1-5]
AskInterest --> F5Check{Score > 2?}
F5Check -->|No| Kill5[KILL: No interest]
F5Check -->|Yes| Filter6[Filter 6: MVP-ability]
Filter6 --> F6Check{<=8 weeks
to MVP?}
F6Check -->|No| Kill6[KILL: Too slow]
F6Check -->|Yes| Survivor[SURVIVOR]
Kill1 --> LogKill[Log KILL reason]
Kill2 --> LogKill
Kill3 --> LogKill
Kill4 --> LogKill
Kill5 --> LogKill
Kill6 --> LogKill
LogKill --> LoopStart
Survivor --> AddToList[Add to survivors list]
AddToList --> LoopStart
Phase3 --> CheckSurvivors{Survivors > 0?}
CheckSurvivors -->|No| NoSurvivors[Report: All killed
Show KILL log]
CheckSurvivors -->|Yes| CalcScore[Calculate composite score]
CalcScore --> SortRank[Sort by score descending]
SortRank --> SelectTop[Select TOP recommendation]
SelectTop --> Phase4[Phase 4: Output]
NoSurvivors --> Phase4
Phase4 --> GenerateDoc[Generate discovery.md
Survivors + KILL log]
GenerateDoc --> SaveFile[Save to
docs/reference/research/DATE-discovery.md]
SaveFile --> DisplaySummary[Display:
- TOP recommendation
- One channel
- Next steps]
DisplaySummary --> End([Output: One idea + One channel])
style Start fill:#4A90E2,stroke:#2E5C8A,color:#fff
style End fill:#26A69A,stroke:#1B5E20,color:#fff
style Error fill:#F44336,stroke:#B71C1C,color:#fff
style Phase1 fill:#7E57C2,stroke:#4A148C,color:#fff
style Phase2 fill:#7E57C2,stroke:#4A148C,color:#fff
style Phase3 fill:#7E57C2,stroke:#4A148C,color:#fff
style Phase4 fill:#7E57C2,stroke:#4A148C,color:#fff
style Filter1 fill:#FF9800,stroke:#E65100,color:#fff
style Filter2 fill:#FF9800,stroke:#E65100,color:#fff
style Filter3 fill:#FF9800,stroke:#E65100,color:#fff
style Filter4 fill:#FF9800,stroke:#E65100,color:#fff
style Filter5 fill:#FF9800,stroke:#E65100,color:#fff
style Filter6 fill:#FF9800,stroke:#E65100,color:#fff
style Kill1 fill:#F44336,stroke:#B71C1C,color:#fff
style Kill2 fill:#F44336,stroke:#B71C1C,color:#fff
style Kill3 fill:#F44336,stroke:#B71C1C,color:#fff
style Kill4 fill:#F44336,stroke:#B71C1C,color:#fff
style Kill5 fill:#F44336,stroke:#B71C1C,color:#fff
style Kill6 fill:#F44336,stroke:#B71C1C,color:#fff
style Survivor fill:#4CAF50,stroke:#1B5E20,color:#fff
style NoSurvivors fill:#F44336,stroke:#B71C1C,color:#fff
style SelectTop fill:#4CAF50,stroke:#1B5E20,color:#fff