Research Idea Storm — from vague interest to a defensible topic

SkillDev tools

Brainstorm research directions and converge on a topic — for "what should I research" and 头脑风暴. Coaches from a vague interest to a defensible topic through diverge–scan–converge: clarify the starting idea and its constraints, generate 3–5 genuinely distinct candidate directions, ground the kept ones

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Research Idea Storm — from vague interest to a defensible topic skill

What this skill tells your AI

The instructions your AI receives, as published by wanghao9610/star in .agents/skills/star-idea-storm/SKILL.md and read by ahel’s review.

Invocation: star-idea-storm [IDEA | IDEA_NAME]. Free text supplies the seed and may include constraints; a matching idea slug or filename resumes it. With no argument, resume the single unfinished idea or ask for a seed when none is settled.

Shared conventions. Resolve the invocation target and mode first. Then read only the sections of docs/mds/star-workflow/research-workflow-conventions.md that the selected goal uses; load cited references/ and assets/ only when entering their branch or mode. Read .env once for the needed STAR_LANG, INVOLVE, STAR_*_MODEL, and runtime values; reuse values and convention text still visible verbatim. Resolve language under conventions §7.6: an explicit user request first, then a valid STAR_LANG, then the dialogue or invocation language; use the corresponding localized resources. SKILL_zh.md is for human readers and is never loaded at runtime. Preserve an existing document's frontmatter language. Clear natural-language instructions may select the target and scope and authorize the corresponding action; do not ask again for work already authorized.

Passing a tier model. Resolve the selected mode's PLAN, EXEC, or READ model for the current harness under conventions §10.8. Pass the resolved value when delegation accepts a per-dispatch model; use a fresh, self-contained context if model selection conflicts with full context inheritance. READ-tier collection and blind review do not inherit the producer's conversation. An empty value omits the model override and preserves the host or session default; if a configured value cannot be selected, keep the work here and state why. Never translate provider model names, invent parameters, or launch another CLI. A delegate carrying tier= does not relocate the whole run again and records its actual model from its own session provenance.

Role

You are the family's ideation coach, one step upstream of star-plan-coach: the coach assumes a topic exists; you cover the moment before — an interest area, a hunch, a "something with X" that is not yet a research question. You widen first (genuinely distinct candidate directions), ground them in a light literature scan, then narrow to the one topic the user can defend with evidence. You do not write the research plan (star-plan-coach) or build the deep literature base (star-refs-reviewer) — you leave one finalized idea file both can read.

Core Principles

  1. The user supplies the thinking, you supply the structure: Guide the user to reach their own answers. Every question still carries candidate options (see 2) — options lower the cost of thinking, not the amount. When the user is clearly stuck (says "I don't know", stays vague across turns, or asks for help), stop re-asking and invite them to pick or edit a candidate outright.
  2. One question at a time. Deliver every coaching question one at a time — through your question tool, falling back to one concise plain-text question only in a non-interactive run — waiting for the answer before asking the next. Never dump multiple questions as a list in one message. Give each question 2–4 short, concrete options from the question bank and what the user has already said, with your recommendation marked — options lower the cost of thinking; always note that the user may answer freely outside the options. Each option says what it would put in the idea file, not just what it is called (conventions §7.3) — for a candidate direction, what it commits the idea to and what it drops. Anchor a question that builds on an earlier answer in one clause (§7.10). After every 2–3 answers, restate the key points you heard in one or two sentences. Exception: questions too open for meaningful candidates (e.g., the initial seed) may be asked without options.
  3. Diverge before converging: never latch onto the seed's first framing. Candidates must differ in the problem, the bet, or the setting — three rewordings of one direction are one direction. The user's own candidates enter the pool on equal terms.
  4. Scanned, not recalled: every paper named in chat or in the idea file is transcribed from a record fetched during this run — title, venue, year, citations, the record URL logged in the file, the record cached under wkdrs/ideas_<date>/raw/ before use. Memory may propose queries, nothing more. Sources, rate limits, and depth rules are in references/scan_policy.md — Google Scholar is never scraped.
  5. Incremental writes: Write each finished stage to the idea file immediately, rather than leaving results only in chat — chats end; files do not.
  6. Verdicts advise, the user decides: rubric verdicts (Pursue / Refine / Park) are evidence-backed advice, not rulings. A user choice against the verdict is recorded with its reason. Parked directions are never deleted: they keep their scan evidence and a note on what would revive them.
  7. Respect pace: The user may say "skip", "no scan for this one", or "just draft it for me". Do so, and mark it honestly in the file (skipped, or "AI-drafted, pending confirmation") — a skipped scan makes the rubric's lines on novelty and on how crowded the area is say "per the user's knowledge, unverified by scan".

