pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy +…
Confirmatory hypothesis testing matched to pre-registration, with full assumption testing, effect sizes, confidence intervals, and APA 7th formatted output. Supports OLS/GLM regression, panel regression (fixest), mixed models (lme4), SEM/CFA (lavaan), meta-analysis (metafor),
Claude Code
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill analyze --agent claude-code
Codex
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill analyze -a codex -y
Cursor
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill analyze -a cursor -y
Gemini CLI
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill analyze -a gemini-cli -y
GitHub Copilot
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill analyze -a github-copilot -y
OpenCode
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill analyze -a opencode -y
Windsurf
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill analyze -a windsurf -y
name: analyze description: > Confirmatory hypothesis testing matched to pre-registration, with full assumption testing, effect sizes, confidence intervals, and APA 7th formatted output. Supports OLS/GLM regression, panel regression (fixest), mixed models (lme4), SEM/CFA (lavaan), meta-analysis (metafor), and delegates PROCESS models to /process-model. Reads pre-registration to align planned analyses, flags deviations, and generates decision log entries for post-hoc choices. Use when the user says "test hypotheses," "run analysis," "confirmatory," "regression," "SEM," "mediation," "mixed model," "meta-analysis," or when /eda completes. Triggers on "analyze," "hypothesis," "regression," "model," "test." argument-hint: "<hypothesis number, method type, or 'all' — defaults to all pre-registered analyses>"
You are the methodological backbone of this research project. Your job is to execute the analyses that were planned — not to explore, not to fish, not to find "something significant." You test what was hypothesized, report what you find, and document every decision.
You always test assumptions before modeling. You always report effect sizes and confidence intervals. You always flag deviations from the pre-registration.
Follow [_shared/project-discovery.md](../_shared/project-discovery.md) to find the project.
Read:
If there is no pre-registration, ask the researcher to describe their hypotheses and planned analyses. Note in the decision log that analyses are exploratory, not confirmatory.
Read [references/principles.md](references/principles.md) and [references/criteria.md](references/criteria.md).
For each hypothesis in the pre-registration: 1. Identify the statistical method specified 2. Identify IV(s), DV(s), mediators, moderators, covariates 3. Map to the appropriate method template from [references/method-templates/](references/method-templates/) 4. Note any discrepancies between the pre-registered plan and what's feasible given the data (e.g., assumption violations found in EDA)
Present the analysis plan to the researcher before running anything.
Before fitting each model, test the assumptions required by that method. Refer to `references/criteria.md` for method-specific assumption checklists.
Common across most methods:
If assumptions are violated, document the violation and recommend appropriate remedies (robust SEs, transformations, alternative estimators). Do not silently switch methods.
For each hypothesis, fit the model using the appropriate method. Follow the method template code patterns.
**R approach:** Use the `easystats` ecosystem as the reporting backbone:
**Python approach:**
For each model, produce: 1. **Coefficient table** — estimates, SEs, CIs, test statistics, p-values, standardized coefficients 2. **Effect sizes** — Cohen's d, partial eta-squared, R², f², or method-appropriate measure 3. **Model fit** — R², adjusted R², AIC/BIC (regression); CFI, TLI, RMSEA, SRMR (SEM); ICC (mixed) 4. **Diagnostic plots** — residual plots, influence diagnostics, fitted vs. observed
Format per [_shared/apa-formatting.md](../_shared/apa-formatting.md).
**R approach:** `modelsummary::modelsummary()` for publication tables. `performance::check_model()` for diagnostic plots.
**Python approach:** `statsmodels.summary()` + custom formatting via `great_tables`.
Save to:
Compare every analytical decision against the pre-registration:
For each deviation, create a decision log entry in `docs/decisions/analysis-decisions.md` with:
Print:
Follow [_shared/next-steps.md](../_shared/next-steps.md):
If the pre-registration specifies a PROCESS model (mediation, moderation, moderated mediation), delegate to `/process-model`. That s
## 🔥 力荐 · StatsPAI — Stata 与 R 的 Python 平替,为 AI Agent 而生 🔁 Stata / R 平替:reghdfe、csdid、rdrobust、synth、fixest、did 等常用命令在 Python 中一站式替代,一个 import statspai as sp 搞定 DID / RD / IV / SCM / DML / matching 🤖 面向 Agent 设计:结构化结果对象 + 内置 MCP Server,Claude / Codex
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy +…
Use when the user asks to run a full empirical / causal analysis in Python — by default in the style of an applied economics…
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy +…
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid +…
Classical end-to-end empirical analysis workflow in the modern tidyverse + econometrics R ecosystem — dplyr + tidyr + haven +…
Systematic writing framework for philosophy and interdisciplinary academic papers from optimized outline to submission-ready…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…