pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy +…
Extract reusable knowledge from the current session into a persistent skill. Use when you discover something non-obvious, create a workaround, or develop a multi-step workflow that future sessions would benefit from.
Claude Code
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill learn --agent claude-code
Codex
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill learn -a codex -y
Cursor
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill learn -a cursor -y
Gemini CLI
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill learn -a gemini-cli -y
GitHub Copilot
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill learn -a github-copilot -y
OpenCode
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill learn -a opencode -y
Windsurf
$ npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill learn -a windsurf -y
name: learn description: | Extract reusable knowledge from the current session into a persistent skill. Use when you discover something non-obvious, create a workaround, or develop a multi-step workflow that future sessions would benefit from. author: Claude Code Academic Workflow version: 1.0.0 argument-hint: "[skill-name (kebab-case)]" allowed-tools: ["Read", "Write", "Bash", "Glob", "Grep"]
Extract non-obvious discoveries into reusable skills that persist across sessions.
Invoke `/learn` when you encounter:
Before creating a skill, answer these questions:
1. "What did I just learn that wasn't obvious before starting?" 2. "Would future-me benefit from this being documented?" 3. "Was the solution non-obvious from documentation alone?" 4. "Is this a multi-step workflow I'd repeat?"
**Continue only if YES to at least one question.**
Search for related skills to avoid duplication:
# Check project skills ls .claude/skills/ 2>/dev/null # Search for keywords grep -r -i "KEYWORD" .claude/skills/ 2>/dev/null
**Outcomes:**
Create the skill file at `.claude/skills/[skill-name]/SKILL.md`:
--- name: descriptive-kebab-case-name description: | [CRITICAL: Include specific triggers in the description] - What the skill does - Specific trigger conditions (exact error messages, symptoms) - When to use it (contexts, scenarios) author: Claude Code Academic Workflow version: 1.0.0 argument-hint: "[expected arguments]" # Optional --- # Skill Name ## Problem [Clear problem description — what situation triggers this skill] ## Context / Trigger Conditions [When to use — exact error messages, symptoms, scenarios] [Be specific enough that you'd recognize it again] ## Solution [Step-by-step solution] [Include commands, code snippets, or workflows] ## Verification [How to verify it worked] [Expected output or state] ## Example [Concrete example of the skill in action] ## References [Documentation links, related files, or prior discussions]
Before finalizing, verify:
After creating the skill, report:
✓ Skill created: .claude/skills/[name]/SKILL.md Trigger: [when to use] Problem: [what it solves]
User discovers that a specific R package silently drops observations:
--- name: fixest-missing-covariate-handling description: | Handle silent observation dropping in fixest when covariates have missing values. Use when: estimates seem wrong, sample size unexpectedly small, or comparing results between packages. author: Claude Code Academic Workflow version: 1.0.0 --- # fixest Missing Covariate Handling ## Problem The fixest package silently drops observations when covariates have NA values, which can produce unexpected results when comparing to other packages. ## Context / Trigger Conditions - Sample size in fixest is smaller than expected - Results differ from Stata or other R packages - Model has covariates with potential missing values ## Solution 1. Check for NA patterns before regression: ```r summary(complete.cases(data[, covariates]))
2. Explicitly handle NA values or use `na.action` parameter 3. Document the expected sample size in comments
Compare `nobs(model)` with `nrow(data)` — difference indicates dropped obs.
## 🔥 力荐 · 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…