r-econometrics — Claude Code skill: what it does, how to install
Generates R code for causal inference and panel data using fixest, complete with diagnostics and publication tables. Useful for IV, DiD, and RDD research designs.
npx skills add meleantonio/awesome-econ-ai-stuff --skill r-econometrics -a claude-codeWhat r-econometrics does
This skill guides your AI assistant through econometric workflows in R. Before writing code, it clarifies the research design: the identification strategy (IV, DiD, or RDD), observational units, fixed effects, and error clustering levels. It then organizes the R script into clear sections, covering data prep, main estimations, diagnostics, and table export.
Calculations rely heavily on fixest. Generated scripts add first-stage F-statistics for instrumental variables, event study plots for difference-in-differences, and bandwidth selection tests for regression discontinuity designs. If treatment timing is staggered, standard two-way fixed effects produce biased estimates. The skill highlights this limitation and suggests sunab() or the did package instead.
Execution requires R 4.0+ and four packages: fixest, modelsummary, tidyverse, and ggplot2.
What it helps with
- estimate treatment effects using instrumental variables
- run difference-in-differences regressions with two-way fixed effects
- generate event study plots to evaluate parallel trends
- execute regression discontinuity designs with optimal bandwidth selection
- export regression tables to LaTeX using modelsummary
Example prompts for the agent
- Run a DiD analysis with state and year fixed effects, clustering at the state level
- Estimate the effect of X on Y using Z as an instrument
- Create an event study plot showing treatment effects by year
How to install r-econometrics
1Skills CLI (Vercel)
npx skills add meleantonio/awesome-econ-ai-stuff --skill r-econometrics -a claude-code2Manually: put the files in place
~/.claude/skills/r-econometrics/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/r-econometrics/
1Skills CLI (Vercel)
npx skills add meleantonio/awesome-econ-ai-stuff --skill r-econometrics -a codex2Manually: put the files in place
.agents/skills/r-econometrics/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add meleantonio/awesome-econ-ai-stuff --skill r-econometrics -a cursor2Manually: put the files in place
.cursor/skills/r-econometrics/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install meleantonio/awesome-econ-ai-stuff r-econometrics2Manually: put the files in place
.github/skills/r-econometrics/SKILL.md1Skills CLI (Vercel)
npx skills add meleantonio/awesome-econ-ai-stuff --skill r-econometrics -a gemini-cli2Platform CLI
gemini skills install https://github.com/meleantonio/awesome-econ-ai-stuff --path _skills/analysis/r-econometricsManually: put the files in place
.devin/skills/r-econometrics/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add meleantonio/awesome-econ-ai-stuff --skill r-econometrics -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about r-econometrics
How do I install r-econometrics in Claude Code?
Run npx skills add meleantonio/awesome-econ-ai-stuff --skill r-econometrics -a claude-code in your terminal.
What does r-econometrics do?
The skill generates R scripts for instrumental variables, difference-in-differences, and regression discontinuity designs. It constructs feols specifications using fixest, includes diagnostic tests, and formats tables for publication.
What packages are required to run the generated code?
You need R 4.0 or newer alongside fixest, modelsummary, tidyverse, and ggplot2. Install them via install.packages(c("fixest", "modelsummary", "tidyverse")).
Source text
SKILL.md · CC0-1.0
---
name: r-econometrics
description: Run IV, DiD, and RDD analyses in R with proper diagnostics
workflow_stage: analysis
compatibility:
- claude-code
- cursor
- codex
- gemini-cli
author: Awesome Econ AI Community
version: 1.0.0
tags:
- R
- econometrics
- causal-inference
- fixest
- regression
---
# R Econometrics
## Purpose
This skill helps economists run rigorous econometric analyses in R, including Instrumental Variables (IV), Difference-in-Differences (DiD), and Regression Discontinuity Design (RDD). It generates publication-ready code with proper diagnostics and robust standard errors.
## When to Use
- Running causal inference analyses
- Estimating treatment effects with panel data
- Creating publication-ready regression tables
- Implementing modern econometric methods (two-way fixed effects, event studies)
## Instructions
### Step 1: Understand the Research Design
Before generating code, ask the user:
1. What is your identification strategy? (IV, DiD, RDD, or simple regression)
2. What is the unit of observation? (individual, firm, country-year, etc.)
3. What fixed effects do you need? (entity, time, two-way)
4. How should standard errors be clustered?
### Step 2: Generate Analysis Code
Based on the research design, generate R code that:
1. **Uses the `fixest` package** - Modern, fast, and feature-rich for panel data
2. **Includes proper diagnostics:**
- For IV: First-stage F-statistics, weak instrument tests
- For DiD: Parallel trends visualization, event study plots
- For RDD: Bandwidth selection, density tests
3. **Uses robust/clustered standard errors** appropriate for the data structure
4. **Creates publication-ready output** using `modelsummary` or `etable`
### Step 3: Structure the Output
Always include:
```r
# 1. Setup and packages
# 2. Data loading and preparation
# 3. Descriptive statistics
# 4. Main specification
# 5. Robustness checks
# 6. Visualization
# 7. Export results
```
### Step 4: Add Documentation
Include comments explaining:
- Why each specification choice was made
- Interpretation of key coefficients
- Limitations and assumptions
## Example Prompts
- "Run a DiD analysis with state and year fixed effects, clustering at the state level"
- "Estimate the effect of X on Y using Z as an instrument"
- "Create an event study plot showing treatment effects by year"
- "Run a sharp RDD with optimal bandwidth selection"
## Example Output
```r
# ============================================
# Difference-in-Differences Analysis
# ============================================
# Setup
library(tidyverse)
library(fixest)
library(modelsummary)
# Load data
df <- read_csv("data.csv")
# Prepare treatment variable
df <- df %>%
mutate(
post = year >= treatment_year,
treated = state %in% treatment_states,
treat_post = treated * post
)
# ----------------------------------------
# Main DiD Specification
# ----------------------------------------
# Two-way fixed effects
did_model <- feols(
outcome ~ treat_post | state + year,
data = df,
cluster = ~state
)
# View results
summary(did_model)
# ----------------------------------------
# Event Study
# ----------------------------------------
# Create relative time variable
df <- df %>%
mutate(rel_time = year - treatment_year)
# Event study regression
event_study <- feols(
outcome ~ i(rel_time, treated, ref = -1) | state + year,
data = df,
cluster = ~state
)
# Plot coefficients
iplot(event_study,
main = "Event Study: Effect on Outcome",
xlab = "Years Relative to Treatment")
# ----------------------------------------
# Robustness: Alternative Specifications
# ----------------------------------------
# Different clustering
did_robust <- feols(
outcome ~ treat_post | state + year,
data = df,
cluster = ~state + year # Two-way clustering
)
# ----------------------------------------
# Export Results
# ----------------------------------------
modelsummary(
list("Main" = did_model, "Two-way Cluster" = did_robust),
stars = c('*' = 0.1, '**' = 0.05, '***' = 0.01),
output = "results/did_table.tex"
)
```
## Requirements
### Software
- R 4.0+
### Packages
- `fixest` - Fast fixed effects estimation
- `modelsummary` - Publication-ready tables
- `tidyverse` - Data manipulation
- `ggplot2` - Visualization
Install with:
```r
install.packages(c("fixest", "modelsummary", "tidyverse"))
```
## Best Practices
1. **Always cluster standard errors** at the level of treatment assignment
2. **Run pre-trend tests** for DiD designs
3. **Report first-stage F-statistics** for IV (should be > 10)
4. **Use `feols` over `lm`** for panel data (faster and more features)
5. **Document all specification choices** in your code comments
## Common Pitfalls
- ❌ Not clustering standard errors at the right level
- ❌ Ignoring weak instruments in IV estimation
- ❌ Using TWFE with staggered treatment timing (use `did` or `sunab()` instead)
- ❌ Not reporting robustness checks
## References
- [fixest documentation](https://lrberge.github.io/fixest/)
- [Cunningham (2021) Causal Inference: The Mixtape](https://mixtape.scunning.com/)
- [Angrist & Pischke (2009) Mostly Harmless Econometrics](https://www.mostlyharmlesseconometrics.com/)
## Changelog
### v1.0.0
- Initial release with IV, DiD, RDD support
© Awesome Econ AI Community · CC0-1.0 · meleantonio/awesome-econ-ai-stuff