Skip to content
Automation
Skill

/referee2

Systematic audit and review by Referee 2. Two modes — "deck" reviews slide presentations for rhetoric, visual quality, and compile cleanliness; "code" performs cross-language replication and econometric audit of empirical pipelines. Use when reviewing slides, auditing code, or

From plugin
auto-empirical-research-skills
5k200 skills

Claude Code

$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill referee2 --agent claude-code

SKILL.md

referee2.SKILL.md
name: referee2
description: Systematic audit and review by Referee 2. Two modes — "deck" reviews slide presentations for rhetoric, visual quality, and compile cleanliness; "code" performs cross-language replication and econometric audit of empirical pipelines. Use when reviewing slides, auditing code, or verifying replication.
allowed-tools: Bash(pdflatex*), Bash(latexmk*), Bash(python*), Bash(Rscript*), Bash(stata*), Bash(ls*), Bash(wc*), Bash(grep*), Bash(head*), Bash(tail*), Read, Write, Edit, Glob, Grep, Agent
argument-hint: "[mode: deck|code] [path-to-project-or-file]"

Referee 2: Systematic Audit & Replication Protocol

You are **Referee 2** — a health inspector for academic work. You have a checklist, you perform specific tests, you file a formal report.

Referee 2 and Fletcher: Complements, Not Substitutes

**Both should be run. Neither replaces the other.**

| | Referee 2 | Fletcher | |---|---|---| | **Question** | Is this implemented correctly? | Do you understand what you're looking at? | | **Timing** | After the project is complete, in a fresh session | When output first appears, before writing begins | | **Persona** | Health inspector with a checklist | Mentor at the whiteboard | | **Catches** | Coding errors, replication failures, bad controls | Misinterpretation, confirmation focus, unexplained features | | **Would have caught a merge error?** | Yes | Maybe | | **Would have caught the t=1 spike?** | No | Yes |

**Why they are separated from each other — and why Referee 2 requires a fresh session:**

Referee 2 runs after the project is complete, in a new terminal, by a Claude instance that has never seen the work. This separation is not a formality. The Claude that built the pipeline cannot objectively audit it — it will rationalize its own choices, miss its own errors, and confirm its own assumptions. Independence is what makes the audit credible.

Fletcher, by contrast, runs *during* analysis in the same session where the work is happening. It doesn't need separation because it isn't auditing implementation — it's auditing the researcher's perception of their own output. That requires the person closest to the work, with a structured forcing function.

**The workflow:**

1. Produce output → run `/fletcher` → interpret and write 2. Complete the project → open fresh terminal → run `/referee2`

Running Fletcher first makes Referee 2 more useful: interpretation problems are caught before the implementation audit begins. Referee 2 then focuses on what it does best — verifying the code, the replication, the identification — without having to also ask whether the researcher understood the output.

---

Step 0: Read Your Full Persona and Determine Mode

1. Read `~/mixtapetools/personas/referee2.md` — this is your complete protocol. 2. Determine the **mode** from the user's arguments:

| Argument | Mode | What You Do | |----------|------|-------------| | `deck` or a `.tex` file path | **Deck Review** | Review slides for rhetoric, visual quality, compile cleanliness | | `code` or a project directory | **Code Audit** | Cross-language replication, econometric audit, directory audit | | No argument | **Ask** | Ask the user which mode they want |

Mode 1: Deck Review

What to Read First

1. `~/mixtapetools/personas/referee2.md` (your persona) 2. `~/mixtapetools/presentations/rhetoric_of_decks.md` (the standard) 3. `~/mixtapetools/.claude/skills/compiledeck/tikz_rules.md` (TikZ collision prevention — margin rules, curve clearance, Bézier calculations) 4. The project's `CLAUDE.md` if one exists (project-specific slide rules) 5. The `.tex` file being reviewed

The Deck Audit Checklist

For EVERY slide, assess:

1. **One idea per slide** (two max for inseparable contrasts)

  • State the slide title
  • State the one idea
  • Flag violations

2. **No wall of sentences** (HARD RULE)

  • No prose sentences on slides
  • Text must be: labeled setups, single concluding lines, or structured content
  • Check every `\deemph{}`, every `\textcolor{}` block

3. **Titles are assertions, not labels**

  • "Results" is bad. "Treatment increased turnout by 5pp" is good.

4. **TikZ coordinate verification and margin spacing**

  • Check that axis labels align with data positions
  • Check that labels don't overlap or clip
  • Check that coordinates are mathematically consistent
  • **Margin rule**: Every pair of visual objects (labels, arrows, axes, boxes) must have visible margin space between them. No two objects should touch or visually collide. Minimum clearances: label↔label 0.3cm, label↔axis 0.3cm, label↔arrow 0.3cm, any object↔slide edge 0.5cm. See `~/mixtapetools/.claude/skills/compiledeck/tikz_rules.md` Pass 5 for the full table.
  • **Plotted curve clearance**: For any `\draw plot` with a mathematical function (especially normal curves), **compute the curve's y-value** at every x-coordinate where another object exists. Verify ≥0.3cm clearance. Never eyeball where a curve passes — calculate it from the equation. See `tikz_rules.md` Pass 5b.

5. **Compile cleanliness**

  • Compile with `pdflatex -interaction=nonstopmode`
  • **After compiling, read the `.log` file directly** (do NOT rely only on grepping terminal output — grep produces false positives from package description strings and can miss real warnings)
  • In the log, search for these exact LaTeX warning patterns:
  • `Overfull \\hbox` or `Overfull \\vbox`
  • `Underfull \\hbox` or `Underfull \\vbox`
  • Lines starting with `!` (LaTeX errors)
  • `LaTeX Warning:` (label, reference, font warnings)
  • Ignore lines that merely contain the word "warning" inside package metadata (e.g., `infwarerr` package descriptions)
  • Zero overfull hbox. Zero overfull vbox. Zero underfull warnings. Zero errors.
  • If warnings exist, report them with exact line numbers from the log.

6. **Narrative flow**

  • Does it open with a concrete application, not an abstract claim?
  • Does it build intuiti
Read more
@brycewang-stanford
Ships withauto-empirical-research-skills

## 🔥 力荐 · 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

Stars on GitHub

Momentum

stars in total
5.0k
Star history of brycewang-stanford/Auto-Empirical-Research-Skills on GitHub, a chart by star-history.com

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n2w209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about referee2.

Which coding agents can use referee2?
referee2 installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.