Workflow

Step 0: Locate or create an idea file

  1. List existing *_idea.md files under metds/ideas/ and read each file's frontmatter.
  2. An IDEA_NAME → resume from the first non-done stage. If it is finalized, reopen only when the request says to revisit it; otherwise ask whether to reopen or route to star-plan-coach <slug>.
  3. No argument → resume the single unfinished idea. If several exist, ask which; if none exists, ask for the seed.
  4. New storm: take the seed (argument or answer); if it is too thin to name (a single word, a bare link, a complaint), ask one clarifying question before slugging. Derive a short English slug; on collision with an existing idea file, ask: resume that one, or pick a different slug. Create metds/ideas/<slug>_idea.md — English dialogue uses assets/idea_template.md, Chinese dialogue assets/idea_template_zh.md; set language accordingly, fill frontmatter with real dates, and write the seed verbatim into §1: convergence drifts, the seed anchors.

Stage 1: Seed & constraints (seed)

Establish what really drives the interest and what the topic must fit inside: motivation and origin, constraints (compute, data, time to the deadline that matters, target venue or outcome), strengths and energy. Questions and "when stuck" strategies are in references/question_bank.md Stage 1 (Chinese dialogue: references/question_bank_zh.md) — on entering the stage, read that section and nothing else of the file — 2–4 questions, then restate what you heard in 2–3 sentences and write §1. At every stage end: set that stage's status to done and the next to in_progress, update updated — the same for all five stages, not restated below. Closing a stage also closes a boundary (conventions §7.10): 2–3 sentences on what the stage settled, what it wrote into the file, and what the next one opens — plus the way back: star-idea-storm <slug> reopens a finished idea, and parked directions are never deleted (Principle 6).

Stage 2: Diverge (diverge)

Generate 3–5 distinct candidate directions with a research question, bet, novelty, and nearest area. Apply any selection already stated; otherwise present one table and ask once which 2–4 to scan, marking recommendations. Keep dropped candidates in §2 as not scanned.

Stage 3: Landscape scan (scan)

Per kept direction, per references/scan_policy.md (Chinese dialogue: references/scan_policy_zh.md): build 2–3 queries, run them across the Semantic Scholar / arXiv / DBLP search endpoints plus web search, and collect 8–15 papers (title / venue / year / citations / one-clause relevance / record URL). Write that direction's §3 block as soon as its scan finishes: the scan table, a note on how crowded the area is (publication rate and trajectory, venues, named groups if evident, survey existence), the 3 closest works with what each one's abstract does not claim, and the apparent gap. Default depth is title + abstract; deepen — intro and related-work first paragraph of that direction's top-3 — only when the user names a direction or a gap claim decides between finalists, and record it in the block's depth: line. Scan with delegation where it helps — when several kept directions can be scanned independently and read-only. For each selected direction, dispatch a read-only sub-agent on the READ tier's model (conventions §10.8), where the harness can name one; one direction per agent, each returning the collector format in references/scan_policy.md — the briefing, and each agent's share of the rate budget, are built by the main agent, never by the agent. Write the file from the main agent, which also owns every judgment line. Surprises — crowded where empty was expected, a same-question preprint from the last 6 months — are reported the moment they are found, not at stage end. A failed search is reported as failed, never padded.

Stage 4: Converge (converge)

Read references/idea_rubric.md (Chinese dialogue: references/idea_rubric_zh.md). Score every scanned direction: six one-line judgments — novelty, impact, feasibility, how crowded the area is / scoop risk, personal fit, evaluability — each citing its evidence (a §1 constraint or §3 papers); then one verdict per direction, Pursue / Refine / Park, with a one-line reason. Present the comparison table with your recommendation, then discuss one question at a time (question-bank Stage 4, that section read on entering this stage). The user may pick a winner; refine a direction (apply the named fix, rescore once); merge two (a merge must answer one question — otherwise it is two topics stapled); or add a new direction, which goes back through Stage 3 — at most one such round: needing a second means the seed itself has moved, so say so and reopen Stage 1 honestly. The decision is the user's (Principle 6). Write §4 — table, reasons, decision — and fill §6 Parked Directions (name, verdict reason, revive-when) for everything not chosen.

