This source did not publish a separate summary. Review SKILL.md before using the skill.
SKILL.md
Compile Deck
Create beautiful Beamer presentations. This skill enforces the Rhetoric of Decks philosophy through concrete, measurable rules — not aspirational guidance.
Step 1: Triage
Before touching anything, answer three questions:
Q1: New deck or editing existing?
If editing: Read the .tex file first. Understand its palette, structure, and style before changing anything.
If new: Proceed to Q2.
Q2: Who is the audience?
Academic seminar — sparse, one idea per slide, titles carry the argument
Teaching lecture — clarity over compression, repetition OK, progressive revelation
Working deck (coauthors) — more detail OK, document choices, preserve uncertainty
For alternative palettes, see palette_reference.md in this skill directory.
Step 4: Slide Architecture Patterns
Opening slide (first content slide after title)
NOT "Motivation" with bullet points. Instead:
A surprising fact or statistic (big number, centered)
A puzzle or unanswered question
A provocative claim that the deck will support
Transition slides
Use \transitionslide{Section Title}{Subtitle} for dark-background section dividers.
Closing slide
NOT "Questions?" or "Thank you." Instead:
The ONE sentence the audience should remember tomorrow
Full-bleed dark background with the takeaway centered
Devil's Advocate slide (academic decks)
Present the strongest objection to your argument, then respond to it. This builds credibility.
Format: "A skeptic would say..." followed by your response.
TikZ diagram slides
Read tikz_rules.md in this skill directory BEFORE creating any TikZ figure. The rules are measurement-based — they prevent text from overlapping arrows, boxes, and other objects.
Critical rule preview: Before placing a label between two nodes, CALCULATE the edge-to-edge gap and compare it to the estimated text width. If the text is wider than the gap minus 0.6cm padding, the label WILL collide. Move it above/below or shorten the text.
Step 5: The Compile Loop
After EVERY edit to a .tex file:
5a: Compile
pdflatex -interaction=nonstopmode [file].tex
5b: Check for fatal errors
grep "^!" [file].log
If any: fix, recompile, repeat.
5c: Check for ALL warnings
grep -cE "Overfull|Underfull" [file].log
This must return 0. For EACH warning:
Warning
Fix
Overfull \hbox
Rephrase shorter, use \adjustbox, add @{} to table columns
Underfull \hbox
Rephrase or adjust paragraph breaks
Overfull \vbox
Split the slide or reduce \vspace, tighten content
Underfull \vbox
Add \vfill or adjust spacing
Even 0.5pt overfull must be fixed. Do NOT proceed until the count is 0.
5d: Check fonts
grep -i "font" [file].log | grep -i "warning"
5e: TikZ verification (Bézier-first workflow)
TikZ errors don't trigger compile warnings. You must catch them yourself. Follow this order — curves first, everything else second:
Pass 1 — Find and fix all Bézier curves:
grep -n "bend" [file].tex
For EACH curved arrow found:
Calculate max depth: (chord / 2) × tan(bend_angle / 2)
Add 0.5cm safety margin
Check: is any label within the danger zone? Move it if so.
Check: does the curve cross any other arrow? Re-route if so.
Pass 2 — Everything else:
Gap calculation: for every label between two nodes, is estimated text width < usable gap?
Arrow labels: does every one have above, below, left, or right?
No nodes clipped by slide edges
All arrows pointing to intended targets
Pass 3 — Open the PDF and visually confirm.
Full rules and formulas are in tikz_rules.md. This verification runs on ALL TikZ figures in the deck, not just the one you just edited.
5f: Open the PDF
open [file].pdf
Step 6: The Narrative Arc
Every deck tells a story. The structure depends on context, but the principle is universal:
Act I — Setup: Establish the problem or question. Make the audience feel it.
Act II — Development: Present evidence, analysis, investigation. Build the logical case.
Act III — Resolution: Deliver the insight. State implications. Give the audience something to do or remember.
Within this arc, apply the Pyramid Principle: lead with the conclusion, then support it. Academic audiences expect this. Do not build suspense — state the finding, then prove it.
For domain-specific structures, see domain_patterns.md.
Step 7: Figure Generation
When a deck needs data visualizations:
Write a Python script (generate_figures.py) using matplotlib
Use the same color palette as the LaTeX deck
Save figures as PDF (vector, not raster) to a figures/ subdirectory
Every figure: one message, direct labels, title states the finding
Match the deck's background color in fig.set_facecolor()
Save the script alongside the figures — never generate a figure without preserving the code that created it
Boundary Rule applies to figures too: When placing ax.text() near patches (FancyBboxPatch, Circle, Rectangle), compute the patch boundary and verify text has ≥0.4cm clearance. See tikz_rules.md Pass 4.
Anchor-Based Centering Rule: When a container holds multiple text elements (title + math), do NOT use va='center' for both at symmetric offsets — multi-line text extends further from its anchor than single-line, creating visual asymmetry. Instead, anchor outward from center: upper element uses va='bottom' at center + gap, lower uses va='top' at center - gap. See tikz_rules.md Pass 4.
Bézier-first for matplotlib arrows: When labeling curved arrows (arc3), compute the actual Bézier curve position using the arc3 control point formula (cx = mid_x + rad*dy, cy = mid_y - rad*dx), then offset labels perpendicular to the computed curve position. Never guess where curves pass. Use a white-background bbox on labels for readability. See tikz_rules.md Pass 4 for the full formula and workflow.
Quick Reference
Principle
Rule
Ideas per slide
ONE
Title style
Assertion, not label
Minimum font
24pt (18pt floor)
Bullets
Avoid — find the structure
White space
Confidence, not waste
Charts
One message, direct labels
Compile target
Zero warnings
Opening slide
Puzzle, surprise, or provocation
Closing slide
One memorable takeaway
TikZ labels
Calculate the gap (see tikz_rules.md)
Color palette
10+ colors, warm by default
Narrative
Setup, Development, Resolution
Supporting Files
All in this skill directory (~/.claude/skills/compiledeck/):
tikz_rules.md — Measurement-based TikZ collision prevention rules. READ THIS before creating any TikZ diagram.
palette_reference.md — Four real palettes extracted from existing decks, with a selection guide.
domain_patterns.md — Detailed structural patterns for academic seminars, teaching lectures, and working decks.
Full Philosophy Reference
For the complete essay behind these principles:
~/MixtapeTools/presentations/rhetoric_of_decks.md~/MixtapeTools/presentations/rhetoric_of_decks_full_essay.md
This skill distills those essays into operational rules. You don't need to re-read them — just follow the rules above.