Claude Code and Codex skills for empirical applied-microeconomics research: reproducibility auditing, LLM-assisted classification methods, event studies, data infrastructure (WRDS, Stata, pyfixest), and publication-grade tables, figures, and documents.
> /plugin marketplace add kennethkhoocy/applied-micro-skills> /plugin install applied-micro@applied-micro-skills
What's inside
Claude Code and Codex skills for empirical applied-microeconomics research: reproducibility auditing, LLM-assisted classification methods, event studies, data infrastructure (WRDS, Stata, pyfixest), and publication-grade tables, figures, and documents.
Each skill is a self-contained folder that teaches Claude Code or Codex a workflow, a methodology, or a hard-won fix. Install the whole set in either agent or copy individual skill folders — every skill stands alone, with no cross-skill dependencies.
Empirical research in applied micro runs through a long pipeline: raw data acquisition, classification and hand-coding (increasingly LLM-assisted), estimation, tables and figures, and finally a manuscript that co-authors and journals can consume. Errors compound quietly at every stage. The skills in this repository instrument that pipeline for Claude Code and Codex, with an emphasis on verification: checking that published numbers reproduce from the data, that machine-generated labels can be trusted, and that the plumbing between estimation output and camera-ready tables does not silently corrupt results.
The repository leads with its verification tooling. adversarial-empirical-review audits your own tables against your own data, and the LLM-methods cluster documents how to run classifier campaigns over research data without fooling yourself. Around that core sit the infrastructure skills (WRDS access, a pystata driver, pyfixest performance patterns, event-study methodology) and the output skills (estout-style LaTeX tables, Stata-look figures, verified citation placement, and document conversion).
The seventeen skills are a toolchain, ordered along the same pipeline an empirical paper travels.
Data acquisition. A project begins with the literature, which is handled by the companion standalone repository lit-review-orchestrator, a Claude Code and Codex skill that turns a manuscript, abstract, or proposal into a verified, relevance-ranked bibliography. Once the reference base is set, wrds connects to Wharton Research Data Services through a fail-fast guard that cannot lock your account with retried logins, and documents query patterns for Compustat, CRSP, FactSet, and I/B/E/S. When source documents live behind bot-gated publisher sites, download-gated-pdfs retrieves the actual PDF binary through the Wayback Machine's raw-content endpoint.
Classification and labeling. Five skills cover the life cycle of an LLM classification campaign in order. Before any model is built, annotator-input-parity-check forces the question "what did the human labelers actually read?", because a model scored against labels produced from a document it never saw has a hard recall ceiling no prompt can fix. While the campaign runs, asyncopenai-concurrency-httpx-pool removes the silent throughput ceiling in AsyncOpenAI batch scorers. When a paused campaign is resumed days later, llm-campaign-drift-gate requires a cheap canary before production spend, so a provider-side model change cannot splice two scorers into one variable. When a validation gate fails, llm-gold-bound-failure-check diagnoses whether any prompt revision could pass it before money is spent. And when disputed cases go to a human, adjudication-sheets builds ruling sheets whose evidence is byte-identical to what the classifier saw, rather than a truncated preview.
Estimation. event-study-cars ships a runnable engine for cumulative abnormal returns validated to floating-point precision against the Stata reference implementation. stata drives a licensed Stata installation through pystata, exchanging data with pandas in memory. The two pyfixest-* skills cover high-throughput fixed-effects estimation in Python: one documents how the GPU demeaning backend changes coefficient-table shape, the other how to parallelize large regression grids that stay CPU-bound despite a GPU.
Tables and figures. latex-empirical-tables turns estimation output into estout-style LaTeX tables with a standard empirical-economics preamble, and repairs the failure modes (margin overflow, cramped notes, the "Misplaced \omit" error) that make such tables look broken. stata-style-figures gives matplotlib output the Stata stcolor look so figures across a paper share one consistent style.
Verification. adversarial-empirical-review spans the whole chain. It re-runs the project's pipeline in an isolated copy — in its strongest mode from the raw inputs, with every committed intermediate deleted first — and requires the regenerated tables to be identical to the ones in the manuscript. It is positioned last-before-submission but audits everything upstream.
Citation and delivery. cite-placement places citations from a user-supplied, verified bibliography into the manuscript. latex-to-word delivers the finished LaTeX paper to Word-only journals and co-authors without losing tables, equations, or cross-references, and markdown-to-pdf turns Markdown project documents into polished PDFs with every image verified as embedded.
Four scenarios, each showing what to say and what happens.
You have a returns panel and an events list and want publication-grade CARs. Say "compute CARs for these events with Patell and BMP tests". The event-study-cars skill activates and runs its shipped engine (scripts/eventstudy.py) on your returns, market, and events files, producing abnormal returns, per-event CARs, and a test-statistics table — with thin-trading adjustment and the no-zero-fill rule on by default, matching eventstudy2 for Stata.
You paused a DeepSeek scoring campaign five days ago and want to top up credits and finish. Say "resume the scoring run". The llm-campaign-drift-gate skill activates and, before any production spend, re-sends about a hundred cached prompts fresh and compares the scores against the cache. A pass costs roughly a dollar; a fail means the provider moved the alias, and the gate walks through dating the flip and separating serving drift from noise before you decide whether to re-score.
Your manuscript's tables are estout fragments and you want proof they reproduce from the data. Run /adversarial-empirical-review and supply the project config. The driver parses every table cell against a machine-readable artifact of computed values, re-executes the analysis in an isolated copy, and runs an adversarial drafter–reviewer–judge loop over anything that fails — converging only when every required check passes.
Your journal wants Word but the paper is LaTeX with regression tables and equations. Say "convert main.tex to Word". The latex-to-word skill activates and routes to its fidelity engine, which builds native Word tables from your booktabs fragments, converts math to native equations, embeds figures, and resolves \cref/\eqref cross-references from the compiled .aux.
| Skill | Role |
|---|---|
adversarial-empirical-review | The flagship. Audits that every number in a paper's tables reproduces from the underlying data: a deterministic check battery, an independent cross-model reviewer, and a blind judge panel, with fail-closed crux checks and a from-raw reproduction mode. |
Re-runs an empirical paper's pipeline — raw data through to LaTeX tables — in an isolated copy and verifies that the tables the independent run regenerates are identical to the ones in the manuscript. The concern it addresses is concrete: after an AI has cleaned data and generated analysis code, an audit that merely reads the code judges plausibility, while the question that matters is whether the exact numbers printed in the tables are the numbers this code produces from this data. The audit closes that gap mechanically, and the whole loop is incumbent-preserving because the costly error in empirical work is corrupting a result that was already correct.
Activation. Manual-invoke only: run /adversarial-empirical-review in Claude Code, mention $adversarial-empirical-review in Codex, or name the skill explicitly. It deliberately does not auto-trigger on generic "review my results" or "check my tables" requests, because a run is token-intensive (multi-round, with re-execution and judge panels).
Key capabilities:
numbers.json), the committed artifact reproduces when the analysis re-executes in an isolated copy, and two re-runs agree with each other (determinism).snapshot_from_raw: true) deletes every committed intermediate from the copy and runs the full raw-inputs-to-tables pipeline twice, requiring byte identity between regenerated and committed table files — a hand-edited cell or a result living only in a stale cache cannot survive.Scope. This is an empirical and code review — table numbers against what the pipeline computes. Research design, identification, interpretation, and prose are out of scope; the manuscript is read only to map paper Table numbers to fragment files.
FAQ
applied-micro-skills is a Claude Code plugin with 17 hand-picked skills for data work, indexed on Flowy. Install it with the command on its page. It includes adjudication-sheets, adversarial-empirical-review, annotator-input-parity-check. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it