MixtapeTools
Tools for coding, teaching, and presentations with AI assistance
Install / Use
/learn @scunning1975/MixtapeToolsREADME
MixtapeTools
Tools for coding, teaching, and presentations with AI assistance.
About This Repo
This is a collection of tools, templates, and philosophies I've developed while using Claude Code for:
- Coding (data analysis scripts, replication code, automation)
- Teaching (course materials, lecture decks, pedagogical tools)
- Presentations (Beamer decks, slides for talks and seminars)
As I develop new approaches, I'll add them here. Anyone is free to use them.
Take everything with a grain of salt. These are workflows that work for me. Your mileage may vary.
Who I Am
Scott Cunningham — Professor of Economics at Baylor University
- Website: www.scunning.com
- Substack: causalinf.substack.com — I write regularly about causal inference, Claude Code, and random things
- Free book: Causal Inference: The Mixtape — available online
Start Here: My Workflow
Location: workflow.md | Deck: presentations/examples/workflow_deck/
Before diving into specific tools, read my workflow document. It explains how I think about using Claude Code for empirical research—not just the tools, but the philosophy behind them.
Key concepts:
| Concept | What It Means | |---------|---------------| | Thinking partner, not code monkey | Claude is a collaborator who reasons about problems, not just a code generator | | External memory via markdown | Claude has amnesia between sessions; markdown files provide institutional memory | | Cross-software replication | R = Stata = Python to 6 decimal places, or something is wrong | | Adversarial review (Referee 2) | Fresh Claude instance audits your work; you can't grade your own homework | | Verification through visualization | Trust pictures over numbers; errors become visible | | Documentation as first-class output | If it's not documented, it didn't happen |
Everything else in this repo implements these principles.
The Tools
1. Referee 2 (Systematic Audit & Replication Protocol)
Location: personas/referee2.md
The single most valuable practice I've developed. Referee 2 is a health inspector for empirical research—not a vague "be critical" persona, but a systematic audit protocol with five specific audits, cross-language replication, formal referee reports, and a revise & resubmit process.
The Five Audits:
| Audit | What It Does | |-------|--------------| | Code Audit | Scrutinizes for coding errors, missing value handling, merge diagnostics, variable construction | | Cross-Language Replication | Creates replication scripts in 2 other languages (R/Stata/Python), compares results to 6 decimal places | | Directory Audit | Checks folder structure, relative paths, naming conventions—is this replication-package ready? | | Output Automation Audit | Are tables and figures programmatically generated or manually created? | | Econometrics Audit | Are specifications coherent? Standard errors correct? Identification plausible? |
Critical Rule: Referee 2 NEVER modifies author code. It only creates its own replication scripts. The author is the only one who modifies the author's code. This separation ensures the audit is truly independent.
2. The Rhetoric of Decks
Location: presentations/
My philosophy of slide design, plus a tested prompt for generating Beamer presentations. The key insight: aim for MB/MC equivalence across slides (smoothness), not maximum density.
Core principles:
- Beauty earns attention; attention enables communication
- Titles are assertions, not labels
- One idea per slide
- Bullets are defeat—find the structure hiding in your list
3. Split-PDF Skill (Download, Split, and Deep-Read Papers)
Location: skills/ (human-readable guide) | .claude/skills/split-pdf/SKILL.md (actual skill)
A Claude Code skill — an invocable /split-pdf command that automates the full pipeline for reading academic papers:
- Download the PDF (web search + download, or use a local file)
- Split into 4-page chunks via PyPDF2
- Read 3 chunks at a time (~12 pages), pausing between batches
- Write structured reading notes with detailed extraction
Why not just read the full PDF? Long PDFs either crash the session ("prompt too long" — unrecoverable) or produce shallow, hallucinated output. Splitting forces Claude to attend carefully to every section and externalizes understanding into markdown notes incrementally.
Usage: Type /split-pdf path/to/paper.pdf or /split-pdf "search query for paper"
4. Compile Deck (Beamer Presentations with the Rhetoric of Decks)
Location: .claude/commands/compiledeck.md
A Claude Code command — invoke with /compiledeck — that embeds the full Rhetoric of Decks philosophy so you don't have to explain it each time.
The skill asks two questions:
-
Who is the audience?
- External (seminar, conference, teaching) — sparse, performative, one idea per slide
- Working (coauthors, yourself) — can be more detailed, documents reasoning
-
What's the tone?
- Professional/Academic — your consistent "house style" for outward-facing work
- Colorful/Expressive — unique, creative design each time
Why separate these? External presentations need polish and restraint. Working decks can be messier—they're thinking tools. Some people want the same style for both; others want creative freedom internally while maintaining a professional brand externally.
House style: Define your preferred "Professional/Academic" palette in your CLAUDE.md. The skill checks for it. If none is defined, it uses a sensible default.
What's embedded:
- The Three Laws (Beauty is Function, Cognitive Load is Enemy, Slide Serves Spoken Word)
- Titles as assertions, not labels
- MB/MC equivalence across slides
- The compile loop (compile → fix errors → fix warnings → visual check → repeat)
- TikZ coordinate checking and figure label verification
Usage: Type /compiledeck when creating or editing a Beamer deck.
5. Additional Commands
Location: .claude/commands/
| Command | Description |
|---------|-------------|
| /compiletex [file.tex] | Compile any LaTeX file and report errors/warnings. Aims for zero warnings. |
| /newproject [name] | Scaffold a new research project with standard folder structure and CLAUDE.md. Also available as a skill. |
6. CLAUDE.md Template
Location: claude/CLAUDE.md
A template for giving Claude persistent memory within a project. Copy it to your project root and fill in the specifics. Claude Code will automatically read it every session.
Repository Structure
MixtapeTools/
├── README.md # You are here
├── workflow.md # How I use Claude Code for research (START HERE)
├── skills/ # Human-readable guide to Claude Code skills
│ ├── README.md # What skills are, how to use them, how to install
│ ├── split-pdf/ # Documentation and examples for the split-pdf skill
│ │ └── README.md # Detailed guide with methodology and examples
│ └── newproject/ # Documentation for the new-project scaffold skill
│ └── README.md # Philosophy, folder purposes, installation
├── .claude/
│ ├── commands/ # Slash commands (invoke with /command-name)
│ │ ├── compiledeck.md # /compiledeck — Beamer presentations with Rhetoric of Decks
│ │ ├── compiletex.md # /compiletex — Compile LaTeX, report errors/warnings
│ │ └── newproject.md # /newproject — Scaffold new research project
│ └── skills/
│ ├── split-pdf/ # Skill: download, split, and deep-read PDFs
│ │ ├── SKILL.md # Instructions Claude follows
│ │ └── methodology.md # Why this method works (for humans)
│ └── newproject/ # Skill: scaffold new research projects
│ └── SKILL.md # Instructions Claude follows
├── claude/ # Templates for working with Claude
│ ├── CLAUDE.md # Project context template (copy to your projects)
│ └── README.md
├── personas/ # Systematic audit & replication protocols
│ ├── referee2.md # The 5-audit protocol for empirical research
│ └── README.md
└── presentations/ # Everything about slide decks
├── rhetoric_of_decks.md # Practical principles (condensed)
├── rhetoric_of_decks_full_essay.md # Full intellectual framework (600+ lines)
├── deck_generation_prompt.md # The prompt + iterative workflow
├── README.md
└── examples/
├── workflow_deck/ # Visual presentation of the workflow
├── rhetoric_of_decks/ # The philosophy deck (45 slides)
└── gov2001_probability/ # A lecture deck
The Philosophy
Design Before Results
During estimation and analysis, focus entirely on whether the specification is correct. Results are meaningless until the "experiment" is designed on purpose. Don't get excited or worried about point estimates until the design is intentional.
Trust But Verify (Heavily on Verify)
AI makes confident mistakes. Cross-software replication (R = Stata = Python) catches bugs that single-language analysis misses. If results aren't identical to 6+ decimal places across implementations, something is wrong.
Adversarial Review Requires Separation
If you ask the same Claude that wrote code to review it, you're asking a student to grade their own exam. True adversarial review requires a new terminal with fresh context and no prior commitments.
Referee 2 Never Modifies Author Code
The audit must be independent. Referee 2 creates its own replication scripts but