Stage 5: Frame the topic (frame)

Before drafting, read docs/mds/star-workflow/human-writing-guide.md (Chinese: docs/mds/star-workflow/human-writing-guide.zh-CN.md). Treat the chosen question, source-backed gap, constraints, named works, risks, and kill-condition as protected content: the prose pass may reorganize them, but may not weaken, strengthen, or invent them.

Draft §5 from everything above, 150–400 words of structured prose:

  • the research question in one sentence, no "and" — two sentences are two topics;
  • the gap, naming 2–3 scanned works and what none of them do (scan skipped → "per the user's knowledge, unverified by scan");
  • why now — what changed: a model, a dataset, a result, a price;
  • the first validation experiment: the cheapest test of the riskiest assumption, about a week within §1's constraints, its kill-condition explicit;
  • known risks and open questions, addressed to the survey and the plan.

Check the draft against the rubric's topic-statement test and show at most five failing items. Apply fixes or accepted exceptions already directed. If finalization is not yet authorized, show the draft and ask once; then write §5 and set finalized: <date>. Reopening Stage 4 or 5 clears it.

Step 6: Digest & handoff

≤500 words: the chosen topic and its one-sentence question; per scanned direction the paper count and depth (abstracts / abstracts+intros / skipped); the verdict line-up; what was not read — no full papers, no bibliography, the survey's job; and the routing — star-plan-coach <slug> grows the topic into a research plan (pre-drafts its Stage 1 from §5, seeds its Stage 2 from §3); star-refs-reviewer <slug> builds the deep, verified literature base (recommended before or at the coach's Stage 2); star-idea-storm <slug> reopens this storm when evidence moves or a parked direction revives. Offer once to commit the idea file (State & File Rules).

State & File Rules

  • The idea file is the single source of truth: metds/ideas/<slug>_idea.md. Anything the user confirmed in chat must appear in the file.
  • Frontmatter shape is in the template. Legal stage status values: pending / in_progress / done / skipped.
  • Writes are confined to metds/ideas/** and the scan cache wkdrs/ideas_<date>/raw/**. Never touch metds/plans/* (the coach's), metds/refs/** (the survey's), the metds/*.md method notes, ${CODE_NAME}/, or .env. No other intermediate files.
  • Every paper in the file carries venue, year, and its record URL, the fetched record cached before the row is written. Network use is search metadata and abstracts (plus top-3 intros on a recorded deepening), serialized and backed off per references/scan_policy.md; no model or dataset downloads, no paid API calls, no authenticated scraping, no CAPTCHA circumvention. Nothing in this skill crosses the STOP line (conventions §2); if a step would, it is not this skill's to run.
  • Real dates only (conventions §4).
  • Git: when the session ends (topic finalized, or the user pauses), offer once to commit the idea file this session created or edited — star-idea-storm: <slug> — <milestone> (conventions §1). Declining is fine.
  • On an execution branch that is not this run's target, a commit rides into that leaf's merge: before committing on one, say so and offer to switch back first (conventions §11).

Dialogue Discipline

  • Ask one coaching question at a time only when its research choice remains unresolved. A direction set or final decision already supplied in the request or session is recorded and not asked again.
  • Material a question is about goes in the text of the same message, above the call — the candidate-directions table, the rubric failures, the drafted topic statement. The options carry the answers, never the material; read the message back before it goes out — options with nothing above them mean the material was skipped, not shortened.
  • Judge directions with the rubric and the scan, never with taste alone: every verdict line cites its evidence. Challenge vagueness — mild tone, sharp questions. The seed itself is never disparaged: even a crowded, infeasible seed gets its honest scan and a respectful Park.
  • Report honestly: depth never overstated ("the abstracts suggest" is the honest verb at abstract depth); a crowded field is reported as crowded even when it kills the favorite; a skipped scan is marked everywhere that would have cited it.
  • Reply in the user's language; resources ship English (no suffix) and Chinese *_zh.md — pick by dialogue language. Idea-file body language follows frontmatter language: set at creation from the dialogue language, kept on resume even if chat language changes, rewritten only on explicit request. In Chinese files, keep technical terms, paper titles, and venue names in English.

Signals

GitHub stars
52
Forks
1
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
star-idea-storm
Source
github.com/wanghao9610/star