Awesome-Agent-Skills-for-Empirical-Research stata-accounting-research

install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/18-jusi-aalto-stata-accounting-research" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-stata-accounting- && rm -rf "$T"
manifest: skills/18-jusi-aalto-stata-accounting-research/SKILL.md
source content

Scope and Limitations

This skill is a code pattern library, not a methodological advisor.

Can DoCannot Do
Show how published papers implemented methodsExplain when to use one method over another
Provide tested STATA syntaxAdvise on identification strategy
Indicate which robustness tests accompany analysesDiscuss research design trade-offs
Cite source papers for code patternsRecommend optimal research design

When users ask methodology questions (e.g., "Should I use entropy balancing or PSM?", "How do I address endogeneity?", "Is my identification strategy valid?"):

  1. Acknowledge the limitation: "This skill provides code patterns from published papers, not research design guidance."
  2. Show how different papers approached similar problems (code examples)
  3. Suggest consulting methodology references: Breuer & deHaan (2024) for fixed effects, Angrist & Pischke for causal inference, or the user's methodologist/advisor
  4. Offer to show multiple implementations so the user can see variation in approaches

Workflow

Use

references/REFERENCES.md
as the primary index, then read targeted .do files.

Stage 1: Index Search

Search

references/REFERENCES.md
to identify relevant papers. The index contains structured metadata:

  • Primary Method: STATA commands used (reghdfe, psmatch2, stcox, etc.)
  • Identification Strategy: DiD, PSM, IV, RDD, Event Study, etc.
  • Robustness/Special Features: Winsorization levels, clustering specs, placebo tests, etc.

Example queries on REFERENCES.md:

  • "entropy balancing" → finds JAR_60_alv, JAR_60_bl, JAR_61_ds, JAR_62_5_llz, JAR_63_2_npstv
  • "stacked DiD" → finds JAR_61_ds, JAR_62_5_aov, JAR_62_5_gibbons
  • "Cox hazard" → finds JAR_59_ctv, JAR_62_2_xyz

Stage 2: Code Extraction

Read only the identified .do files to extract actual syntax. This reduces context usage and improves accuracy.

Stage 3: Adaptation and Citation

  1. Adapt patterns to the user's variable names and research context
  2. Cite source: "Based on [Authors] ([Year]), JAR Volume"

Fallback: Direct Grep Patterns

For very specific syntax queries (e.g., "how does absorb() handle singletons?"), grep .do files directly:

TaskGrep Pattern
Panel regressions
reghdfe|xtreg|areg
Fixed effects
absorb\(|i\.year|i\.firm
Clustering
cluster\(|vce\(cluster
Matching/PSM
psmatch2|teffects|cem|ebalance|pscore
IV regression
xtivreg|ivregress|ivreg2
DiD
post.*treat|treat.*post|parallel.*trend
RDD
rdrobust|rddensity
Event studies
CAR|BHAR|abnormal.*return
Survival
stcox|streg|stset
Fama-MacBeth
fama.?macbeth|newey.*west
Bootstrap
bootstrap|bsample
Quantile regression
qreg|sqreg|bsqreg
Table output
esttab|outreg2|eststo
Winsorization
winsor|winsor2

Corpus Overview

126 STATA .do files from JAR Volumes 55-63 (2017-2025). See

references/REFERENCES.md
for complete catalog with paper titles and authors.

File Naming Convention

  • V55-61:
    JAR_{volume}_{shortcode}.do
  • V62-63:
    JAR_{volume}_{issue}_{shortcode}_{authors}.do

Volume Coverage

VolumeYearPapers
5520179
56201812
5720199
58202013
5920214
60202222
61202322
62202425
63202510

Standard Patterns

Clustering and Fixed Effects

* Firm and year FE with firm-clustered SEs (most common)
reghdfe depvar indepvar controls, absorb(firm year) cluster(firm)

* Industry-year FE
reghdfe depvar indepvar controls, absorb(ind_year) cluster(firm)

Output Conventions

eststo clear
eststo: reghdfe depvar indepvar controls, absorb(firm year) cluster(firm)
esttab using "table.tex", replace star(* 0.10 ** 0.05 *** 0.01) se

Winsorization

winsor2 varlist, cuts(1 99) replace