auto-empirical-research-skills
About auto-empirical-research-skills
auto-empirical-research-skills is a skill router and catalog for empirical research tasks. It helps researchers and agents select and load a focused skill by research stage or method, using catalog search and progressive disclosure instead of loading the full collection.
Key features
- 01Route skills by research stage and method
- 02Search using English or Chinese task text
- 03Cover econometrics, causal inference, and writing
- 04Support end-to-end empirical research workflows
- 05Provide a skill catalog and taxonomy
Use cases
- 01Choose an analysis skill for a specific method
- 02Find literature review or citation-checking skills
- 03Route data analysis into a paper workflow
- 04Search the catalog for skills by topic
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ brycewang-stanford/ auto-empirical-research-skills --skill auto-empirical-research-skillsAfter installing, type/auto-empirical-research-skillsin Claude Code to confirm it loaded.
Details
From the project READMEAuto-Empirical Research Skills Router
Use this root skill when the full AERS repository has been installed as a single skill folder. Treat it as a router and catalog, not as a request to load every vendored SKILL.md.
The catalog holds 1,108 skills across 78 vendored collections. Never read them all — route to one, then load only that skill's SKILL.md.
Workflow
-
Classify the user's empirical-research task by stage, then load the single best-matching skill:
- Full pipeline or orchestration: start with
skills/69-Paper-WorkFlow/or theskills/00*flagship analysis skills —skills/00-Full-empirical-analysis-skill_StatsPAI/(StatsPAI),skills/00.1-Full-empirical-analysis-skill_Python/(Python),skills/00.2-Full-empirical-analysis-skill_Stata/(Stata),skills/00.3-Full-empirical-analysis-skill_R/(R). Note the StatsPAI flagship has no dot in its prefix, so askills/00.*glob misses it. - Causal inference and econometrics: pick by method from the table below, or search
catalog/skills.json/docs/TAXONOMY.md. - AER or top economics journal work: start with
skills/50-brycewang-aer-skills/. - Replication, citation, or peer review: use
docs/SKILL_CATALOG.mdanddocs/GOLDEN_WORKFLOWS.mdto choose a focused skill. - Academic de-AIGC (English or Chinese) or academic rewriting: start with
skills/48-de-AIGC-skills/or nearby writing skills in the catalog.
- Full pipeline or orchestration: start with
-
Read only the selected child skill's
SKILL.md, then follow its progressive-disclosure instructions forreferences/,scripts/,assets/, or templates. -
If no child skill clearly matches, run the ranked catalog search first — it takes English or Chinese task text:
python3 scripts/find-skill.py "staggered difference-in-differences event study" python3 scripts/find-skill.py "降低中文论文 AIGC 率" -k 5It ranks by relevance, then by the routing tier in
catalog/curation.json: first-partycoreskills first, a single preferred copy for each duplicated name (the other copies are folded away), and natural-science / CS guides (out-of-domain) last unless the query names them. Take the top result unless its description clearly misfits, then read only thatSKILL.md. Its accuracy is measured bypython3 scripts/check-routing.pyagainstevals/routing-cases.json.If you need raw data instead,
catalog/skills.jsonhaspath,name,description,line_count, and a globally-uniquequalified_name;catalog/skills-enriched.jsonaddstier,tags,quality_score,license, andcommercial_use. Avoid broad recursive reads ofskills/.-
Both catalog JSON files are large (roughly 1 MB / 20k lines each) — query them instead of reading them whole. Example:
python3 -c "import json; [print(s['qualified_name'], '->', s['path']) for s in json.load(open('catalog/skills.json'))['skills'] if 'synthetic control' in (s['name'] + ' ' + s['description']).lower()]"A plain
grep -in "synthetic control" catalog/skills.jsonworks too when a rough match is enough.
-
-
For installation help, use
INSTALL.md: method 0 when the user hands you this folder's local path and asks you to install it, section 2C for Codex (~/.agents/skills/), method 1 for Claude Code marketplace/plugin installs.docs/INSTALL.mdhas the short copy-install reference. -
If editing this repository, keep parent and nested repos separate. In particular, inspect
git statusinsideskills/69-Paper-WorkFlow/(a git submodule) before touching it.
Method → where to start
Match the user's identification strategy or task to a starting collection, then confirm against catalog/skills.json.
This table is a shortcut to the most common starting points, not a complete index — it names fewer than half of the vendored collections, and the rest are reachable only through catalog/skills.json. A task missing from this table is not a task without a skill: fall through to step 3 and search the catalog before concluding nothing matches.
| Task / method | Start here |
|---|---|
| Full paper pipeline (orchestrator) | skills/69-Paper-WorkFlow/ |
Data → full Word .docx manuscript (one run: analysis + writing + assembled deliverable) | skills/69-Paper-WorkFlow/ — pick manuscript.format = markdown at its Stage 0 when the deliverable is Word; Stage 9 assembles 09_submission/main.docx (body + tables + figures + references) and gates it |
Markdown / LaTeX → .docx conversion only (no analysis) | skills/67-econfin-workflow-toolkit/md-to-docx/, skills/08-ndpvt-web-latex-document-skill/ |
| Agent-native causal analysis (one call runs DiD / RD / IV / SCM / DML with automatic robustness gates) | skills/00-Full-empirical-analysis-skill_StatsPAI/ |
| DiD / staggered DiD / event study | skills/50-brycewang-aer-skills/, skills/10-Jill0099-causal-inference-mixtape/, skills/13-scunning1975-MixtapeTools/ |
| Instrumental variables (IV) | skills/50-brycewang-aer-skills/, skills/40-py-econometrics-pyfixest/ |
| Regression discontinuity (RDD) | skills/50-brycewang-aer-skills/, skills/10-Jill0099-causal-inference-mixtape/ |
| Synthetic control (SCM) | skills/50-brycewang-aer-skills/, skills/13-scunning1975-MixtapeTools/ |
| Panel fixed effects | skills/40-py-econometrics-pyfixest/, skills/39-vincentarelbundock-marginaleffects/ |
| Specification search / multiverse / p-hacking audit, honest p-values, p-curve, pre-registration | skills/73-brycewang-p-hacking-skills/ (start at skills/00-phack-router/; teaching & audit only) |
| Questionnaire / survey SEM in SPSS + AMOS — reliability, EFA, CFA (CR / AVE / HTMT), structural model, bootstrap mediation, multi-group, PROCESS (结构方程 / 问卷 / 信效度) | skills/74-brycewang-spss-amos-sem/ |
| Matching / propensity scores | skills/10-Jill0099-causal-inference-mixtape/, skills/11-James-Traina-compound-science/ |
| Structural estimation | skills/11-James-Traina-compound-science/, skills/14-luischanci-claude-code-research-starter/ |
| Time series / forecasting | skills/17-DAAF-Contribution-Community-daaf/, skills/43-wentorai-research-plugins/ |
| Text as data / NLP | skills/43-wentorai-research-plugins/ |
| Spatial / GIS analysis | skills/17-DAAF-Contribution-Community-daaf/, skills/43-wentorai-research-plugins/ |
| Experiments / RCT design | skills/11-James-Traina-compound-science/, skills/25-HosungYou-Diverga/ |
| Survey / questionnaire design | skills/43-wentorai-research-plugins/, skills/25-HosungYou-Diverga/ |
| DML / CATE / causal forests | skills/00.1-Full-empirical-analysis-skill_Python/, skills/63-tondevrel-scientific-agent-skills/ |
| Bayesian modeling | skills/23-Learning-Bayesian-Statistics-baygent-skills/, skills/51-pymc-labs-CausalPy/ |
| Python analysis (full pipeline) | skills/00.1-Full-empirical-analysis-skill_Python/, skills/40-py-econometrics-pyfixest/ |
| Stata analysis | skills/00.2-Full-empirical-analysis-skill_Stata/, skills/32-dylantmoore-stata-skill/, skills/64-tmonk-mcp-stata/ |
| R analysis | skills/00.3-Full-empirical-analysis-skill_R/, skills/55-ab604-claude-code-r-skills/ |
| Game theory / theory papers | skills/65-game-theory-paper-writer/ |
| Qualitative / thematic analysis | skills/53-keemanxp-thematic-analysis-skill/ |
| Data acquisition (Kaggle, SEC filings, open data) | skills/72-kaggle-research/, skills/57-dgunning-edgartools/, skills/59-shiquda-openalex-skill/ |
| Literature review | skills/36-taoyunudt-literature-review-skill/, skills/52-keemanxp-slr-prisma/, skills/59-shiquda-openalex-skill/ |
| Lit-review tool selection / PDF→Markdown / cited Q&A over PDFs / PRISMA screening runners | skills/71-brycewang-lit-review-agent-tools/ |
| Citation checking | skills/62-PHY041-claude-skill-citation-checker/ |
| Manuscript writing / proofreading | skills/04-K-Dense-AI-claude-scientific-writer/, skills/38-peternka-academic-proofreader/ |
| Peer review / referee reports / referee responses | skills/21-claesbackman-AI-research-feedback/, skills/12-pedrohcgs-claude-code-my-workflow/, skills/67-econfin-workflow-toolkit/ |
| LaTeX / Quarto compilation, slides | skills/08-ndpvt-web-latex-document-skill/, skills/60-regisely-superpapers/, skills/12-pedrohcgs-claude-code-my-workflow/ |
| De-AIGC / humanize | skills/48-de-AIGC-skills/, skills/45-stephenturner-skill-deslop/, skills/47-conorbronsdon-avoid-ai-writing/ |
| Chinese SSCI/CSSCI journal polishing | skills/70-ssci-polish/, skills/49-voidborne-d-humanize-chinese/ |
| Replication | skills/28-maxwell2732-paper-replicate-agent-demo/, skills/29-quarcs-lab-project20XXy/ |
| Open science / reproducibility | skills/54-scdenney-open-science-skills/, skills/29-quarcs-lab-project20XXy/ |
| Grant proposals / funding | skills/42-wanshuiyin-ARIS/, skills/43-wentorai-research-plugins/ |
| Conference posters / post-acceptance | skills/42-wanshuiyin-ARIS/, skills/33-Galaxy-Dawn-claude-scholar/ |
Full-pipeline trigger
If the user is asking for a complete empirical paper from idea to submission, route to skills/69-Paper-WorkFlow/. The orchestrator loads the right skill at the right stage and stops for human decisions at the two hard gates (Method Gate after Stage 3, Draft Quality Gate after Stage 7).
Trigger phrases (any one is enough to dispatch to the orchestrator):
/paper-workflow- "帮我写一篇实证论文"
- "从选题到投稿"
- "end-to-end empirical paper"
- "完整复现"
- "from proposal to submission"
- "从数据到 docx 论文全文" / "一条龙" / "出一份 Word 版论文"
- "raw data to a finished Word manuscript"
The orchestrator is not the right entry point for a single-task ask (e.g. "fit a DiD", "recode this variable", "write a referee report") — those are listed in the Method → where to start table above.
Coverage Notes
skills/69-Paper-WorkFlow/is a git submodule. If its folder is empty, the copy or clone skipped submodules (git submodule update --initfixes a clone); fall back to theskills/00*flagship pipeline skills, which are vendored directly. Those end at publication-ready tables and figures plus a Step 8.5 handoff contract (exhibits_index.md+results_summary.json); pair them with a writing skill for the manuscript itself, since assembling and gating the full.docxlives in the orchestrator.- The vendored ARIS collection (
skills/42-wanshuiyin-ARIS/) also ships its skill set as OpenAI Codex CLI runtime ports (skills-codex*subtrees). Those stay on disk but are excluded fromcatalog/skills.json(seescripts/skill_discovery.py) — route Claude agents to the primaryskills/tree only.
Install Notes
- Whole-repo imports are supported by this root
SKILL.mdas a lightweight compatibility entry point. - Individual skill installs are still preferred when a runtime expects one folder per skill. Copy the folder that directly contains the target
SKILL.md. - Do not copy the repository root into a runtime and expect every child skill to become individually registered unless that runtime explicitly supports recursive skill discovery.
- Do not flat-install the whole catalog (e.g. symlinking every child folder into
~/.claude/skills). Every registered skill's description is loaded at session start — about 64k tokens for all 1,108 here — and runtimes truncate long skill listings, so matching gets worse, not better. Use a plugin, this router, or a handful of copied skills. - Name collisions: the catalog contains 47 bare
names shared across collections (e.g.data-analysis,lit-review,proofread);catalog/curation.jsonnames one preferred copy of each, whichscripts/find-skill.pyreturns. When a runtime registers skills by flat name, install one collection at a time, or disambiguate with the globally-uniquequalified_namefield incatalog/skills.json(<collection>::<name>, e.g.12-pedrohcgs-claude-code-my-workflow::data-analysis), or the fullskills/<collection>/.../SKILL.mdpath.
Key Files
catalog/skills.json: machine-readable list of vendored skills.catalog/skills-enriched.json: same list plustier,tags,quality_score,license, andcommercial_usefor filtering.catalog/curation.json: hand-curated routing tiers (core collections, the preferred copy of each duplicated name, out-of-domain prefixes). Ranking only — nothing is removed.scripts/find-skill.py: ranked search over the catalog (the router's search step).docs/SKILL_CATALOG.md: human-readable skill index.docs/TAXONOMY.md: task and method taxonomy.docs/GOLDEN_WORKFLOWS.md: ready-to-use empirical-research prompts.docs/INSTALL.md: runtime installation guidance for single-skill and whole-repo use.docs/CONTENT_ZH.mdandREADME-zh-CN.md: Chinese-language collection index and entry point. Prefer these when the user is working in Chinese — several collections (de-AIGC, SSCI/CSSCI polishing, Chinese academic writing) are documented there in more detail than in the English docs.