Skill Index

ai-asset-pricing/

build-deck

community[skill]

Create and compile Beamer presentations following the Rhetoric of Decks philosophy. Use when making seminar or conference slides.

$/plugin install ai-asset-pricing

details

Build Deck: Beamer Presentations with the Rhetoric of Decks

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?

  1. External -- Seminar, conference, discussant role (sparse, performative, one idea per slide)
  2. Working -- Coauthors, internal meeting (detailed, documentary, preserves uncertainty)

Question 2: What's the visual tone?

  1. Professional/Academic -- Use the house palette (navy/crimson/forest)
  2. 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:

  1. One idea per slide -- non-negotiable for external decks
  2. Titles are assertions -- "Transaction costs halve momentum alpha" not "Results"
  3. MB/MC equivalence -- equalize cognitive load across all slides
  4. 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

ColorPurposeCommand
crimsonEmphasis, alerts, pre-cost/gross values\emphnum{0.82\%}
forestPositive outcomes, post-cost/net values\goodnum{0.33\%}
navyHeaders, section transitions, primary branding--
steelSecondary text, captions--
darkgrayBody text--
warmgrayTakeaway 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:

  1. Compile -- pdflatex -interaction=nonstopmode
  2. Check errors -- lines starting with ! (fatal)
  3. Fix ALL warnings -- overfull/underfull hbox/vbox, even 0.5pt
  4. Check figures/tables -- labels positioned correctly? Text cut off?
  5. 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)

  1. Title
  2. Hook: one surprising concrete fact
  3. Roadmap (3 items max) 4-5. Motivation: why this question matters 6-7. Data: scope, source, sample period 8-10. Methodology: identification strategy
  4. Transition 12-17. Main results with assertion titles
  5. Transition 19-22. Mechanism / decomposition 23-25. Robustness (one summary slide preferred)
  6. Devil's advocate
  7. The one takeaway 28-30. Backup slides

20-Minute Conference (~18 slides)

  1. Title
  2. Hook + key number
  3. Framework overview 4-5. Data 6-8. Methodology 9-13. Main results
  4. Robustness summary
  5. The one takeaway 16-18. Backup

technical

github
Alexander-M-Dickerson/ai-asset-pricing
stars
49
license
MIT
contributors
1
last commit
2026-04-19T07:58:01Z
file
.claude/skills/build-deck/SKILL.md

related