Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Claude Code template for LaTeX, Beamer, and R research workflows
.claude/skills/brycewang-stanford-claude-academic-workflow-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 108% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 73% | 0% |
A template and workflow guide for using Claude Code in academic research — managing LaTeX papers, Beamer presentations, R analysis scripts, and multi-agent peer review. Provides structured CLAUDE.md configurations, project templates, and automation patterns for common academic tasks. Designed for economists, social scientists, and quantitative researchers.
research-project/
├── CLAUDE.md # Claude Code instructions
├── paper/
│ ├── main.tex # Main LaTeX document
│ ├── references.bib # Bibliography
│ ├── sections/ # LaTeX sections
│ └── figures/ # Generated figures
├── slides/
│ ├── presentation.tex # Beamer slides
│ └── figures/
├── code/
│ ├── analysis.R # Main analysis
│ ├── data_clean.R # Data preparation
│ └── figures.R # Figure generation
├── data/
│ ├── raw/ # Original data
│ └── processed/ # Cleaned data
└── output/
├── tables/ # LaTeX tables
└── figures/ # PDF/PNG figuresmarkdown# Project: [Your Paper Title] ## Instructions - This is an academic research project in economics - LaTeX compiler: pdflatex (paper) or xelatex (if CJK) - R version: 4.3+ with tidyverse, fixest, ggplot2 - Citation style: natbib, authoryear - Always compile paper after LaTeX changes - Run R scripts from project root ## Paper Conventions - Use \input{sections/intro} for section includes - Tables: booktabs package, generated from R - Figures: PDF format, width=\textwidth - Cross-refs: \label{sec:}, \label{tab:}, \label{fig:} ## R Conventions - Style: tidyverse style guide - Data: read from data/processed/ - Output: tables/ (LaTeX), figures/ (PDF) - Reproducibility: set.seed(42) for all random ops ## Build Commands - Paper: `cd paper && pdflatex main && bibtex main && pdflatex main && pdflatex main` - Slides: `cd slides && pdflatex presentation` - Analysis: `cd code && Rscript analysis.R`
bash# Claude Code can manage the full LaTeX workflow: # 1. Draft a section # "Write the methodology section for our diff-in-diff analysis" # 2. Generate tables from R output # "Create a LaTeX table from the regression results in output/tables/" # 3. Fix compilation errors # "The paper won't compile — fix the LaTeX errors" # 4. Update bibliography # "Add the Callaway & Sant'Anna (2021) reference" # 5. Format for submission # "Format the paper for AER submission guidelines"
latex% Template for academic presentations \documentclass[aspectratio=169]{beamer} \usetheme{metropolis} \title{Your Presentation Title} \subtitle{Conference/Seminar Name} \author{Author Name} \institute{University} \date{\today} \begin{document} \maketitle \begin{frame}{Motivation} \begin{itemize} \item Research question \item Why it matters \item What we do \end{itemize} \end{frame} \begin{frame}{Data} \input{figures/summary_stats_table} \end{frame} \begin{frame}{Results} \centering \includegraphics[width=0.8\textwidth]{figures/main_result.pdf} \end{frame} \end{document}
r# analysis.R — Main analysis script library(tidyverse) library(fixest) library(modelsummary) # Load cleaned data df <- read_csv("data/processed/analysis_data.csv") # Main regression model1 <- feols(outcome ~ treatment | year + state, data = df) model2 <- feols(outcome ~ treatment + controls | year + state, data = df, cluster = ~state) # Export table for LaTeX modelsummary( list("(1)" = model1, "(2)" = model2), output = "output/tables/main_results.tex", stars = c("*" = 0.1, "**" = 0.05, "***" = 0.01), gof_map = c("nobs", "r.squared", "FE: year", "FE: state"), ) # Export figure ggplot(df, aes(x = year, y = outcome, color = treated)) + geom_point(alpha = 0.3) + geom_smooth(method = "loess") + theme_minimal() + labs(x = "Year", y = "Outcome", color = "Treatment Group") ggsave("output/figures/treatment_trends.pdf", width = 8, height = 5)
markdown### Self-Review Workflow Use Claude Code to simulate peer review: 1. "Review this paper as a critical referee for AER" 2. "Check all mathematical derivations in section 3" 3. "Verify that all tables match the R code output" 4. "Check for consistency between text claims and results" 5. "List potential referee objections and how to address them"
markdown### Things to ask Claude Code: - "Compile the paper and fix any errors" - "Add robustness check using propensity score matching" - "Create a Beamer slide summarizing Table 2" - "Generate event study plot from the regression results" - "Convert this Word draft to LaTeX format" - "Check all cross-references are correct" - "Format references in AEA style"
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 26,794 | 24,441 | -9% | 1 | 1 | 0% | 4,514 | 5,142 | +14% | 0 | 0 | — |
case-02 | fail→pass | 25,267 | 21,101 | -16% | 1 | 1 | 0% | 4,001 | 5,632 | +41% | 0 | 0 | — |
case-03 | fail→fail | 26,621 | 42,430 | +59% | 1 | 1 | 0% | 4,841 | 8,511 | +76% | 0 | 0 | — |
case-04 | fail→fail | 16,632 | 16,324 | -2% | 1 | 1 | 0% | 3,007 | 4,234 | +41% | 0 | 0 | — |
case-05 | pass→pass | 17,771 | 21,241 | +20% | 1 | 1 | 0% | 3,090 | 4,729 | +53% | 0 | 0 | — |
case-06 | pass→pass | 14,529 | 18,772 | +29% | 1 | 1 | 0% | 2,640 | 4,491 | +70% | 0 | 0 | — |
case-07 | pass→pass | 11,995 | 8,616 | -28% | 1 | 1 | 0% | 2,067 | 3,246 | +57% | 0 | 0 | — |
case-08 | fail→pass | 10,184 | 6,446 | -37% | 1 | 1 | 0% | 1,567 | 2,657 | +70% | 0 | 0 | — |
case-09 | fail→fail | 6,630 | 6,012 | -9% | 1 | 1 | 0% | 1,005 | 2,372 | +136% | 0 | 0 | — |
case-10 | fail→pass | 16,907 | 23,135 | +37% | 1 | 1 | 0% | 2,484 | 5,178 | +108% | 0 | 0 | — |
case-11 | pass→pass | 7,803 | 6,327 | -19% | 1 | 1 | 0% | 1,440 | 2,514 | +75% | 0 | 0 | — |
case-12 | pass→pass | 10,921 | 3,557 | -67% | 1 | 1 | 0% | 1,767 | 2,070 | +17% | 0 | 0 | — |
case-13 | pass→pass | 14,515 | 12,430 | -14% | 1 | 1 | 0% | 3,194 | 4,326 | +35% | 0 | 0 | — |
case-14 | pass→pass | 11,493 | 3,053 | -73% | 1 | 1 | 0% | 2,263 | 2,013 | -11% | 0 | 0 | — |
case-15 | pass→pass | 16,645 | 13,096 | -21% | 1 | 1 | 0% | 2,907 | 3,729 | +28% | 0 | 0 | — |
case-16 | fail→pass | 14,185 | 12,547 | -12% | 1 | 1 | 0% | 2,122 | 3,644 | +72% | 0 | 0 | — |
case-17 | pass→pass | 12,627 | 8,984 | -29% | 1 | 1 | 0% | 1,868 | 3,042 | +63% | 0 | 0 | — |
case-18 | fail→fail | 12,614 | 15,085 | +20% | 1 | 1 | 0% | 2,205 | 3,632 | +65% | 0 | 0 | — |
case-19 | fail→pass | 18,713 | 17,625 | -6% | 1 | 1 | 0% | 2,885 | 4,980 | +73% | 0 | 0 | — |
case-20 | pass→pass | 20,643 | 17,702 | -14% | 1 | 1 | 0% | 3,405 | 4,602 | +35% | 0 | 0 | — |
case-21 | fail→pass | 7,366 | 2,690 | -63% | 1 | 1 | 0% | 1,278 | 1,928 | +51% | 0 | 0 | — |
case-22 | pass→pass | 16,006 | 10,176 | -36% | 1 | 1 | 0% | 2,006 | 2,812 | +40% | 0 | 0 | — |
case-23 | pass→pass | 10,846 | 5,138 | -53% | 1 | 1 | 0% | 1,652 | 2,353 | +42% | 0 | 0 | — |
case-24 | pass→pass | 20,162 | 17,836 | -12% | 1 | 1 | 0% | 4,316 | 5,298 | +23% | 0 | 0 | — |
case-25 | pass→pass | 10,055 | 10,815 | +8% | 1 | 1 | 0% | 1,993 | 3,559 | +79% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +24 percentage points is the difference between those two pass rates over the 25 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.