/workflows-ideate
Divergent research ideation — generate many candidate directions, then adversarially filter to the strongest
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill workflows-ideate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/workflows-ideate
Context preview
The summary Claude sees to decide when to auto-load this skill.
Divergent research ideation — generate many candidate directions, then adversarially filter to the strongest
SKILL.md
workflows-ideate.SKILL.mdname: workflows:ideate
description: "Divergent research ideation — generate many candidate directions, then adversarially filter to the strongest"
argument-hint: "<research question, puzzle, or data opportunity>"
allowed-tools: Read, Glob, Bash
Research Ideation
Divergent exploration before convergent brainstorming. Generate many candidates, then filter ruthlessly.
Phase 0: Scope the Ideation
Read $ARGUMENTS. If the user provides a specific research question, ideate around it. If they provide a broad topic, explore broadly.
Phase 1: Generate Candidates (Divergent)
Generate 15-20 candidate research directions. Use these research-adapted ideation frames:
1. **Identification weakness** — What existing results have weak identification? What new variation could fix it? 2. **Computational bottleneck** — What problems are infeasible with current methods but tractable with new estimators or hardware? 3. **Data limitation workaround** — What would become possible with data that is now available but underexploited? 4. **Alternative estimator class** — What if the standard approach (e.g., linear IV) were replaced with a different class (e.g., ML, structural, Bayesian)? 5. **Relaxed assumption** — What results depend on assumptions that could be relaxed? What happens when you relax them? 6. **Literature gap** — What do practitioners need that academics haven't provided? What do adjacent fields know that this field doesn't?
Dispatch `methods-explorer` and `literature-scout` agents in parallel to ground the ideation in real methods and recent papers.
**Iron rule:** Generate the full candidate list before critiquing any idea. Push past the first few obvious directions.
Phase 2: Adversarial Filter (Convergent)
**Entry condition:** Phase 1 produced at least 15 candidate directions (the iron rule). **Exit condition:** 5-7 survivors identified, all rejected candidates have one-line rejection reasons.
For each candidate, evaluate:
- **Feasibility** (0-100): Can this be done with available data, methods, and time?
- **Contribution** (0-100): Would a top journal care about this result?
- **Identification** (0-100): Is there a credible identification strategy?
Dispatch `identification-critic` to attack the top 10 candidates. Only candidates surviving adversarial scrutiny advance.
**Target:** 5-7 survivors with explicit rejection reasons for all others.
Phase 3: Output
Write the ideation document to `docs/ideation/` with YAML frontmatter:
---
status: complete
date: YYYY-MM-DD
topic: <descriptive topic>
candidates_generated: <N>
survivors: <N>
---
Content:
- Surviving candidates ranked by (Contribution x Identification x Feasibility)
- For each survivor: 2-3 sentence description, confidence score, key risk
- Rejected candidates with one-line rejection reason
- Recommended next step: `/workflows:brainstorm` on the top 1-2 candidates
Handoff
End with: "Ideation complete. Run `/workflows:brainstorm [top candidate]` to develop requirements for the strongest direction."
Read more
name: workflows:ideate description: "Divergent research ideation — generate many candidate directions, then adversarially filter to the strongest" argument-hint: "<research question, puzzle, or data opportunity>" allowed-tools: Read, Glob, Bash
Research Ideation
Divergent exploration before convergent brainstorming. Generate many candidates, then filter ruthlessly.
Phase 0: Scope the Ideation
Read $ARGUMENTS. If the user provides a specific research question, ideate around it. If they provide a broad topic, explore broadly.
Phase 1: Generate Candidates (Divergent)
Generate 15-20 candidate research directions. Use these research-adapted ideation frames:
1. **Identification weakness** — What existing results have weak identification? What new variation could fix it? 2. **Computational bottleneck** — What problems are infeasible with current methods but tractable with new estimators or hardware? 3. **Data limitation workaround** — What would become possible with data that is now available but underexploited? 4. **Alternative estimator class** — What if the standard approach (e.g., linear IV) were replaced with a different class (e.g., ML, structural, Bayesian)? 5. **Relaxed assumption** — What results depend on assumptions that could be relaxed? What happens when you relax them? 6. **Literature gap** — What do practitioners need that academics haven't provided? What do adjacent fields know that this field doesn't?
Dispatch `methods-explorer` and `literature-scout` agents in parallel to ground the ideation in real methods and recent papers.
**Iron rule:** Generate the full candidate list before critiquing any idea. Push past the first few obvious directions.
Phase 2: Adversarial Filter (Convergent)
**Entry condition:** Phase 1 produced at least 15 candidate directions (the iron rule). **Exit condition:** 5-7 survivors identified, all rejected candidates have one-line rejection reasons.
For each candidate, evaluate:
- **Feasibility** (0-100): Can this be done with available data, methods, and time?
- **Contribution** (0-100): Would a top journal care about this result?
- **Identification** (0-100): Is there a credible identification strategy?
Dispatch `identification-critic` to attack the top 10 candidates. Only candidates surviving adversarial scrutiny advance.
**Target:** 5-7 survivors with explicit rejection reasons for all others.
Phase 3: Output
Write the ideation document to `docs/ideation/` with YAML frontmatter:
--- status: complete date: YYYY-MM-DD topic: <descriptive topic> candidates_generated: <N> survivors: <N> ---
Content:
- Surviving candidates ranked by (Contribution x Identification x Feasibility)
- For each survivor: 2-3 sentence description, confidence score, key risk
- Rejected candidates with one-line rejection reason
- Recommended next step: `/workflows:brainstorm` on the top 1-2 candidates
Handoff
End with: "Ideation complete. Run `/workflows:brainstorm [top candidate]` to develop requirements for the strongest direction."
📌 文档结构(2026-07-22 起): 本文件是中文默认入口 —— banner + badges + 信任面 + 9 阶段流水线速览 + 76 行合集总表。 每个合集的完整描述、按用途分组、精确数字、验证方法在 docs/CONTENT_ZH.md(扩展正文,总表行内的 → 直接跳转到对应锚点)。 English version: README-en.md · 中文扩展正文:docs/CONTENT_ZH.md · README-zh-CN.md 已弃用(重定向占位) 🌐 语言: English |
Other skills on auto-empirical-research-skills.
- /pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /pipeline
Classical end-to-end empirical analysis workflow in the modern tidyverse + econometrics R ecosystem — dplyr + tidyr + haven + fixest + sandwich + lmtest + clubSandwich + AER + ivreg + did + bacondecomp + HonestDiD + eventstudyr + rdrobust + rddensity + Synth + gsynth + synthdid
Open skill - /pipeline
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill - /00-Full-empirical-analysis-skill_StatsPAI
Use when the user asks to run a full empirical / causal analysis in Python — by default in the style of an applied economics paper (AER / QJE / JPE / ReStud / AEJ) with DID / RD / IV / SCM / DML / matching, written-out estimating equation + identifying assumption, Table 1 /
Open skill - /00.1-Full-empirical-analysis-skill_Python
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /00.2-Full-empirical-analysis-skill_Stata
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill

