Build Deck: Beamer Presentations with the Rhetoric of Decks
SkillDocs & knowledgeCreate and compile Beamer presentations following the Rhetoric of Decks philosophy. Use when making seminar or conference slides.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Build Deck: Beamer Presentations with the Rhetoric of Decks skill
What this skill tells your AI
The instructions your AI receives, as published by alexander-m-dickerson/ai-asset-pricing in .claude/skills/build-deck/SKILL.md and read by ahel’s review.
Create, edit, and compile academic presentations for seminars, conferences, and working sessions.
Examples
/build-deck-- start a new deck (asks audience/tone questions first)/build-deck decks/seminar.tex-- compile an existing deck/build-deck --working-- create a working deck for coauthors (denser, more detail)
Step 1: Ask Two Questions
Before creating or significantly editing a deck, ask:
Question 1: Who is the audience?
- External -- Seminar, conference, discussant role (sparse, performative, one idea per slide)
- Working -- Coauthors, internal meeting (detailed, documentary, preserves uncertainty)
Question 2: What's the visual tone?
- Professional/Academic -- Use the house palette (navy/crimson/forest)
- Colorful/Expressive -- Design something unique for this specific deck
These determine density and visual style. If the user specifies --working, skip Question 1 (answer is Working).
Step 2: Read the Philosophy
Before building, internalize the rules from .claude/rules/presentation-rules.md. The key principles:
- One idea per slide -- non-negotiable for external decks
- Titles are assertions -- "Transaction costs halve momentum alpha" not "Results"
- MB/MC equivalence -- equalize cognitive load across all slides
- The slide serves the spoken word -- if slides work without a speaker, you made a document
Step 3: Build the Deck
For New Decks
Create the .tex file in the project's decks/ directory (create if needed):
decks/
+-- seminar.tex # Main Beamer file
+-- seminar.pdf # Compiled output
Beamer Preamble (Professional Style)
\documentclass[aspectratio=169,11pt]{beamer}
\usetheme{default}
\usecolortheme{default}
% --- Strip navigation chrome ---
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{%
\hfill\insertframenumber/\inserttotalframenumber\hspace*{4pt}\vspace{2pt}%
}
% --- House palette ---
\definecolor{navy}{HTML}{1A365D}
\definecolor{darkgray}{HTML}{2D3748}
\definecolor{crimson}{HTML}{9B2335}
\definecolor{forest}{HTML}{276749}
\definecolor{steel}{HTML}{4A5568}
\definecolor{lightgray}{HTML}{F7FAFC}
\definecolor{warmgray}{HTML}{E2E8F0}
% --- Beamer colors ---
\setbeamercolor{frametitle}{fg=navy,bg=white}
\setbeamercolor{title}{fg=navy}
\setbeamercolor{subtitle}{fg=steel}
\setbeamercolor{author}{fg=darkgray}
\setbeamercolor{date}{fg=steel}
\setbeamercolor{normal text}{fg=darkgray}
\setbeamercolor{itemize item}{fg=steel}
\setbeamercolor{itemize subitem}{fg=steel!60}
\setbeamercolor{alerted text}{fg=crimson}
\setbeamercolor{block title}{fg=white,bg=navy}
\setbeamercolor{block body}{fg=darkgray,bg=lightgray}
% --- Fonts ---
\setbeamerfont{frametitle}{series=\bfseries,size=\large}
\setbeamerfont{title}{series=\bfseries,size=\Large}
% --- Custom commands ---
\newcommand{\emphnum}[1]{\textcolor{crimson}{\textbf{#1}}}
\newcommand{\goodnum}[1]{\textcolor{forest}{\textbf{#1}}}
\newcommand{\transitionslide}[1]{%
{\setbeamercolor{background canvas}{bg=navy}
\begin{frame}[plain]
\centering\vfill
{\color{white}\LARGE\bfseries #1}
\vfill
\end{frame}}
}
\newcommand{\takeaway}[1]{%
\begin{center}
\colorbox{warmgray}{\parbox{0.88\textwidth}{\centering\vspace{4pt}%
\color{navy}\bfseries #1\vspace{4pt}}}
\end{center}
}
% --- Packages ---
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
Color Usage Convention
| Color | Purpose | Command |
|---|---|---|
crimson | Emphasis, alerts, pre-cost/gross values | \emphnum{0.82\%} |
forest | Positive outcomes, post-cost/net values | \goodnum{0.33\%} |
navy | Headers, section transitions, primary branding | -- |
steel | Secondary text, captions | -- |
darkgray | Body text | -- |
warmgray | Takeaway box background | \takeaway{...} |
Slide Patterns
Results slide with assertion title:
\begin{frame}{Transaction costs halve momentum alpha}
\centering
\begin{tabular}{lccc}
\toprule
& Gross & Net & Cost (\%) \\
\midrule
UMD & \emphnum{0.65\%} & \goodnum{0.31\%} & 52\% \\
\bottomrule
\end{tabular}
\vspace{1em}
\small The assertion is in the title. The table is evidence.
\end{frame}
Transition slide:
\transitionslide{Main Results}
Step 4: The Compile Loop
ZERO TOLERANCE FOR WARNINGS.
Use the pdflatex path from canonical local state reported by tools/bootstrap.py audit (or a repo-root CLAUDE.local.md compatibility shim if present):
cd {decks_dir} && pdflatex -interaction=nonstopmode {file}.tex
Compile checklist:
- Compile --
pdflatex -interaction=nonstopmode - Check errors -- lines starting with
!(fatal) - Fix ALL warnings -- overfull/underfull hbox/vbox, even 0.5pt
- Check figures/tables -- labels positioned correctly? Text cut off?
- Recompile until zero warnings
Do not consider the deck finished until compile is completely clean.
Step 5: Self-Review
After clean compile, review the deck against these criteria:
- Can someone in the back row read every slide?
- Does every slide advance the argument?
- Is there only ONE idea per slide (external decks)?
- Do titles carry the argument when read in sequence?
- Is MB/MC equalized -- no overloaded or underloaded slides?
- Have you included a devil's advocate slide?
- Does the opening grab attention in 60 seconds?
- Does the closing give ONE memorable takeaway (not "Questions?")?
- Are colors used consistently (crimson = emphasis, forest = positive)?
Output
DECK BUILD REPORT
=================
File: {decks_dir}/{name}.tex
Status: SUCCESS / FAILED
Slides: N
Warnings: 0 (must be zero)
Errors: 0
Output: {decks_dir}/{name}.pdf
Narrative Templates
Project-specific narrative arcs belong in each project's
CLAUDE.md. Below are generic templates.
45-Minute Seminar (~30 slides)
- Title
- Hook: one surprising concrete fact
- Roadmap (3 items max) 4-5. Motivation: why this question matters 6-7. Data: scope, source, sample period 8-10. Methodology: identification strategy
- Transition 12-17. Main results with assertion titles
- Transition 19-22. Mechanism / decomposition 23-25. Robustness (one summary slide preferred)
- Devil's advocate
- The one takeaway 28-30. Backup slides
20-Minute Conference (~18 slides)
- Title
- Hook + key number
- Framework overview 4-5. Data 6-8. Methodology 9-13. Main results
- Robustness summary
- The one takeaway 16-18. Backup
Signals
- GitHub stars
- 59
- Forks
- 10
- Last commit
- Apr 2026
Advanced
- Catalog kind
- skill
- Gateway key
build-deck- Source
- github.com/alexander-m-dickerson/ai-asset-pricing