/compiledeck
Create and compile beautiful Beamer presentations following the Rhetoric of Decks philosophy. Use when making slides, creating decks, or compiling .tex presentation files.
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill compiledeck --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
/compiledeck
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create and compile beautiful Beamer presentations following the Rhetoric of Decks philosophy. Use when making slides, creating decks, or compiling .tex presentation files.
SKILL.md
compiledeck.SKILL.mdname: compiledeck
description: Create and compile beautiful Beamer presentations following the Rhetoric of Decks philosophy. Use when making slides, creating decks, or compiling .tex presentation files.
allowed-tools: Bash(pdflatex*), Bash(latexmk*), Bash(ls*), Bash(open*), Bash(python*), Read, Write, Edit, Glob, Grep
argument-hint: "[topic-or-tex-file-path]"
Compile Deck
Create beautiful Beamer presentations. This skill enforces the **Rhetoric of Decks** philosophy through concrete, measurable rules — not aspirational guidance.
Step 1: Triage
Before touching anything, answer three questions:
**Q1: New deck or editing existing?**
- If editing: Read the `.tex` file first. Understand its palette, structure, and style before changing anything.
- If new: Proceed to Q2.
**Q2: Who is the audience?** 1. **Academic seminar** — sparse, one idea per slide, titles carry the argument 2. **Teaching lecture** — clarity over compression, repetition OK, progressive revelation 3. **Working deck** (coauthors) — more detail OK, document choices, preserve uncertainty 4. **External non-academic** — storytelling, visual impact, minimal jargon
See `domain_patterns.md` in this skill directory for detailed guidance per audience type.
**Q3: What's the tone?** 1. **Professional/Academic** — use the Warm Professional palette (default) or Academic Muted 2. **Colorful/Expressive** — create something new each time. See `palette_reference.md` for inspiration.
---
Step 2: The Non-Negotiable Rules
These are not guidelines. They are constraints.
ONE idea per slide
If a slide has two ideas, split it. No exceptions.
Titles are assertions, not labels
- Bad: "Results"
- Good: "Treatment increased distance by 61 miles on average"
- Bad: "Literature Review"
- Good: "Prior work ignores the supply-side margin"
If someone reads only the slide titles in sequence, they should understand the entire argument.
Typography minimums
- Body text: 24pt minimum
- Absolute floor (footnotes, source notes): 18pt
- Sans-serif fonts only
- Never justify text — always ragged right
No bullet lists (usually)
Bullets are a confession that you haven't found the structure. Look for:
- A sequence (use a flow diagram)
- A contrast (use two columns)
- A hierarchy (use size/color differentiation)
- A causal chain (use arrows)
Exception: genuinely parallel items (e.g., a list of axioms in a teaching deck).
Charts: one message, direct labels
- Every chart communicates ONE finding
- Title states the finding ("Enrollment doubled after 2015"), not the chart type ("Enrollment Over Time")
- Label data directly on the chart — no legends requiring eye movement
- Remove all chartjunk: gridlines, borders, unnecessary axis marks
White space is confidence, not waste
Empty space on a slide signals that you chose carefully. A full slide signals anxiety.
Zero compile warnings
Not "try to fix." Zero. See the Compile Loop below.
---
Step 3: The Preamble
For new decks, use this template. It is extracted from real decks that work.
Default: Warm Professional Palette (10 colors)
\documentclass[aspectratio=169,11pt]{beamer}
% Packages
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{amsmath,amssymb}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{xcolor}
\usepackage{ragged2e}
\usepackage{colortbl}
\usepackage{array}
\usepackage{hyperref}
\usepackage{adjustbox}
\usetikzlibrary{shapes.geometric, arrows.meta, positioning, calc,
backgrounds, decorations.pathreplacing, shadows, fadings}
\pgfplotsset{compat=1.18}
% --- Color Palette: Warm Professional ---
\definecolor{DeepNavy}{HTML}{2E4057}
\definecolor{Teal}{HTML}{048A81}
\definecolor{WarmOrange}{HTML}{E85D04}
\definecolor{SoftPurple}{HTML}{9D4EDD}
\definecolor{WarmGray}{HTML}{6C757D}
\definecolor{LightGray}{HTML}{E9ECEF}
\definecolor{Cream}{HTML}{FBF8F1}
\definecolor{DeepRed}{HTML}{D62828}
\definecolor{Gold}{HTML}{D4A03A}
\definecolor{SoftWhite}{HTML}{FAFAFA}
% Beamer colors
\setbeamercolor{normal text}{fg=DeepNavy, bg=SoftWhite}
\setbeamercolor{structure}{fg=DeepNavy}
\setbeamercolor{alerted text}{fg=DeepRed}
\setbeamercolor{example text}{fg=Teal}
\setbeamercolor{frametitle}{fg=DeepNavy, bg=SoftWhite}
\setbeamercolor{title}{fg=DeepNavy}
\setbeamercolor{subtitle}{fg=WarmGray}
\setbeamercolor{block title}{bg=DeepNavy, fg=SoftWhite}
\setbeamercolor{block body}{bg=LightGray, fg=DeepNavy}
\setbeamercolor{itemize item}{fg=WarmOrange}
\setbeamercolor{itemize subitem}{fg=Gold}
% Fonts
\usefonttheme{professionalfonts}
\setbeamerfont{title}{size=\huge, series=\bfseries}
\setbeamerfont{frametitle}{size=\Large, series=\bfseries}
% Strip chrome
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{headline}{}
% Minimal footline
\setbeamertemplate{footline}{%
\hfill
\begin{beamercolorbox}[wd=3cm,ht=2.5ex,dp=1ex,right,rightskip=0.6cm]{page number}
\usebeamercolor[fg]{WarmGray}\scriptsize\insertframenumber
\end{beamercolorbox}
\vspace{0.3cm}
}
% Bullets
\setbeamertemplate{itemize item}{\footnotesize\raisebox{0.3ex}{\tikz\fill[WarmOrange] (0,0) circle (0.45ex);}}
\setbeamertemplate{itemize subitem}{\footnotesize\raisebox{0.3ex}{\tikz\fill[Gold] (0,0) circle (0.35ex);}}
% Custom commands
\newcommand{\transitionslide}[2]{%
{\setbeamercolor{normal text}{fg=SoftWhite,bg=DeepNavy}
\begin{frame}[plain]\vfill\begin{center}
{\huge\bfseries\textcolor{Gold}{#1}}\\[0.6cm]
{\large\textcolor{LightGray}{#2}}
\end{center}\vfill\end{frame}}
}
\graphicspath{{figures/}}For alternative palettes, see `palette_reference.md` in this skill directory.
---
Step 4: Slide Architecture Patterns
Opening slide (first content slide after title)
**NOT** "Motivation" with bullet points. Instead:
- A surprising fact or statistic (big number, centered)
- A puzzle or unanswered question
- A prov
Read more
name: compiledeck description: Create and compile beautiful Beamer presentations following the Rhetoric of Decks philosophy. Use when making slides, creating decks, or compiling .tex presentation files. allowed-tools: Bash(pdflatex*), Bash(latexmk*), Bash(ls*), Bash(open*), Bash(python*), Read, Write, Edit, Glob, Grep argument-hint: "[topic-or-tex-file-path]"
Compile Deck
Create beautiful Beamer presentations. This skill enforces the **Rhetoric of Decks** philosophy through concrete, measurable rules — not aspirational guidance.
Step 1: Triage
Before touching anything, answer three questions:
**Q1: New deck or editing existing?**
- If editing: Read the `.tex` file first. Understand its palette, structure, and style before changing anything.
- If new: Proceed to Q2.
**Q2: Who is the audience?** 1. **Academic seminar** — sparse, one idea per slide, titles carry the argument 2. **Teaching lecture** — clarity over compression, repetition OK, progressive revelation 3. **Working deck** (coauthors) — more detail OK, document choices, preserve uncertainty 4. **External non-academic** — storytelling, visual impact, minimal jargon
See `domain_patterns.md` in this skill directory for detailed guidance per audience type.
**Q3: What's the tone?** 1. **Professional/Academic** — use the Warm Professional palette (default) or Academic Muted 2. **Colorful/Expressive** — create something new each time. See `palette_reference.md` for inspiration.
---
Step 2: The Non-Negotiable Rules
These are not guidelines. They are constraints.
ONE idea per slide
If a slide has two ideas, split it. No exceptions.
Titles are assertions, not labels
- Bad: "Results"
- Good: "Treatment increased distance by 61 miles on average"
- Bad: "Literature Review"
- Good: "Prior work ignores the supply-side margin"
If someone reads only the slide titles in sequence, they should understand the entire argument.
Typography minimums
- Body text: 24pt minimum
- Absolute floor (footnotes, source notes): 18pt
- Sans-serif fonts only
- Never justify text — always ragged right
No bullet lists (usually)
Bullets are a confession that you haven't found the structure. Look for:
- A sequence (use a flow diagram)
- A contrast (use two columns)
- A hierarchy (use size/color differentiation)
- A causal chain (use arrows)
Exception: genuinely parallel items (e.g., a list of axioms in a teaching deck).
Charts: one message, direct labels
- Every chart communicates ONE finding
- Title states the finding ("Enrollment doubled after 2015"), not the chart type ("Enrollment Over Time")
- Label data directly on the chart — no legends requiring eye movement
- Remove all chartjunk: gridlines, borders, unnecessary axis marks
White space is confidence, not waste
Empty space on a slide signals that you chose carefully. A full slide signals anxiety.
Zero compile warnings
Not "try to fix." Zero. See the Compile Loop below.
---
Step 3: The Preamble
For new decks, use this template. It is extracted from real decks that work.
Default: Warm Professional Palette (10 colors)
\documentclass[aspectratio=169,11pt]{beamer}
% Packages
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{amsmath,amssymb}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{xcolor}
\usepackage{ragged2e}
\usepackage{colortbl}
\usepackage{array}
\usepackage{hyperref}
\usepackage{adjustbox}
\usetikzlibrary{shapes.geometric, arrows.meta, positioning, calc,
backgrounds, decorations.pathreplacing, shadows, fadings}
\pgfplotsset{compat=1.18}
% --- Color Palette: Warm Professional ---
\definecolor{DeepNavy}{HTML}{2E4057}
\definecolor{Teal}{HTML}{048A81}
\definecolor{WarmOrange}{HTML}{E85D04}
\definecolor{SoftPurple}{HTML}{9D4EDD}
\definecolor{WarmGray}{HTML}{6C757D}
\definecolor{LightGray}{HTML}{E9ECEF}
\definecolor{Cream}{HTML}{FBF8F1}
\definecolor{DeepRed}{HTML}{D62828}
\definecolor{Gold}{HTML}{D4A03A}
\definecolor{SoftWhite}{HTML}{FAFAFA}
% Beamer colors
\setbeamercolor{normal text}{fg=DeepNavy, bg=SoftWhite}
\setbeamercolor{structure}{fg=DeepNavy}
\setbeamercolor{alerted text}{fg=DeepRed}
\setbeamercolor{example text}{fg=Teal}
\setbeamercolor{frametitle}{fg=DeepNavy, bg=SoftWhite}
\setbeamercolor{title}{fg=DeepNavy}
\setbeamercolor{subtitle}{fg=WarmGray}
\setbeamercolor{block title}{bg=DeepNavy, fg=SoftWhite}
\setbeamercolor{block body}{bg=LightGray, fg=DeepNavy}
\setbeamercolor{itemize item}{fg=WarmOrange}
\setbeamercolor{itemize subitem}{fg=Gold}
% Fonts
\usefonttheme{professionalfonts}
\setbeamerfont{title}{size=\huge, series=\bfseries}
\setbeamerfont{frametitle}{size=\Large, series=\bfseries}
% Strip chrome
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{headline}{}
% Minimal footline
\setbeamertemplate{footline}{%
\hfill
\begin{beamercolorbox}[wd=3cm,ht=2.5ex,dp=1ex,right,rightskip=0.6cm]{page number}
\usebeamercolor[fg]{WarmGray}\scriptsize\insertframenumber
\end{beamercolorbox}
\vspace{0.3cm}
}
% Bullets
\setbeamertemplate{itemize item}{\footnotesize\raisebox{0.3ex}{\tikz\fill[WarmOrange] (0,0) circle (0.45ex);}}
\setbeamertemplate{itemize subitem}{\footnotesize\raisebox{0.3ex}{\tikz\fill[Gold] (0,0) circle (0.35ex);}}
% Custom commands
\newcommand{\transitionslide}[2]{%
{\setbeamercolor{normal text}{fg=SoftWhite,bg=DeepNavy}
\begin{frame}[plain]\vfill\begin{center}
{\huge\bfseries\textcolor{Gold}{#1}}\\[0.6cm]
{\large\textcolor{LightGray}{#2}}
\end{center}\vfill\end{frame}}
}
\graphicspath{{figures/}}For alternative palettes, see `palette_reference.md` in this skill directory.
---
Step 4: Slide Architecture Patterns
Opening slide (first content slide after title)
**NOT** "Motivation" with bullet points. Instead:
- A surprising fact or statistic (big number, centered)
- A puzzle or unanswered question
- A prov
📌 文档结构(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

