/write
Draft academic paper sections with notation protocol, anti-hedging, and humanizer pass. Replaces /draft-paper and /humanizer.
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill write --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/write
Context preview
The summary Claude sees to decide when to auto-load this skill.
Draft academic paper sections with notation protocol, anti-hedging, and humanizer pass. Replaces /draft-paper and /humanizer.
SKILL.md
write.SKILL.mdname: write
description: Draft academic paper sections with notation protocol, anti-hedging, and humanizer pass. Replaces /draft-paper and /humanizer.
argument-hint: "[section or mode: intro | strategy | results | conclusion | abstract | full | humanize] [file path (optional)]"
allowed-tools: Read,Grep,Glob,Write,Edit,Task
Write
Draft paper sections or apply humanizer pass by dispatching the **Writer** agent.
**Input:** `$ARGUMENTS` — section name or mode, optionally followed by file path.
---
Modes
`/write [section]` — Draft Paper Section
Draft a specific section: `intro`, `strategy`, `results`, `conclusion`, `abstract`, or `full`.
**Agent:** Writer **Output:** LaTeX section file in paper/sections/
Workflow:
1. Context Gathering
Before drafting, read all available context: 1. Read existing paper draft in `paper/` (if it exists) 2. Read `master_supporting_docs/` for notes, outlines, research specs 3. Read most recent `quality_reports/research_spec_*.md` or `quality_reports/lit_review_*.md` 4. Read `.claude/references/domain-profile.md` for field conventions 5. Check `Bibliography_base.bib` for available citations 6. Scan `paper/tables/` and `paper/figures/` for generated output 7. Read `quality_reports/results_summary.md` if it exists (from Coder)
2. Section Routing
Based on `$ARGUMENTS`:
- **`full`**: Draft all sections in sequence, pausing between major sections for user feedback
- **`intro`**: Draft introduction (most common request)
- **`strategy`**: Draft identification and estimation section
- **`results`**: Draft results from available output
- **`conclusion`**: Draft conclusion
- **`abstract`**: Draft abstract (must have other sections first)
- **No argument**: Ask user which section to draft
3. Dispatch Writer
Dispatch Writer with section standards, notation protocol, and anti-hedging rules. Humanizer pass runs automatically before finalizing. Save to `paper/sections/[section].tex`.
4. Quality Self-Check
Before presenting the draft:
- [ ] Every displayed equation is numbered (`\label{eq:...}`)
- [ ] All `\cite{}` keys exist in `Bibliography_base.bib`
- [ ] Introduction contribution paragraph names specific papers
- [ ] Effect sizes stated with units
- [ ] No banned hedging phrases
- [ ] Notation consistent throughout
- [ ] All tables/figures referenced actually exist in `paper/tables/` or `paper/figures/`
5. Present to User
Present each section for feedback. Flag items that need attention:
- **TBD items:** Where empirical results are needed but not yet available
- **VERIFY items:** Citations that need user confirmation
- **PLACEHOLDER items:** Effect sizes awaiting final estimates
`/write humanize [file]` — Humanizer Pass Only
Strip AI writing patterns from existing text without rewriting content.
**Agent:** Writer (humanizer mode) **Output:** Edited file with AI patterns removed
Strips 24 patterns across 4 categories:
- Structural: forced narrative arcs, artificial progression
- Lexical: "delve,leverage,nuanced,robust"
- Rhetorical: rule-of-three, negative parallelisms, em dash overuse
- Formatting: excessive bullet points, promotional language
---
Section Standards
| Section | Length | Key Requirements | |---------|--------|-----------------| | Introduction | 1000-1500 words | Hook → question → method → finding → contribution → roadmap | | Strategy | 800-1200 words | Formal assumption, numbered equation, threats addressed | | Results | 800-1500 words | Main spec, effect sizes in economic terms, heterogeneity | | Conclusion | 500-700 words | Restate with effect size, policy, limitations, future | | Abstract | 100-150 words | Question, method, finding with magnitude, implication |
---
LaTeX Conventions
- `\citet{}` for textual citations ("Smith (2024) shows...")
- `\citep{}` for parenthetical citations ("...is well documented (Smith, 2024)")
- `booktabs` rules (`\toprule`, `\midrule`, `\bottomrule`) — never `\hline`
- Notation protocol: `Y_{it}`, `D_{it}`, `\gamma_i`, `\delta_t`, `\varepsilon_{it}`
---
Principles
- **This is the user's paper, not Claude's.** Match their voice and style.
- **Never fabricate results.** Use TBD placeholders.
- **Citations must be verifiable.** Only cite confirmed papers.
- **Humanizer is automatic.** Every draft gets de-AI-ified.
Read more
name: write description: Draft academic paper sections with notation protocol, anti-hedging, and humanizer pass. Replaces /draft-paper and /humanizer. argument-hint: "[section or mode: intro | strategy | results | conclusion | abstract | full | humanize] [file path (optional)]" allowed-tools: Read,Grep,Glob,Write,Edit,Task
Write
Draft paper sections or apply humanizer pass by dispatching the **Writer** agent.
**Input:** `$ARGUMENTS` — section name or mode, optionally followed by file path.
---
Modes
`/write [section]` — Draft Paper Section
Draft a specific section: `intro`, `strategy`, `results`, `conclusion`, `abstract`, or `full`.
**Agent:** Writer **Output:** LaTeX section file in paper/sections/
Workflow:
1. Context Gathering
Before drafting, read all available context: 1. Read existing paper draft in `paper/` (if it exists) 2. Read `master_supporting_docs/` for notes, outlines, research specs 3. Read most recent `quality_reports/research_spec_*.md` or `quality_reports/lit_review_*.md` 4. Read `.claude/references/domain-profile.md` for field conventions 5. Check `Bibliography_base.bib` for available citations 6. Scan `paper/tables/` and `paper/figures/` for generated output 7. Read `quality_reports/results_summary.md` if it exists (from Coder)
2. Section Routing
Based on `$ARGUMENTS`:
- **`full`**: Draft all sections in sequence, pausing between major sections for user feedback
- **`intro`**: Draft introduction (most common request)
- **`strategy`**: Draft identification and estimation section
- **`results`**: Draft results from available output
- **`conclusion`**: Draft conclusion
- **`abstract`**: Draft abstract (must have other sections first)
- **No argument**: Ask user which section to draft
3. Dispatch Writer
Dispatch Writer with section standards, notation protocol, and anti-hedging rules. Humanizer pass runs automatically before finalizing. Save to `paper/sections/[section].tex`.
4. Quality Self-Check
Before presenting the draft:
- [ ] Every displayed equation is numbered (`\label{eq:...}`)
- [ ] All `\cite{}` keys exist in `Bibliography_base.bib`
- [ ] Introduction contribution paragraph names specific papers
- [ ] Effect sizes stated with units
- [ ] No banned hedging phrases
- [ ] Notation consistent throughout
- [ ] All tables/figures referenced actually exist in `paper/tables/` or `paper/figures/`
5. Present to User
Present each section for feedback. Flag items that need attention:
- **TBD items:** Where empirical results are needed but not yet available
- **VERIFY items:** Citations that need user confirmation
- **PLACEHOLDER items:** Effect sizes awaiting final estimates
`/write humanize [file]` — Humanizer Pass Only
Strip AI writing patterns from existing text without rewriting content.
**Agent:** Writer (humanizer mode) **Output:** Edited file with AI patterns removed
Strips 24 patterns across 4 categories:
- Structural: forced narrative arcs, artificial progression
- Lexical: "delve,leverage,nuanced,robust"
- Rhetorical: rule-of-three, negative parallelisms, em dash overuse
- Formatting: excessive bullet points, promotional language
---
Section Standards
| Section | Length | Key Requirements | |---------|--------|-----------------| | Introduction | 1000-1500 words | Hook → question → method → finding → contribution → roadmap | | Strategy | 800-1200 words | Formal assumption, numbered equation, threats addressed | | Results | 800-1500 words | Main spec, effect sizes in economic terms, heterogeneity | | Conclusion | 500-700 words | Restate with effect size, policy, limitations, future | | Abstract | 100-150 words | Question, method, finding with magnitude, implication |
---
LaTeX Conventions
- `\citet{}` for textual citations ("Smith (2024) shows...")
- `\citep{}` for parenthetical citations ("...is well documented (Smith, 2024)")
- `booktabs` rules (`\toprule`, `\midrule`, `\bottomrule`) — never `\hline`
- Notation protocol: `Y_{it}`, `D_{it}`, `\gamma_i`, `\delta_t`, `\varepsilon_{it}`
---
Principles
- **This is the user's paper, not Claude's.** Match their voice and style.
- **Never fabricate results.** Use TBD placeholders.
- **Citations must be verifiable.** Only cite confirmed papers.
- **Humanizer is automatic.** Every draft gets de-AI-ified.
📌 文档结构(2026-07-22 起): 本文件是中文默认入口 —— banner + badges + 信任面 + 9 阶段流水线速览 + 76 行合集总表。 每个合集的完整描述、按用途分组、精确数字、验证方法在 docs/CONTENT_ZH.md(扩展正文,总表行内的 → 直接跳转到对应锚点)。 English version: README-en.md · 中文扩展正文:docs/CONTENT_ZH.md · README-zh-CN.md 已弃用(重定向占位) 🌐 语言: English |
Other skills on auto-empirical-research-skills.
- /pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /pipeline
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
Open skill - /pipeline
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill - /00-Full-empirical-analysis-skill_StatsPAI
Use when the user asks to run a full empirical / causal analysis in Python — by default in the style of an applied economics paper (AER / QJE / JPE / ReStud / AEJ) with DID / RD / IV / SCM / DML / matching, written-out estimating equation + identifying assumption, Table 1 /
Open skill - /00.1-Full-empirical-analysis-skill_Python
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /00.2-Full-empirical-analysis-skill_Stata
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill

