Full-empirical-analysis-skill-R
brycewang-stanford/Auto-Empirical-Research-SkillsTesting & QAAI & ML engineeringData & analytics
Full-empirical-analysis-skill-R is a skill in brycewang-stanford/Auto-Empirical-Research-Skills, last changed 2 Sept 2026. It can run shell commands.
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 + MatchIt + WeightIt + cobalt + ebal + grf + DoubleML + mediation + marginaleffects + modelsummary + kableExtra + gt + ggplot2 + ggpubr + cowplot + binsreg. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) — every run produces a publication-ready output set with a multi-column regression table (M1→M6 progressive controls/FE) as the centerpiece, plus Table 1 (descriptives), mechanism / heterogeneity / robustness tables, and event-study + coefficient + trend figures. Covers the full 8-step R pipeline an applied economist runs on every paper — (1) data import & cleaning (read_dta/read_csv, naniar, janitor, validate-merges), (2) variable construction (mutate/across/winsorize/group_by + lag/lead with dplyr), (3) descriptive statistics & Table 1 (gtsummary, modelsummary::datasummary, tableone), (4) classical diagnostic tests (shapiro/jarque.bera.test/bptest/dwtest/bgtest/vif/adf.test/kpss.test/Hausman), (5) baseline modeling (fixest::feols, ivreg, did::att_gt, eventstudyr, sun_ab, did_imputation, synthdid, rdrobust, MatchIt, WeightIt, grf::causal_forest, DoubleML, mediation), (6) robustness battery (modelsummary stack, clubSandwich CRSE, fwildclusterboot, ri2, robomit Oster, bacondecomp, HonestDiD), (7) further analysis (interactions + marginaleffects, mediation::mediate, gsem via lavaan, dose-response splines, grf CATE), (8) publication-ready tables & figures (modelsummary, kableExtra, gt, stargazer, texreg, flextable to LaTeX/Word/HTML; ggplot2 + ggpubr + cowplot + binsreg + iplot for figures). **Also covers two parallel domain modes that share the same 8-step scaffolding** — **Mode A — Epidemiology / public health** (target-trial emulation, IPTW + g-formula + TMLE doubly-robust triplet via `WeightIt` / `gfoRmula` / `tmle` / `ltmle`, Mendelian randomization via `MendelianRandomization` / `TwoSampleMR` / `MRPRESSO`, KM / Cox / AFT / RMST survival via `survival` / `survminer` / `flexsurv`, E-value sensitivity via `EValue`, principal stratification — STROBE / TRIPOD reporting), and **Mode B — ML causal inference** (DML via `DoubleML`, S/T/X/R/DR meta-learners via `causalweight` / `grf`, causal forest via `grf::causal_forest`, BART/BCF via `bartCause` / `bcf`, matrix completion via `MCPanel`, CATE distribution + policy tree via `policytree`, off-policy evaluation, conformal causal via `conformalInference` / `cfcausal`, fairness audit via `fairmodels`, DAG learning via `pcalg` / `bnlearn` / LLM-assisted). Use when the user asks for a complete R empirical analysis, wants a tidyverse-style reproducible R script / Quarto workflow, prefers fixest over reghdfe, needs the R counterpart to StatsPAI / 00.1 / 00.2, or names a specific R step in isolation ("feols with cluster", "MatchIt nearest neighbor", "bacondecomp in R", "gtsummary table 1", "modelsummary to Word"). Mode A triggers on "target trial emulation R", "tmle ltmle", "MendelianRandomization", "TwoSampleMR", "MRPRESSO", "survival cox AFT", "STROBE R", "EValue R", "公共健康 R", "流行病学 R". Mode B triggers on "DoubleML R", "grf causal forest", "policytree", "bartCause bcf", "conformal causal R", "fairmodels", "pcalg NOTEARS", "因果机器学习 R".
At a glance
Pattern check
1 item to review
Name copied from another skill
R38 · High · SKILL.md:2Commit bfa0a6e · 3 Nov 2026
How the check worksPattern check:1 item to reviewSee it
Install
Each tab says whether it installs commit bfa0a6e, the one we checked, or the latest version.
OpenCode also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Goose also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Windsurf (Devin Desktop) also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Zed also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Roo Code also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Factory Droid also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Junie also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Amp also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
No install command here reaches Kiro. Copy the skill's folder into .kiro/skills/ in your project, or ~/.kiro/skills/ for all your projects. brycewang-stanford/Auto-Empirical-Research-Skills/plugins/empirical-analysis-r/skills/pipeline (opens in a new tab)
Antigravity also looks in .agents/skills/, so the Any agent steps reach it with This project. For All projects, see where Antigravity looks.
Cline also looks in .claude/skills/, so the Claude Code steps reach it with This project. For All projects, see where Cline looks.
Read this before installing: Name copied from another skill — SKILL.md:2
Claude Code
Pinned to commit bfa0a6e, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&git -C "$tmp" sparse-checkout set -- plugins/empirical-analysis-r/skills/pipeline &&git -C "$tmp" checkout -q bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&mkdir -p .claude/skills &&mkdir .claude/skills/pipeline &&cp -R "$tmp"/plugins/empirical-analysis-r/skills/pipeline/. .claude/skills/pipeline/ &&rm -rf "$tmp"If Claude Code was already running and this created the skills folder, run /reload-skills.
Claude apps
Pinned to commit bfa0a6e, the one we checked.
Skills in the Claude apps belong to your account rather than to a project.
Make pipeline.zip, with the skill folder at the top level:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&git -C "$tmp" sparse-checkout set -- plugins/empirical-analysis-r/skills/pipeline &&git -C "$tmp" checkout -q bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&out="$(mktemp -d)" &&cp -R "$tmp"/plugins/empirical-analysis-r/skills/pipeline "$out"/pipeline &&(cd "$out" && zip -qr - pipeline) > pipeline.zip &&rm -rf "$tmp" "$out"In Claude, open Customize > Skills, select +, then + Create skill > Upload a skill, and choose pipeline.zip.
On Free, Pro and Max plans, turn on Code execution and file creation (Create and edit files in newer settings) under Settings > Capabilities.
Codex
Pinned to commit bfa0a6e, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&git -C "$tmp" sparse-checkout set -- plugins/empirical-analysis-r/skills/pipeline &&git -C "$tmp" checkout -q bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&mkdir -p .agents/skills &&mkdir .agents/skills/pipeline &&cp -R "$tmp"/plugins/empirical-analysis-r/skills/pipeline/. .agents/skills/pipeline/ &&rm -rf "$tmp"Codex picks up new skills on its own; restart it if this one does not appear.
Cursor
Pinned to commit bfa0a6e, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&git -C "$tmp" sparse-checkout set -- plugins/empirical-analysis-r/skills/pipeline &&git -C "$tmp" checkout -q bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&mkdir -p .cursor/skills &&mkdir .cursor/skills/pipeline &&cp -R "$tmp"/plugins/empirical-analysis-r/skills/pipeline/. .cursor/skills/pipeline/ &&rm -rf "$tmp"Copilot & VS Code
Pinned to commit bfa0a6e, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&git -C "$tmp" sparse-checkout set -- plugins/empirical-analysis-r/skills/pipeline &&git -C "$tmp" checkout -q bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&mkdir -p .github/skills &&mkdir .github/skills/pipeline &&cp -R "$tmp"/plugins/empirical-analysis-r/skills/pipeline/. .github/skills/pipeline/ &&rm -rf "$tmp"In a running Copilot CLI session, run /skills reload.
Or install it with gh skill, which also installs the commit we checked. Needs GitHub CLI 2.90 or later.
gh skill install brycewang-stanford/Auto-Empirical-Research-Skills plugins/empirical-analysis-r/skills/pipeline/SKILL.md@bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba --agent github-copilot --scope projectGemini CLI
Pinned to commit bfa0a6e, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&git -C "$tmp" sparse-checkout set -- plugins/empirical-analysis-r/skills/pipeline &&git -C "$tmp" checkout -q bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&mkdir -p .gemini/skills &&mkdir .gemini/skills/pipeline &&cp -R "$tmp"/plugins/empirical-analysis-r/skills/pipeline/. .gemini/skills/pipeline/ &&rm -rf "$tmp"In a running session, run /skills reload.
Or use Gemini CLI’s own installer. Installs the latest version, not the one we checked.
gemini skills install https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git --path plugins/empirical-analysis-r/skills/pipeline --scope workspaceAny agent
Pinned to commit bfa0a6e, the one we checked.
OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity read .agents/skills in a project.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&git -C "$tmp" sparse-checkout set -- plugins/empirical-analysis-r/skills/pipeline &&git -C "$tmp" checkout -q bfa0a6e5a843babbf45a1ef1663fd5dc4f07c0ba &&mkdir -p .agents/skills &&mkdir .agents/skills/pipeline &&cp -R "$tmp"/plugins/empirical-analysis-r/skills/pipeline/. .agents/skills/pipeline/ &&rm -rf "$tmp"Or use the skills CLI from skills.sh. Installs the latest version, not the one we checked. The skills CLI reports installs to skills.sh unless you set DISABLE_TELEMETRY=1.
npx skills@1.7.4 add brycewang-stanford/Auto-Empirical-Research-Skills --skill Full-empirical-analysis-skill-RWhat it can touch
From the files and frontmatter at commit bfa0a6e. This is how much a skill can do, not whether it is risky.
Pattern check
Pattern check: 1 item to review · commit bfa0a6e · 3 Nov 2026
We checked every text file in this skill, at commit bfa0a6e on 3 Nov 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.
Format check
Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.
Agent Skills specFails
The open format from agentskills.io, held to the strictest version of each rule among the agents we check.
- Error
The name "Full-empirical-analysis-skill-R" has uppercase letters. Names may use only a–z, 0–9 and single hyphens. N3
Fix: Use name: full-empirical-analysis-skill-r and rename the folder to match.
- Error
The name "Full-empirical-analysis-skill-R" doesn't match its folder "pipeline". The spec requires them to match. N4
Fix: Set name: pipeline, or rename the folder to full-empirical-analysis-skill-r.
- Error
The description is 3,425 characters; the limit is 1,024. D2
Fix: Shorten it to 1,024 characters or fewer, and move detail into the body.
- Warning
Fields outside the spec: triggers. Uploads to the Claude apps and API, and the spec's validator, reject the file; most agents ignore these fields. O1
Fix: Delete them for a portable skill, or keep them if you only target the agents that read them.
- Warning
The body is 2431 lines; the spec suggests under 500. B1
Fix: Move detailed sections into reference files and link to them from SKILL.md.
- Warning
The body is about 29,284 tokens (approx.); the spec suggests under 5,000. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Note
The first sentence of the description is 435 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Note
There is no license field, so readers can't tell whether they may reuse the skill. O2
Fix: Add license: with an SPDX name such as MIT or Apache-2.0, or the name of a bundled licence file.
- Error
Claude CodePasses with warnings
Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.
- Warning
The description comes to 3,425 characters; Claude Code's skill listing cuts each entry at 1,536. The listing keeps every skill's name, but past its budget (1% of the context window) Claude Code drops descriptions, starting with the skills used least. D5
Fix: Put the key use case first, or move detail into the body.
- Note
The name "Full-empirical-analysis-skill-R" doesn't match its folder "pipeline". Claude Code shows the skill as /Full-empirical-analysis-skill-R, and the folder name also invokes it. N4
Fix: Set name: pipeline, or rename the folder to full-empirical-analysis-skill-r.
- Note
The first sentence of the description is 435 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Note
Claude Code ignores fields it doesn't know: triggers. O1
Fix: Check the spelling against Claude Code's field list, or delete them.
- Note
The body is 2431 lines; the spec suggests under 500. Claude Code's docs say the same. B1
Fix: Move detailed sections into reference files and link to them from SKILL.md.
- Note
The body is about 29,284 tokens (approx.); the spec suggests under 5,000. After compaction Claude Code keeps only the first 5,000 tokens of a skill. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Warning
Claude apps & API uploadFails
Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.
- Error
The name "Full-empirical-analysis-skill-R" has uppercase letters. Anthropic's validator allows only lowercase letters, digits and hyphens. N3
Fix: Use name: full-empirical-analysis-skill-r and rename the folder to match.
- Error
The name "Full-empirical-analysis-skill-R" doesn't match its folder "pipeline". claude.ai refuses an upload whose folder name doesn't match the skill name. N4
Fix: Set name: pipeline, or rename the folder to full-empirical-analysis-skill-r.
- Error
The description is 3,425 characters; the limit is 1,024. Anthropic's validator rejects it. D2
Fix: Shorten it to 1,024 characters or fewer, and move detail into the body.
- Error
Upload and packaging fail on fields outside the spec: triggers. O1
Fix: Delete them, and keep your own data under metadata as text values.
- Note
The body is 2431 lines; the spec suggests under 500. Anthropic's guidance says the same. B1
Fix: Move detailed sections into reference files and link to them from SKILL.md.
- Note
The body is about 29,284 tokens (approx.); the spec suggests under 5,000. Anthropic's guidance says the same. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Error
OpenAI (Codex & API)Fails
Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.
- Error
The name "Full-empirical-analysis-skill-R" has uppercase letters. OpenAI's upload follows the spec, which allows only a–z, 0–9 and hyphens. N3
Fix: Use name: full-empirical-analysis-skill-r and rename the folder to match.
- Error
The description is 3,425 characters; the limit is 1,024. Codex has no limit, but OpenAI's upload follows the spec. D2
Fix: Shorten it to 1,024 characters or fewer, and move detail into the body.
- Warning
The name "Full-empirical-analysis-skill-R" doesn't match its folder "pipeline". OpenAI's own upload example uses a differently named folder, but the spec it follows says they must match. N4
Fix: Set name: pipeline, or rename the folder to full-empirical-analysis-skill-r.
- Warning
Fields outside the spec: triggers. Codex ignores them; OpenAI doesn't say whether its upload accepts them. O1
Fix: Delete them, or move your own data under metadata as text values.
- Note
The first sentence of the description is 435 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Error
VS Code & CopilotPasses with warnings
VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.
- Warning
The name "Full-empirical-analysis-skill-R" has uppercase letters. VS Code uses the folder name whenever the name differs from it. N3
Fix: Use name: full-empirical-analysis-skill-r and rename the folder to match.
- Warning
The name "Full-empirical-analysis-skill-R" doesn't match its folder "pipeline". VS Code uses the folder name, pipeline, instead. N4
Fix: Set name: pipeline, or rename the folder to full-empirical-analysis-skill-r.
- Warning
The description is 3,425 characters; the limit is 1,024. VS Code cuts it at 1,024 characters. D2
Fix: Shorten it to 1,024 characters or fewer, and move detail into the body.
- Note
VS Code ignores fields it doesn't support: triggers. O1
Fix: Delete them unless another agent you target reads them.
- Warning
SKILL.md
We only show SKILL.md text here when its licence clearly allows it.
Read SKILL.md on GitHub (opens in a new tab)Files
9 files
Copies
These share its SKILL.md or its name and description but not all its files, so we list them separately.
More from brycewang-stanford/Auto-Empirical-Research-Skills
Other Testing & QA skills
Same category, most repo stars first.