技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
founder-ideation【数据与研究】Use when the user asks to generate business ideas, evaluate an existing idea adversarially, find underserved niches, or check what's heating up in an industry. Phase 1 flagship subskill of the founder family. Runs adversarial team brainstorm (4 parallel founding lenses with cross-fire) grounded in real Reddit pain data and GDELT inflection data. Mode…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
founder skill. Trigger on: "generate N ideas", "business ideas generator",
"what should I build", "attack my idea", "underserved niches in X", "what's hot in Y industry".Child of founder. This skill is the flagship of the founder family — the most differentiated
subskill. It generates (or attacks) business ideas via adversarial team brainstorm grounded in
real Reddit pain data and GDELT event velocity data.
Scope: Pre-execution ideation. Produces ideas with kill criteria, first experiments, data
citations, and cross-fire attack histories. Writes results to .founder/venture-brief.yaml.
Siblings (parent = founder):
founder-validation — Phase 2 — Mom Test, assumption ledger, experiment sequencingfounder-business-model — Phase 2 — unit economics calculator modefounder-gtm — Phase 2 — positioning, distribution, channel selectionfounder-sprint — Phase 2 — stage machine coordinating all of the above, forge handoffgenerate_ideas"Give me N business ideas for niche X" — the primary mode.
Input:
mode: "generate_ideas"
niche: string # from venture-brief intake, or user override
n_ideas: int # default 10, max 30
biz_type: enum # from venture-brief (software | service | marketplace | ...)
user_assets: map # from venture-brief (skills, networks, distribution, unique_access)
deep_tech_mode: bool # default false
team_model_overrides: map # optional; default {contrarian: codex}
Flow:
venture-brief.yaml — load intake, existing ideas, user assets. Refuse if missing.reddit-signal-mining with operation: mine_pains + niche → pain recordsgdelt-event-mining with operation: inflection_scan + theme-map(niche) → inflection recordsadversarial-team-brainstorm with:
question: "Generate {n_ideas + 4} {biz_type} ideas for {niche}" (extra budget for arbiter trim)team_angles: ["problem-first", "asset-first", "trend-first", "contrarian"]rounds: 4n_per_team: ceil((n_ideas + 4) / 4)context:
reddit_pain_data: mined pain recordsgdelt_inflection_data: inflection recordsuser_assets: from venture-briefkill_criteria_required: trueteam_model_override: {contrarian: codex} (default) unless caller overridesoutput_class: "ideas" (enforces HR-4 + HR-5 in arbiter)n_ideas (arbiter already ranked; take top-N)venture-brief.yaml.ideas_considered[] — each idea as a new record with
status: candidate, full attack history, refinement history, data sourcesOutput (to user):
mode: generate_ideas
ideas:
- rank: 1
content: string
source_team: string
confidence: enum
kill_criteria: list[string]
first_experiment: string
data_sources: list[string]
attack_history: list[...]
revisions:
before: string
after: string
critique_absorbed: list[string]
arbiter_notes: string # synthesis patterns, minority reports, confidence distribution
data_grounding:
reddit:
subreddits_queried: list[string]
pains_extracted: int
gdelt:
themes_queried: list[string]
inflections_detected: int
venture_brief_path: string
evaluate_idea"I have this idea. Attack it."
Input:
mode: "evaluate_idea"
idea: string # the user's proposed idea
biz_type: enum # from intake
niche: string # from intake
user_assets: map
deep_tech_mode: bool
Flow:
adversarial-team-brainstorm with:
question: "Attack this idea: {idea}. Find flaws, kill criteria, first experiments, hybrid variants."team_angles: ["contrarian", "first-principles", "arbitrage", "constraint-inverted"]
(different angles for attack-mode)rounds: 4 (same structure — teams first propose attacks, then cross-fire each other's attacks, then refine, then arbiter)n_per_team: 3 (fewer outputs per team, but deeper attacks)context:
user_idea: ideareddit_pain_data: mined pain recordsgdelt_inflection_data: inflection recordsuser_assetskill_criteria_required: trueoutput_class: "ideas" (HR-4 + HR-5 still apply — attack outputs must cite data)venture-brief.yaml.ideas_considered[] with the original idea + refined pivots as
separate entriesOutput:
mode: evaluate_idea
verdict: enum # "survives_with_pivot" | "survives_as_is" | "killed" | "needs_data"
original_idea:
content: string
status: enum # candidate | validated | killed
attack_history: list[...]
unabsorbed_critical_attacks: list[...] # if any — these are the deal-breakers
pivots:
- content: string # pivot that absorbs the attacks
delta_from_original: string # what changed
kill_criteria: list[string]
first_experiment: string
data_sources: list[string]
recommended_next: string # "run the first experiment", "validate with N users", "pivot to X"
find_niches"What underserved niches exist in [broader space X]?"
Input:
mode: "find_niches"
broader_space: string # e.g. "B2B fintech", "home construction", "elderly care"
biz_type: enum
user_assets: map
n_niches: int # default 5
Flow:
reddit-signal-mining with discover_subs to find all sub-communities in the broader spacereddit-signal-mining with mine_pains across discovered subsgdelt-event-mining with events_by_theme + inflection_scan for the broader spaceadversarial-team-brainstorm with:
question: "Identify {n_niches + 3} underserved niches within {broader_space}"team_angles: ["problem-first", "trend-first", "contrarian", "constraint-inverted"]
(no asset-first — niche discovery isn't about leveraging user assets yet)rounds: 4n_per_team: ceil((n_niches + 3) / 4)output_class: "ideas" (niches are structured with kill criteria — HR-4 still applies)generate_ideas callOutput: ranked niches with provenance + kill criteria + "why underserved" rationale.
heat_check"What's getting hot in [industry Y] right now?"
Input:
mode: "heat_check"
industry: string
lookback_days: int # default 7
baseline_days: int # default 30
Flow:
reddit-signal-mining with heat_scan on industry subredditsgdelt-event-mining with inflection_scan on industry themeshypothesis: so callers know it's interpretive).ideas_considered[] — heat check produces
signals, not ideas. Signals don't need kill criteria or first experiments.Output:
mode: heat_check
reddit_heat:
- subreddit: string
tier: enum # WARM | HOT | FIRE
ratio: float
top_trending_posts: list[...]
hypothesis: string # "hypothesis: ..."
gdelt_heat:
- theme: string
tier: enum
ratio: float
top_events: list[...]
hypothesis: string
caveat: >
Heat check signals are hypotheses attached to raw data, not ideas.
They are NOT validated, not kill-criteria-attached, and NOT first-experiment-ready.
To turn a hot signal into an investable idea, run `generate_ideas` with the hot
niche as input.
deep_tech_mode (flag, not a standalone mode)Overlays all four modes with inventor-specific frameworks. Activated via deep_tech_mode: true.
When active:
first-principles angle is added to the default team_angles list (replacing one of the
weaker angles for deep-tech)heat_check mode additionally queries GDELT for TECH_* themes tied to the invention
categorydeep_tech_concerns section to its notesSee references/deep-tech-mode.md for the full overlay specification.
references/team-lenses.md — detailed specs for problem-first / asset-first / trend-first /
contrarian, how to feed data into each, expected output shape per lensreferences/data-integration.md — how to call reddit-signal-mining and gdelt-event-mining
from within this skill, how to pass data to team spawns, what to do on data gathering failurereferences/deep-tech-mode.md — TRL/SRL/BRL overlay, IP landscape questions, regulatory trigger
list, DFM considerationsreferences/business-idea-prompts.md — prompt templates per biz_type (software / service /
marketplace / hardware / deep-tech / physical-retail / other)references/kill-criteria-library.md — standard kill criteria library: distribution gap,
unit econ negative, regulatory block, saturated market, no switching cost, no compounding moat,
etc. Arbiter falls back to these when teams don't produce sharper ones.The skill is the OWNER of the call to data-mining skills. See references/data-integration.md
for the full contract. Summary:
reddit-signal-mining:discover_subs with the nichetheme-taxonomy.md industry-mapping table
(reddit-signal-mining doesn't provide these — founder-ideation's own knowledge)reddit-signal-mining operationgdelt-event-mining operationgenerate_ideas / evaluate_idea / find_niches: DEGRADE. Run adversarial brainstorm
with context: {}. Arbiter will cap confidence at speculative. Mark the output with
data_source: "ungrounded_degraded".heat_check: HALT. Heat check without data is meaningless.founder (parent)
│ intake populated → route to founder-ideation
▼
founder-ideation (this skill)
│ read venture-brief
│
├──parallel──▶ reddit-signal-mining (mine_pains or heat_scan)
│ │
│ ▶ returns pain records or heat tier
│
└──parallel──▶ gdelt-event-mining (inflection_scan or events_by_theme)
│
▶ returns inflection records or events
│
▼
adversarial-team-brainstorm
├──Round 1──▶ 4 parallel teams (each gets its own slice of data)
├──Round 2──▶ cross-fire (each team attacks 3 other teams)
├──Round 3──▶ refine (each team absorbs / rejects attacks)
└──Round 4──▶ arbiter (synthesize, rank, kill-criteria, confidence)
│
▼
founder-ideation (this skill)
│ write to venture-brief.ideas_considered[]
│ return structured output
▼
founder (parent)
│ display to user
| Failure | Detection | Response |
|---|---|---|
| No venture-brief / missing intake | Parent should have caught; if not, halt and return error | Return to parent with "intake missing: biz_type/geography/niche"; parent asks the user |
| Reddit data mining fails entirely | reddit-signal-mining returns empty + gap list | Continue with GDELT only; mark reddit: "unavailable"; arbiter caps grounded confidence |
| GDELT data mining fails entirely | Same for GDELT | Continue with Reddit only; same cap |
| Both data sources fail | Detected in parallel fetch | For modes needing grounding: degrade to ungrounded, cap all confidence at speculative, warn user; for heat_check: halt |
| Adversarial brainstorm Round 2 (cross-fire) fails | No attacks from 2+ teams | Rerun Round 2 once; if still fails, halt and mark FAILED per HR (refuse to output ranked list without cross-fire) |
| Contrarian team produces pseudo-contrarian output | Arbiter validator flags it | Reject, re-spawn contrarian with sharper prompt; max 1 retry |
| Arbiter cannot produce 2+ kill criteria per output | Arbiter validator fails | Drop the output from the final list (HR-4 enforcement) |
| Venture-brief write fails (disk full, perms) | IO error | Return the output to the user anyway, but mark venture_brief_updated: false and warn |
deep_tech_mode outputs missing IP / reg / DFM answers | Validator fails | Re-spawn the team with stricter prompt; max 1 retry; drop output if still missing |
| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
Running generate_ideas without first mining Reddit/GDELT data | Teams produce LLM-vs-LLM consensus with no grounding; HR-5 violated | Always mine data first, pass to teams via context, fail gracefully if data unavailable |
| Using the same 4 angles for every mode | Different modes need different lenses (attack modes should skew contrarian + first-principles) | generate_ideas uses problem/asset/trend/contrarian; evaluate_idea uses contrarian/first-principles/arbitrage/constraint-inverted |
| Ignoring the contrarian team because it produces harsh output | Harsh output IS the point; harshness is the anti-groupthink mechanism | Preserve contrarian outputs in the ranked list even if they contradict the other teams |
| Hiding kill criteria in appendices to make ideas look more compelling | Defeats HR-4; user makes decisions with false confidence | Kill criteria are first-class output, alongside the idea content, not footnoted |
| Returning raw Reddit quotes with identifying details to illustrate pain | Violates HR-11; privacy breach | reddit-signal-mining paraphrases by default; re-enforce at output formatting |
Running heat_check and treating signals as investable ideas | Signals are hypotheses, not validated ideas; no kill criteria attached | Heat check output explicitly says "to turn signals into ideas, run generate_ideas"; user must take the next step |
Skipping deep_tech_mode overlay for hardware / invention requests | Loses critical IP / regulatory / DFM grounding; produces software-shaped advice for non-software problems | Parent intake detects deep-tech intent and passes deep_tech_mode: true; check venture-brief on entry |
Running with n_ideas > 30 | Team output quality degrades dramatically above ~30; cross-fire becomes noise | Cap at 30; tell the user to run multiple rounds if they need more |
founder-validation will do that. For Phase 1, evaluate_idea is the closest substitute.founder-business-model; for
Phase 1, explain that it's coming and offer to help prepare the inputs.presentation-builder + yc-pitch /
sequoia-pitch flow stubs (WP-F8); route there via parentforge via the Scope→Launch gate (parent
handles the routing)reddit-signal-mining + gdelt-event-mining
directly; this skill's overhead (adversarial brainstorm) is wasted