beamer

Beamer LaTeX slide workflow: create, compile, review, and polish academic presentations. Use this skill whenever the user works on Beamer .tex slide decks, or asks to create slides, make a presentation, prepare a lecture, build a talk, or generate Beamer slides from a paper. Covers: creation, editing, compilation, proofreading, visual audit, pedagogical review, TikZ diagrams, figure extraction, and comprehensive quality checks. Trigger on: beamer, slides, lecture, presentation, seminar talk, conference talk, defense slides, tikz, compile latex, proofread slides, slide review, 讨论班, 论文讲解. Do NOT trigger on: powerpoint, pptx, PPT, 做PPT — use the powerpoint-slides skill instead.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "beamer" with this command: npx skills add Noi1r/beamer-slide

Beamer Slide Workflow

Universal skill for academic Beamer presentations. Full lifecycle: create → compile → review → polish → verify.


0. REFERENCE PREAMBLE

When creating new slides, use this as the default preamble unless the user has a custom template.

\documentclass[aspectratio=169,10pt]{beamer}

\usetheme{Madrid}
\usecolortheme{default}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]

\usepackage{amsmath,amssymb,amsthm,booktabs,mathtools}
\usepackage{stmaryrd}  % for \llbracket, \rrbracket
\usepackage{graphicx}  % for \includegraphics (extracted figures)
\usepackage{hyperref}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning,decorations.pathreplacing}

% Semantic colors — use in BOTH text and TikZ for global consistency
\definecolor{positive}{HTML}{0173B2}       % blue (correct, advantage)
\definecolor{negative}{HTML}{DE8F05}       % orange (limitation, drawback)
\definecolor{emphasis}{HTML}{029E73}        % green (highlight, key finding)
\definecolor{neutral}{gray}{0.55}          % muted context
\definecolor{cbPurple}{HTML}{CC78BC}        % additional accent
\newcommand{\pos}[1]{\textcolor{positive}{#1}}
\newcommand{\con}[1]{\textcolor{negative}{#1}}
\newcommand{\HL}[1]{\textcolor{emphasis}{#1}}

Rules:

  • Always 10pt11pt or 12pt produces oversized, sparse slides.
  • Always aspectratio=169 — modern projectors are 16:9.
  • Default presenter: \author{Presenter: [name]} and \institute{[University]}. Replace [name] and [University] with user-provided values; ask if not specified.
  • If user provides a custom preamble, header file, or theme: use theirs.
  • Add domain-specific macros (e.g. \newcommand{\F}{\mathbb{F}}) as needed.
  • Algorithm/code packages (add only when needed):
    • Algorithms: \usepackage[ruled,lined]{algorithm2e} — set \SetAlgoLined, \DontPrintSemicolon
    • Code listings: \usepackage{listings} — set basicstyle=\ttfamily\small, keywordstyle=\bfseries\color{positive}, commentstyle=\color{neutral}. Max 10 lines of code per slide; highlight key lines with escapeinside={(*@}{@*)} and \colorbox.
    • Pseudocode: \usepackage{algorithmic} — simpler than algorithm2e, suitable for short procedures.
  • Data plotting (add only when needed):
    • \usepackage{pgfplots} + \pgfplotsset{compat=1.18} — data-driven plots (bar, scatter, error bars, histograms). Far more efficient than manual TikZ coordinate plots for data visualization.
    • \usepackage{subcaption} — multiple subfigures in one frame via \begin{subfigure}{0.48\textwidth}.
  • Theorem environments: Beamer provides theorem, lemma, corollary, definition, example, proof out of the box (styled by the theme). Use them for formal statements — they get automatic numbering and consistent styling. Customize with \setbeamertemplate{theorems}[numbered] or [ams style].

1. HARD RULES (Non-Negotiable)

  1. No overlays — never use \pause, \onslide, \only, \uncover. Use multiple slides for progressive builds, color emphasis for attention.
  2. Max 2 colored boxes per slide — more dilutes emphasis. Demote transitional remarks to plain italic.
  3. Motivation before formalism — every concept starts with "Why?" before "What?".
  4. Worked example within 2 slides of every definition.
  5. XeLaTeX only — never pdflatex.
  6. Beamer .tex is the single source of truth — TikZ diagrams, content, notation all originate here.
  7. Verify after every task — compile, check warnings, open PDF.
  8. Telegraphic style — keyword phrases, not full sentences. Slides are speaker prompts, not manuscripts. Exception: framing sentences that set up a definition or transition.
  9. Every slide earns its place — each slide must contain at least one substantive element (formula, diagram, table, theorem, or algorithm). A slide with only 3 short bullets and nothing else must be merged or enriched.
  10. Box-interior overflow guardalertblock, exampleblock, and block environments add internal padding (~15% less width, ~12-16pt extra height for title bar + vertical padding). Content that fits on a bare slide can overflow inside a box in both directions. Rules:
    • Vertical overflow (most common, hardest to detect): display math (\[ \]) + text below it inside a single box easily exceeds vertical capacity. Limit box content to one display equation OR 2-3 short bullet items — not both. Never use aggressive \vspace{-Xpt} inside a box; it pulls bottom content past the border.
    • Horizontal overflow: never use \qquad inside a box; use \quad or ,. If a display equation is wider than ~70% of \textwidth on a bare slide, reformat before placing inside a box.
    • Beamer suppresses overfull warnings inside blocks — zero compile warnings does NOT guarantee no visual overflow. Always visually verify every box in the PDF.
  11. Reference slide — the second-to-last slide (before Thank You) must be a References slide listing key cited works. Use \begin{thebibliography}{9} with \small. Include the primary paper and 3-5 most relevant references.
  12. Color and contrast standards — text-background contrast ratio ≥ 4.5:1 (WCAG AA). Never use red+green for binary contrasts (color blindness affects ~8% of men). Prefer blue+orange. Semantic color commands defined in preamble: \pos{} = positive/correct (blue), \con{} = negative/limitation (orange), \HL{} = emphasis/key finding (green), \textcolor{neutral}{} = de-emphasized. These are color-blind safe. Limit total palette to 3-5 colors.
  13. Visual hierarchy in font sizes — slide title: 20-24pt (beamer default), key findings/theorems: normal size with \textbf, supporting text: normal, labels/captions: \small minimum. Never use \tiny for any user-facing content.
  14. Backup slides — after the Thank You slide, include 3-5 backup slides for anticipated questions (detailed proofs, extended comparisons, additional experimental results). Use \appendix before backup section. Separate from main deck with a \begin{frame}{Backup Slides}\end{frame} divider. Backup slides should NOT count toward the timing allocation.
  15. Columns layout — use \begin{columns}[T] + \column{W\textwidth} for side-by-side content. Rules:
    • Comparison / parallel content: two columns at 0.48\textwidth each (leave 0.04 gap).
    • Figure + text: figure column 0.45-0.55, text column 0.40-0.50, gap 0.05.
    • Three columns maximum: each ≤ 0.30\textwidth, only for short items (icons, stats, one-liners).
    • Never nest columns inside columns.
    • Always use [T] (top-align) unless deliberately centering.
    • Columns content follows the same density constraints as regular slides.

2. ACTIONS

Parse $ARGUMENTS to determine which action to run. If no action specified, ask.

2.1 compile [file]

3-pass XeLaTeX + bibtex for full citation resolution.

# Adapt TEXINPUTS/BIBINPUTS to your project's preamble/bib locations
xelatex -interaction=nonstopmode FILE.tex
bibtex FILE
xelatex -interaction=nonstopmode FILE.tex
xelatex -interaction=nonstopmode FILE.tex

Post-compile checks:

  • Grep log for Overfull \\hbox warnings (count and locations)
  • Grep for Undefined control sequence or undefined citations
  • Grep for Label(s) may have changed
  • Open PDF for visual verification
  • Report: success/failure, overfull count, undefined items, page count

2.2 create [topic]

Collaborative, iterative lecture creation. Strict phase gates — never skip ahead.

Phase 0: Material Analysis (if papers/materials provided)

Read first, ask later. Must understand the content before asking meaningful questions.

  • Read the full paper/materials thoroughly
  • Extract: core contribution, key techniques, main theorems, comparison with prior work
  • Map notation conventions
  • Identify the paper's logical structure and which parts are slide-worthy
  • Internally note: prerequisite knowledge, natural section boundaries, what could be skipped or expanded

Do NOT present results or ask questions yet — proceed directly to Phase 1.

Phase 1: Needs Interview (MANDATORY — informed by Phase 0)

Conduct a content-driven interview via AskUserQuestion. The questions below are the minimum required set — you MUST also add paper-specific questions derived from Phase 0.

Minimum required questions (always ask):

  1. Duration: How long is the presentation?
  2. Audience level: Who are the listeners?

Content-driven questions (derive from Phase 0, ask as many as needed):

  • Prerequisite knowledge: List concrete technical dependencies identified in Phase 0. Ask which ones the audience knows. E.g., "The paper builds on sumcheck and polynomial commitments. Should I review these?" — not "familiar with basic algebra?".
  • Content scope: Offer the paper's actual components as options. Ask which to emphasize, skip, or briefly mention.
  • Depth vs. breadth: If the paper has both intuitive overview and detailed constructions, ask which the user prefers.
  • Paper-specific decisions: E.g., if the paper compares two constructions, ask whether to present both equally or focus on one.

Guidelines:

  • Options should come from the paper's actual content, not generic templates.
  • 3-6 questions total; don't over-ask, don't under-ask.
  • If something is obvious from context (e.g., user said "讨论班"), infer rather than ask.

Slide count heuristic: ~1 slide per 1.5-2 minutes.

Timing allocation table:

DurationTotal slidesIntro/MotivationMethods/BackgroundCore contentSummary/Conclusion
5min (lightning)5-71-20-12-31
10min (short)8-1221-24-51
15min (conference)10-152-32-35-71-2
20min (seminar)13-1832-36-92
45min (keynote)22-304-55-710-142-3
90min (lecture)45-605-68-1225-353-4

Talk-type specific tips:

Talk typeKey emphasisCommon mistake
Lightning (5min)One core message, no background reviewCramming a full talk into 5 minutes
Conference (10-20min)1-2 key results, fast methods overviewToo much technical detail, no big picture
Seminar (45min)Deep dive OK, but need visual rhythmWall-to-wall formulas without examples
Defense/ThesisDemonstrate mastery, systematic coverageSkipping motivation, rushing results
Journal clubCritical analysis, facilitate discussionSummarizing without evaluating
Grant pitchSignificance → feasibility → impactToo technical, not enough "why it matters"

Time distribution principle: Spend 40-50% of time on core content (results/techniques). Max 3-4 consecutive theory-heavy slides before a worked example or visual break.

Phase 2: Structure Plan (GATE — user must approve before drafting)

Produce a detailed outline. For each section:

  • Section title
  • Number of slides allocated
  • Key content points per slide (1-2 lines each)
  • TikZ diagrams or figures planned (brief description)
  • Notation to introduce

Present the plan to the user. Ask: structure OK? Expand/shrink/cut anything?

Do NOT proceed to drafting until user approves.

Phase 3: Draft (iterative, batched)

This phase is the most critical. Follow all sub-rules strictly.

3a. Writing Style
  • Telegraphic keywords, not full sentences. Exception: one framing sentence per slide to set context.
  • Formulas and analysis interleave tightly — define a quantity, then immediately state its cost/property/implication on the same slide. Never isolate a formula on one slide and its analysis on the next.
  • No conversational hedging — never write "wait, not exactly", "actually, let me clarify", or similar. If a point needs qualification, state it precisely from the start.
  • Use \textbf{} for key terms on first introduction; use \pos{...} for positive properties, \con{...} for drawbacks/limitations, \HL{...} for key findings (defined in preamble).
3a-2. Opening and Closing Strategies

Opening slide (pick one strategy):

  • Surprising statistic — a counter-intuitive number that challenges assumptions
  • Provocative question — something the audience cannot immediately answer
  • Real-world failure/problem — "System X failed because..." → "How do we prevent this?"
  • Visual demonstration — show the phenomenon before explaining it

The opening should create tension or curiosity that the rest of the talk resolves.

Closing strategies:

  • Call-back to opening — revisit the opening question/problem, now answered (circular narrative)
  • 3 key takeaways — numbered, telegraphic, one slide. The audience remembers the last thing they see.
  • Open question / future direction — leave the audience thinking, naturally invites Q&A
  • Never end on a bare "Thank You" — the second-to-last content slide should deliver the lasting impression. The Thank You slide is a courtesy, not the conclusion.
3b. Mathematical Slide Patterns

Each math-heavy slide should follow one of these patterns:

Definition slide:

[Framing sentence: why this definition matters]
[Formal definition in display math]
[Key properties / immediate consequences as 2-3 bullet items]

Construction/Algorithm slide:

[One-line goal statement]
[Core equation / algorithm steps]
[Complexity analysis: prover cost, verifier cost, soundness]

Comparison slide:

[Side-by-side table: prior work vs this work]
[1-2 lines highlighting the key difference]

Insight/Remark slide (adds value beyond the paper):

[Observation the paper doesn't emphasize, or a comparison with related work]
[Why this matters / what it implies]

Every slide must have a clear takeaway — the one thing the audience should remember.

Theorem/Proof slide (for formal mathematical statements):

[Framing sentence: informal statement of the result]
\begin{theorem}[Optional name]
  [Formal statement in display math]
\end{theorem}
[Key implication or "why this matters" as 1-2 bullets]
  • Proof on the next slide (never cramming theorem + proof on one slide).
  • For long proofs: show proof sketch (key steps only), put full proof in backup slides.
  • Use \begin{proof}[Proof sketch] to signal abbreviated proofs.

Cross-referencing between slides:

  • Label key slides with \label{slide:construction} inside the frame.
  • Reference from other slides: see Slide~\ref{slide:construction} or clickable \hyperlink{slide:construction}{\beamerbutton{Back to Construction}}.
  • Especially useful for Q&A — quickly jump back to a referenced result.
  • In backup slides, always hyperlink back to the main slide that motivates them.
3c. Content Density Constraints

Upper bounds (per slide):

  • ≤ 7 bullet points or items
  • ≤ 2 displayed equations (more → split)
  • ≤ 5 new symbols introduced
  • ≤ 2 colored boxes (alertblock/exampleblock)

Lower bounds (per slide):

  • Each slide MUST contain at least one substantive element: a formula, diagram, table, theorem statement, or algorithm
  • A slide with only ≤ 3 short text-only bullets is too sparse — merge with an adjacent slide or add a formula/diagram
  • Pure text-only bullet slides should be ≤ 30% of the total deck

Density self-check after each batch:

  • Count slides that have zero formulas/diagrams/tables → flag if > 30% of batch
  • Count slides with ≤ 3 short items and no math → candidates for merging
3d. Batch Workflow
  • Work in batches of 5-10 slides, following the approved structure
  • After each batch, self-check: notation consistency, density constraints, motivation-before-formalism
  • Continue to next batch only after current batch passes self-check
3e. Table Best Practices
  • Always use booktabs (\toprule, \midrule, \bottomrule) — never vertical lines (|).
  • Column alignment: numbers right-aligned (r), text left-aligned (l), short labels centered (c).
  • Max 6-7 columns, 8-10 rows per slide. More → split across slides or use highlighting to show subset.
  • Use \resizebox{\textwidth}{!}{...} only as last resort — prefer reducing columns/rows first.
  • Highlight key cells with \cellcolor{positive!15} or \textbf{} — draw the eye to the result.
  • For comparison tables: bold the best result in each row/column.
  • Caption below table in \small, or use the frame title as the implicit caption.
3f. Algorithm and Code Display
  • Pseudocode ≤ 10 lines per slide. If longer, split into "high-level overview" and "key subroutine" slides.
  • Highlight the critical line(s): use escapeinside in listings or \colorbox in algorithm2e.
  • Input/output clearly stated at the top of the algorithm.
  • Use consistent naming: variables in math italic ($x$), functions in sans-serif or typewriter.
  • For code (not pseudocode): \ttfamily\small, syntax highlighting via listings. Show only the relevant fragment — never dump an entire source file.

Phase 4: Figures

  • TikZ diagrams in Beamer source (single source of truth)
  • Apply TikZ quality standards (see Section 2.6)
  • R/Python scripts if needed

Data visualization guidelines (journal figures ≠ slide figures):

  • Simplify ruthlessly — remove minor gridlines, detailed legends (label directly on plot), secondary axes. Show only data supporting the current slide's point.
  • Enlarge everything — axis labels ≥ 18pt, line width 2-4pt, marker size 8-12pt. If unreadable at 2-3 feet from laptop, it fails on a projector.
  • Direct labeling — label lines/bars directly instead of using a separate legend. Reduces cognitive load.
  • One message per figure — split multi-panel journal figures across multiple slides. Each slide shows one comparison.
  • Highlight the result — key data in bold saturated color, comparison data in muted gray. Use \textcolor{blue!70!black}{...} for the key finding, gray for reference.
  • Color-blind safe palette — prefer blue (#0173B2) + orange (#DE8F05) over red + green. Add line style differences (solid/dashed/dotted) as redundant encoding. In TikZ:
    \definecolor{cbBlue}{HTML}{0173B2}
    \definecolor{cbOrange}{HTML}{DE8F05}
    \definecolor{cbGreen}{HTML}{029E73}
    \definecolor{cbPurple}{HTML}{CC78BC}
    
  • Progressive disclosure — for complex figures, build incrementally: axes → first dataset → comparison → annotation with finding. Use separate slides (not \pause).
  • Subfigures — use \begin{subfigure}{0.48\textwidth} (requires subcaption package) for side-by-side panels in one frame. Each subfigure gets its own \caption{(a) ...}. Preferred over raw \includegraphics side-by-side when panels need individual captions. Max 2 subfigures per slide (4 panels = split across 2 slides).

pgfplots for data-driven figures (preferred over manual TikZ for data):

Use pgfplots whenever plotting numerical data. It handles axes, legends, scaling, and data loading automatically.

% Bar chart from inline data
\begin{tikzpicture}
\begin{axis}[
  ybar, bar width=12pt,
  xlabel={Method}, ylabel={Accuracy (\%)},
  symbolic x coords={Baseline, Ours, Oracle},
  xtick=data, ymin=0, ymax=100,
  nodes near coords, every node near coord/.append style={font=\small},
  width=0.85\textwidth, height=5cm
]
  \addplot coordinates {(Baseline,72) (Ours,89) (Oracle,95)};
\end{axis}
\end{tikzpicture}
% Line plot from CSV file
\begin{tikzpicture}
\begin{axis}[
  xlabel={Epoch}, ylabel={Loss},
  legend pos=north east, grid=major,
  width=0.85\textwidth, height=5cm
]
  \addplot table[x=epoch, y=train_loss, col sep=comma] {data/results.csv};
  \addplot table[x=epoch, y=val_loss, col sep=comma] {data/results.csv};
  \legend{Train, Validation}
\end{axis}
\end{tikzpicture}
% Scatter plot with error bars
\begin{axis}[xlabel={$x$}, ylabel={$y$}]
  \addplot+[only marks, error bars/.cd, y dir=both, y explicit]
    coordinates {(1,2)+-(0,0.3) (2,3.5)+-(0,0.5) (3,5.1)+-(0,0.4)};
\end{axis}
  • Always set explicit width and height to prevent overflow.
  • Use \addplot table[col sep=comma]{file.csv} to load data from file — keeps .tex clean.
  • For presentation: enlarge tick labels (tick label style={font=\small}), thicken lines (thick), use semantic colors (color=positive).

Phase 5: Quality Loop (MANDATORY — iterative)

After completing the full draft, enter the quality loop:

┌─→ 5a. Compile (2-pass XeLaTeX)
│   5b. Self-Review (structure + content + visual)
│   5c. Score (apply rubric)
│   5d. Fix all issues found
└── If score < 90 and round < 3: loop back to 5a
    If score ≥ 90 or round = 3: report to user

5a. Compilation

  • 2-pass XeLaTeX compilation (bibtex not needed here — already resolved in Phase 3 batch compiles)
  • Check: errors, overfull hbox, undefined references
  • Open PDF for visual inspection

5b. Self-Review — re-read the .tex and verify:

Structure:

  • Slide count matches plan (±2 tolerance)
  • Logical flow: motivation → background → technique → results → summary
  • No section has >4 consecutive formal slides without a worked example or visual break
  • Transition sentences between major sections

Content density:

  • No slide has only ≤3 short bullets with no math/diagram
  • Pure text-only slides ≤ 30% of deck
  • No slide exceeds upper bounds (7 bullets, 2 equations, 5 symbols, 2 boxes)

TikZ and visuals:

  • No label-label or label-curve overlaps
  • No content overflowing slide boundary
  • No content overflowing inside colored boxes (alertblock/exampleblock/block have ~85% effective width; visually verify every box in PDF)
  • TikZ diagram fits within remaining slide space — for mixed slides (text + diagram), verify the diagram's bounding box height + text height ≤ ~70mm. Common failure: large TikZ scale + multiple equations above = diagram clipped at bottom
  • All marked points lie on their curves — for every \fill, \node, or \draw endpoint that should be on a plotted curve, verify the y-coordinate is computed via \pgfmathsetmacro from the same function, NOT hardcoded. Visually check in PDF that dots/markers visually sit on the curve line
  • Dashed reference lines terminate at the curve — vertical/horizontal guide lines should end exactly where they meet the curve, not at arbitrary y-values
  • Tables fit within slide width
  • Font sizes in TikZ ≥ \footnotesize
  • Consistent styling across all diagrams

Notation:

  • Same symbol used consistently throughout
  • Every symbol defined before use

5c. Quality Score

Start at 100. Deduct:

SeverityIssueDeduction
CriticalCompilation failure-100
CriticalEquation overflow (slide or box-interior)-20
CriticalTikZ diagram overflows slide boundary (clipped at bottom/right)-15 per diagram
CriticalUndefined control sequence / citation-15
CriticalOverfull hbox > 10pt-10
MajorContent overflow inside colored box (vertical or horizontal, visual-only)-10 per box
MajorTikZ marked points not on curve (hardcoded y-values instead of computed)-8 per diagram
MajorSparse slide (≤3 items, no math/diagram)-5 per slide
MajorTikZ label overlap-5
MajorMissing references slide-5
MajorNotation inconsistency-3
Minor\vspace overuse (>3 per slide)-1
MinorFont size reduction (\footnotesize etc.)-1 per slide

Thresholds:

  • ≥ 90: Ready to deliver. Report to user.
  • 80-89: Acceptable. Fix remaining majors if possible, report with caveats.
  • < 80: Must fix. Loop back and resolve critical/major issues.

5d. Fix — fix all critical and major issues. Re-compile. If score improves to ≥ 90, exit loop. Max 3 rounds to avoid infinite loops.

Post-Creation Checklist (final gate)

[ ] Compiles without errors
[ ] No overfull hbox > 10pt
[ ] All citations resolve
[ ] Score ≥ 90
[ ] Every definition has motivation + worked example
[ ] Max 2 colored boxes per slide
[ ] No sparse slides (all slides have substantive content)
[ ] TikZ diagrams visually verified — no overlaps, no overflow, all marked points on curves
[ ] Tables fit within slide boundaries
[ ] No content overflow inside colored boxes (visual PDF check)
[ ] References slide present (second-to-last, before Thank You)

2.3 review [file] or proofread [file]

Read-only report, no file edits.

5 check categories:

CategoryWhat to check
GrammarSubject-verb, articles, prepositions, tense consistency
TyposMisspellings, search-replace artifacts, duplicated words, unreplaced placeholders ([name], [TODO], [XXX], template remnants)
OverflowLong equations without \resizebox, too many items per slide
ConsistencyCitation format (\citet/\citep), notation, terminology, box usage, denominator consistency across slides
Academic qualityInformal abbreviations, missing words, claims without citations, ambiguous abbreviations (same abbreviation for different terms)

Report format per issue:

### Issue N: [Brief description]
- **Location:** [slide title or line number]
- **Current:** "[exact text]"
- **Proposed:** "[fix]"
- **Category / Severity:** [Category] / [High|Medium|Low]

2.4 audit [file]

Visual layout audit. Read-only report.

Check dimensions:

  • Overflow: Content exceeding boundaries, wide tables/equations
  • Font consistency: Inline size overrides, inconsistent sizes
  • Box fatigue: 2+ boxes per slide, wrong box types
  • Spacing: \vspace overuse, structural issues
  • Layout: Missing transitions, missing framing sentences

Spacing-first fix principle (priority order):

  1. Reduce vertical spacing (structural changes)
  2. Consolidate lists
  3. Move displayed equations inline
  4. Reduce image/table size with \resizebox
  5. Last resort: \footnotesize (never \tiny)

2.5 pedagogy [file]

Holistic pedagogical review. Read-only report.

13 patterns to validate:

#PatternRed flag
1Motivation before formalismDefinition without context
2Incremental notation5+ new symbols on one slide
3Worked example after definition2 consecutive definitions, no example
4Progressive complexityAdvanced concept before prerequisite
5Fragment reveals (problem→solution)Dense theorem revealed all at once
6Standout slides at pivotsAbrupt topic jump, no transition
7Two-slide strategy for dense theoremsComplex theorem crammed in 1 slide
8Semantic color usageBinary contrasts in same color
9Box hierarchyWrong box type for content
10Box fatigue3+ boxes on one slide
11Socratic embeddingZero questions in entire deck
12Visual-first for complex conceptsNotation before visualization
13Side-by-side for comparisonsSequential slides for related definitions

Deck-level checks: Narrative arc, pacing (max 3-4 theory slides before example), visual rhythm (section dividers every 5-8 slides), notation consistency, student prerequisite assumptions.

2.6 tikz [file]

TikZ diagram review and extraction.

Quality standards:

  • Labels NEVER overlap with curves, lines, dots, or other labels

  • When two labels are near the same vertical position, stagger them

  • Visual semantics: solid=observed, dashed=counterfactual, filled=observed, hollow=counterfactual

  • Line weights: axes=thick, data=thick, annotations=thick (not very thick)

  • Standard scale: [scale=1.1] for full-width diagrams

  • Dot radius: 4pt for data points

  • Minimum 0.2 units between any label and nearest graphical element

  • Mathematical accuracy of plotted points: NEVER hardcode y-coordinates for points, markers, or dashed-line endpoints that should lie on a plotted curve. ALL such coordinates must be computed from the SAME function used to draw the curve via \pgfmathsetmacro. This applies to:

    • Points marked on a single curve (e.g., labeled special values like "BiPerm at ℓ=2")
    • Dashed vertical/horizontal lines that terminate at a curve
    • Intersections of two curves
    • Any annotation anchored to a curve position

    Common mistake (WRONG — hardcoded y that doesn't match the curve):

    \draw[thick] plot[domain=0.8:10] (\x, {0.3*\x + 2.7/\x});
    \draw[dashed] (2, 0) -- (2, 3.2);  % BAD: 3.2 is not 0.3*2+2.7/2=1.95
    \node at (2, 3.2) {BiPerm};         % BAD: label floats above the curve
    

    Correct pattern (ALWAYS compute from the function):

    \draw[thick] plot[domain=0.8:10] (\x, {0.3*\x + 2.7/\x});
    \pgfmathsetmacro{\yTwo}{0.3*2 + 2.7/2}  % = 1.95, exactly on curve
    \draw[dashed] (2, 0) -- (2, \yTwo);
    \fill (2, \yTwo) circle (2pt);
    \node[above left] at (2, \yTwo) {BiPerm};
    

    For curve intersections, solve the system algebraically first, then encode the exact formula:

    % Intersection of y=0.5x and y=2.5/x+0.3:
    % 0.5x = 2.5/x + 0.3 => x^2 - 0.6x - 5 = 0 => x = (0.6+sqrt(20.36))/2
    \pgfmathsetmacro{\xint}{(0.6 + sqrt(20.36))/2}
    \pgfmathsetmacro{\yint}{0.5*\xint}
    \fill (\xint, \yint) circle (3pt);
    
  • TikZ diagram sizing on mixed-content slides: a TikZ diagram sharing a slide with text/equations MUST fit in the remaining vertical space. Beamer 16:9 at 10pt has ~70mm usable height below the title bar. Before writing the TikZ code, estimate:

    1. Text + equations above the diagram: count displayed equations (each ~12-15mm) + text lines (~5mm each) + spacing
    2. Remaining height = 70mm − text height
    3. TikZ bounding box height = (max y-coordinate − min y-coordinate) × yscale × 0.3528mm/pt
    4. If the diagram won't fit: reduce yscale, shrink coordinate ranges, or move content to a separate slide

    Safe defaults for mixed slides: xscale=0.5-0.7, yscale=0.4-0.6. For full-slide diagrams: scale=0.9-1.1.

  • Edge labels on short arrows: when placing node[midway, above] labels on arrows between boxes, the label text can extend past the arrow endpoints into adjacent box borders. Prevention rules:

    1. Estimate label text width vs. arrow length (right= gap). If the label is wider than ~80% of the gap, increase the gap or shrink the label font (\scriptsize / \tiny).
    2. Use above=4pt (or more) instead of bare above to add vertical clearance between label and box border.
    3. For flow diagrams with 3+ boxes: total width = (N × box width) + ((N-1) × gap). Must stay ≤ 14cm for 16:9 beamer. Adjust box text width and gap together.
    4. When in doubt, compile and visually verify that no label overlaps any box border.

Extraction to SVG (for web/Quarto use):

xelatex -interaction=nonstopmode extract_tikz.tex
PAGES=$(pdfinfo extract_tikz.pdf | grep "Pages:" | awk '{print $2}')
for i in $(seq 1 $PAGES); do
  idx=$(printf "%02d" $((i-1)))
  pdf2svg extract_tikz.pdf tikz_exact_$idx.svg $i
done

TikZ checklist:

[ ] No label-label overlaps
[ ] No label-curve overlaps
[ ] No edge labels overlapping adjacent nodes (check label width vs. arrow length)
[ ] Diagram bounding box fits within remaining slide space (especially mixed text+diagram slides)
[ ] ALL marked points/dots/line-endpoints on curves computed via \pgfmathsetmacro from the SAME function — no hardcoded y-values
[ ] Dashed reference lines terminate exactly at the curve, not at arbitrary coordinates
[ ] Consistent dot style (solid=observed, hollow=counterfactual)
[ ] Consistent line style (solid=observed, dashed=counterfactual)
[ ] Arrow annotations: FROM label TO feature
[ ] Axes extend beyond all data points
[ ] Labels legible at presentation size
[ ] Minimum spacing between labels and graphical elements

Common TikZ diagram patterns:

Use these as starting points, then customize. All patterns assume arrows.meta, positioning, decorations.pathreplacing libraries are loaded (included in default preamble).

Flowchart (horizontal):

\begin{tikzpicture}[
  box/.style={draw, rounded corners, minimum width=2.2cm, minimum height=0.8cm,
              font=\small, fill=positive!10},
  arr/.style={-{Stealth}, thick}
]
  \node[box] (A) {Step 1};
  \node[box, right=1.5cm of A] (B) {Step 2};
  \node[box, right=1.5cm of B] (C) {Step 3};
  \draw[arr] (A) -- node[above, font=\scriptsize] {label} (B);
  \draw[arr] (B) -- (C);
\end{tikzpicture}
  • Total width ≤ 14cm for 16:9. Formula: N × box_width + (N-1) × gap.
  • For vertical flows: use below= instead of right=.

Timeline:

\begin{tikzpicture}
  \draw[-{Stealth}, thick] (0,0) -- (12,0) node[right] {Time};
  \foreach \x/\lab in {1.5/Event A, 5/Event B, 9/Event C} {
    \draw[thick] (\x, 0.15) -- (\x, -0.15);
    \node[above=3pt, font=\small] at (\x, 0.15) {\lab};
  }
\end{tikzpicture}

Tree diagram:

\begin{tikzpicture}[
  level distance=1.2cm, sibling distance=2.5cm,
  every node/.style={draw, rounded corners, font=\small, minimum width=1.5cm}
]
  \node {Root}
    child { node {A} child { node {A1} } child { node {A2} } }
    child { node {B} child { node {B1} } };
\end{tikzpicture}

Annotated brace:

\draw[decorate, decoration={brace, amplitude=6pt, raise=2pt}]
  (start) -- (end) node[midway, above=10pt, font=\small] {annotation};

Coordinate plot with computed intersection:

\begin{tikzpicture}[scale=1.1]
  \draw[-{Stealth}, thick] (0,0) -- (6,0) node[right] {$x$};
  \draw[-{Stealth}, thick] (0,0) -- (0,4) node[above] {$y$};
  \draw[thick, positive] plot[smooth, domain=0.5:5.5] (\x, {0.5*\x});
  \draw[thick, negative, dashed] plot[smooth, domain=0.5:5.5] (\x, {2.5/\x + 0.3});
  % Exact intersection via \pgfmathsetmacro (see quality standards above)
\end{tikzpicture}

Decision diamond (for algorithm flowcharts):

\node[diamond, draw, aspect=2, inner sep=1pt, font=\small] (D) {condition?};
\draw[arr] (D) -- node[right, font=\scriptsize] {yes} ++(0,-1.2);
\draw[arr] (D) -- node[above, font=\scriptsize] {no} ++(2.5,0);

Iterative TikZ review loop (for complex diagrams):

When a TikZ diagram has ≥ 5 nodes or involves plotted curves, run an iterative review:

┌─→ Step 1: Mentally render — trace every coordinate, compute where each element appears
│   Step 2: Check for issues — overlaps, misalignments, inconsistent semantics
│   Step 3: Classify — CRITICAL (overlap, wrong semantics, geometric error),
│                       MAJOR (poor spacing, readability), MINOR (aesthetic)
│   Step 4: Fix all CRITICAL and MAJOR issues
│   Step 5: Re-compile and visually verify in PDF
└── If CRITICAL or MAJOR remain and round < 3: loop back to Step 1
    If all clear or round = 3: declare APPROVED or report remaining issues

Verdict criteria:

  • APPROVED: Zero CRITICAL, zero MAJOR → diagram is complete
  • NEEDS REVISION: CRITICAL or MAJOR issues remain → list exact fixes needed
  • REJECTED: Fundamental structural problems → consider redesigning the diagram

2.7 excellence [file]

Comprehensive multi-dimensional review. Use the Agent tool to dispatch review agents in parallel for maximum efficiency.

Parallel agent dispatch — launch these as concurrent Agent calls:

  1. Visual audit agent — "Read [file]. Check every slide for: overflow, font consistency, box fatigue (2+ boxes), spacing issues, missing transitions. Report per slide with severity. Follow spacing-first fix principle."
  2. Pedagogical review agent — "Read [file]. Validate 13 pedagogical patterns (motivation before formalism, incremental notation, worked examples, etc.) and deck-level checks (narrative arc, pacing, visual rhythm, notation consistency). Report pattern-by-pattern with status."
  3. Proofreading agent — "Read [file]. Check grammar, typos, citation consistency (\citet/\citep), notation consistency, academic quality. Report per issue with location and fix."
  4. TikZ review agent (if file contains \begin{tikzpicture}) — "Read [file]. For every TikZ diagram: check label overlaps, geometric accuracy, visual semantics, spacing. Be merciless — find every flaw. Report per issue with exact coordinates and fixes."
  5. Domain review agent (optional) — "Read [file]. Verify substantive correctness: assumptions, derivations, citation fidelity."

After all agents return, synthesize a combined report:

# Slide Excellence Review: [Filename]

## Overall Quality Score: [EXCELLENT / GOOD / NEEDS WORK / POOR]

| Dimension | Critical | Major | Minor |
|-----------|----------|-------|-------|
| Visual/Layout | | | |
| Pedagogical | | | |
| Proofreading | | | |
| TikZ (if any) | | | |

### Critical Issues (Immediate Action Required)
### Major Issues (Next Revision)
### Recommended Next Steps

Quality score rubric (for multi-agent excellence review — complements the numeric score in Phase 5 which is used during create):

ScoreCritical issuesMedium issuesMeaning
Excellent0-20-5Ready to present (≈ Phase 5 score ≥ 90)
Good3-56-15Minor refinements (≈ Phase 5 score 80-89)
Needs Work6-1016-30Significant revision (≈ Phase 5 score < 80)
Poor11+31+Major restructuring

2.8 devils-advocate [file]

Challenge slide design with 5-7 specific pedagogical questions.

Challenge categories:

  1. Ordering — "Could students understand better if X before Y?"
  2. Prerequisites — "Do students have the background for this?"
  3. Gaps — "Should we include an intuitive example here?"
  4. Alternative presentations — "2 other ways to present this concept"
  5. Notation conflicts — "This symbol conflicts with earlier usage"
  6. Cognitive load — "Too many new symbols on this slide"
  7. Standalone readability — "Does this section stand alone as a book chapter?"

2.9 visual-check [file]

PDF→image systematic visual review. Converts compiled PDF to images, then reviews each slide visually. This catches issues invisible in source code and suppressed by the compiler (especially box-interior overflow).

Why this matters: Beamer suppresses overfull warnings inside block/alertblock/exampleblock environments. Zero compile warnings does NOT mean zero visual overflow. This action provides ground truth.

Workflow:

  1. Compile (if not already compiled):

    xelatex -interaction=nonstopmode FILE.tex
    
  2. Convert PDF to images using PyMuPDF:

    import fitz
    doc = fitz.open('FILE.pdf')
    zoom = 200 / 72  # 200 DPI
    matrix = fitz.Matrix(zoom, zoom)
    for i in range(len(doc)):
        page = doc.load_page(i)
        pixmap = page.get_pixmap(matrix=matrix)
        pixmap.save(f'/tmp/slide-{i+1:03d}.jpg', output='jpeg')
    doc.close()
    

    Or via bash: python3 -c "import fitz; ..."

    Fallback (if PyMuPDF unavailable): Use the Read tool directly on the PDF — Claude Code is multimodal and can read PDF files page by page.

  3. Systematic per-slide inspection — use Read tool to view each image, checking:

    • No text overflow at any edge (top, bottom, left, right)
    • No content overflowing inside colored boxes (check every alertblock/exampleblock/block)
    • All text legible (no text smaller than readable at presentation distance)
    • Tables and equations fit within slide width
    • TikZ labels not overlapping with lines, dots, or other labels
    • Consistent font sizes across similar slide types
    • Adequate contrast between text and background
    • No visual clutter (too many elements competing for attention)
  4. Report per issue:

    ### Slide N: [slide title]
    - **Issue:** [description]
    - **Severity:** Critical / Major / Minor
    - **Fix:** [specific recommendation]
    

2.10 validate [file] [duration]

Automated quantitative validation. Checks measurable properties without reading content.

Checks performed:

  1. Slide count vs. duration (if duration provided):

    # Get page count
    pdfinfo FILE.pdf | grep "Pages:"
    

    Compare against timing allocation table (Section 2.2, Phase 1). Flag if outside recommended range.

  2. Aspect ratio:

    pdfinfo FILE.pdf | grep "Page size:"
    

    Expected: 364.19 x 272.65 pts (16:9 at 10pt) or similar 16:9 ratio. Flag if 4:3 (old projector format).

  3. File size:

    • > 50 MB: warning (slow to share/email)
    • > 100 MB: critical (likely uncompressed images)
  4. Compilation health (from .log file):

    grep -c "Overfull \\\\hbox" FILE.log
    grep -c "Undefined control sequence" FILE.log
    grep -c "Citation.*undefined" FILE.log
    grep -c "multiply defined" FILE.log
    
  5. Source code static checks (from .tex file):

    • Count \pause / \onslide / \only usage → must be 0 (Hard Rule 1)
    • Count slides with >2 colored boxes → flag violations (Hard Rule 2)
    • Count \tiny usage → must be 0 (Hard Rule 13)
    • Check for \begin{thebibliography} → warn if missing (Hard Rule 11)

Report format:

# Validation Report: [Filename]

| Check | Result | Status |
|-------|--------|--------|
| Slide count | N slides / Xmin duration | OK / WARNING |
| Aspect ratio | 16:9 | OK |
| File size | X.X MB | OK / WARNING |
| Overfull hbox | N warnings | OK / CRITICAL |
| Undefined references | N | OK / CRITICAL |
| Overlay commands | N found | OK / VIOLATION |
| Box fatigue violations | N slides | OK / WARNING |
| References slide | Present / Missing | OK / WARNING |

Overall: PASS / PASS WITH WARNINGS / FAIL

2.11 extract-figures [pdf] [pages]

Extract figures from a paper PDF and prepare them for inclusion in Beamer slides.

Use when the user wants to reuse figures from an existing paper (their own or a cited work) instead of redrawing in TikZ.

Workflow

  1. Identify target figures — if user doesn't specify pages, use mcp__pdf-mcp__pdf_get_toc and mcp__pdf-mcp__pdf_read_pages to locate figures in the paper. Ask user which figures to extract if ambiguous.

  2. Extract images from specified pages:

    mcp__pdf-mcp__pdf_extract_images(path=PDF_PATH, pages=PAGES, output_dir="figures")
    

    Uses output_dir to save images directly to figures/ as PNG files (original resolution, zero token cost). Returns {page, index, width, height, format, file_path} metadata only — no base64 data.

  3. Rename to descriptive names following the naming convention:

    mv figures/page3_img0.png figures/fig-LABEL.png
    

    Naming convention: fig-<descriptive-label>.png (e.g., fig-architecture.png, fig-results-table.png).

  4. Generate LaTeX snippet — output ready-to-paste code:

    Full-width figure:

    \begin{frame}{Frame Title}
      \begin{center}
        \includegraphics[width=0.85\textwidth]{figures/fig-LABEL.png}
      \end{center}
      \vspace{-6pt}
      {\small Source: \citet{author2024paper}}
    \end{frame}
    

    Figure + text side-by-side (columns layout):

    \begin{frame}{Frame Title}
      \begin{columns}[T]
        \column{0.50\textwidth}
          \includegraphics[width=\textwidth]{figures/fig-LABEL.png}
          {\small Source: \citet{author2024paper}}
        \column{0.45\textwidth}
          Key observations:
          \begin{itemize}
            \item Point 1
            \item Point 2
          \end{itemize}
      \end{columns}
    \end{frame}
    

    Two figures side-by-side (subfigure):

    \begin{frame}{Frame Title}
      \begin{figure}
        \begin{subfigure}{0.48\textwidth}
          \includegraphics[width=\textwidth]{figures/fig-LEFT.png}
          \caption{(a) Description}
        \end{subfigure}\hfill
        \begin{subfigure}{0.48\textwidth}
          \includegraphics[width=\textwidth]{figures/fig-RIGHT.png}
          \caption{(b) Description}
        \end{subfigure}
      \end{figure}
    \end{frame}
    
  5. Cropping guidance — if the extracted image contains surrounding text or margins that should be removed, use the trim and clip options:

    \includegraphics[width=0.85\textwidth, trim=LEFT BOTTOM RIGHT TOP, clip]{figures/fig-LABEL.png}
    
    • Units are in bp (big points). Estimate from the image dimensions returned by pdf_extract_images.
    • Common case: trim=50 200 50 100, clip to remove page margins and surrounding text.
    • Always visually verify after compilation — cropping coordinates are estimates.

Rules

  • Always attribute — include {\small Source: ...} below every extracted figure unless it's the user's own paper.
  • Prefer vector — if only a single clean figure is on a page, extraction quality is usually sufficient. For complex multi-figure pages, consider redrawing the key figure in TikZ for better quality and consistency.
  • Resolution check — if extracted image width < 800px, warn the user that it may appear pixelated on a projector. Suggest either finding a higher-resolution source or redrawing in TikZ.
  • Don't extract tables — tables from PDF rasterize poorly. Always recreate tables in LaTeX using booktabs.
  • Preamble dependency — ensure \usepackage{graphicx} is in the preamble (add if missing). If using subfigures, also ensure \usepackage{subcaption}.

3. VERIFICATION PROTOCOL

Every task ends with verification. Non-negotiable.

[ ] Compiled without errors (xelatex exit code 0)
[ ] No overfull hbox > 10pt
[ ] All citations resolve
[ ] PDF opens and renders correctly
[ ] Visual spot-check of modified slides

4. DOMAIN REVIEW (Template)

For substantive correctness (not presentation), review through 5 lenses:

  1. Assumption stress test — all assumptions stated, sufficient, necessary?
  2. Derivation verification — each step follows? Decomposition sums to whole?
  3. Citation fidelity — slide accurately represents cited paper?
  4. Code-theory alignment — code implements exact formula from slides?
  5. Backward logic check — read conclusion→setup, every claim supported?

Severity: CRITICAL = math wrong. MAJOR = missing assumption. MINOR = could be clearer.


5. TROUBLESHOOTING

Error: ! Undefined control sequence. \llbracket Cause: Missing stmaryrd package for double brackets. Fix: Add \usepackage{stmaryrd} to preamble. Or define \newcommand{\llbracket}{[\![} as fallback.

Error: Overfull \vbox on a specific slide Cause: Too much content for the frame height. Fix priority:

  1. Reduce \vspace values
  2. Shorten text (telegraphic style)
  3. Split into two slides
  4. Use \small on one element (not the whole slide)
  5. Last resort: \footnotesize (never \tiny)

Error: Font "XXX" not found with XeLaTeX Cause: System font not installed, or wrong font name. Fix: Use fc-list | grep "FontName" to check available fonts. Fall back to default Latin Modern if custom font unavailable.

Error: Equations overflow slide width Cause: Long multi-term equation. Fix priority:

  1. Use \begin{align} with line breaks at natural points (=, +)
  2. Introduce intermediate variables to shorten expressions
  3. Use \resizebox{\textwidth}{!}{...} as last resort (degrades readability)

Error: PDF images don't render in Quarto/web Cause: Browsers cannot display PDF inline. Fix: Convert to SVG: pdf2svg input.pdf output.svg. Never use PNG for diagrams (raster = blurry).

Error: Content visually overflows inside alertblock/exampleblock/block but compiler reports 0 warnings Cause: Beamer suppresses overflow warnings inside block environments. Two distinct failure modes:

  • Vertical: display math + text below it exceeds the box's vertical capacity; bottom content spills past the lower border. Aggravated by \vspace{-Xpt}.
  • Horizontal: the block's internal padding reduces effective width by ~15%, so wide equations overflow sideways. Fix priority (vertical — most common):
  1. Remove or reduce \vspace{-Xpt} inside the box
  2. Keep box content minimal: one display equation OR a few bullet items, not both
  3. Move explanatory text below the equation to outside the box (plain text after \end{...block})
  4. Split into two separate boxes or slides Fix priority (horizontal):
  5. Replace \qquad with \quad or ,
  6. Move secondary notation (e.g., sampling arrows) to a separate line
  7. Break the equation with \\ at natural points
  8. Move the equation outside the box Never rely on compile warnings alone — always visually verify every colored box in the PDF.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

ClawInsight

Earn rewards by helping brands understand consumers. With your explicit consent, contributes anonymized market research data through natural conversation and...

Registry SourceRecently Updated
Research

Mortgage Calculator

房贷计算器。等额本息、等额本金、提前还款、利率对比、月供计算、贷款能力评估。Mortgage calculator with equal principal, prepayment analysis, rate comparison, affordability assessment. 房贷计算、买房、月供、公积...

Registry SourceRecently Updated
1940ckchzh
Research

Geopolitics Expert

Geopolitical conflict analysis for war sentiment assessment. Use when analyzing armed conflicts, military interventions, or regional crises to determine conf...

Registry SourceRecently Updated
Research

Blog Writer Pro

博客写作助手。完整文章生成(Markdown输出)、多角度大纲、SEO优化诊断、开头段落、系列文章规划、风格改写、CTA文案。Blog writer with full articles, outlines, SEO analysis, hooks, series planning, rewriting, CTA...

Registry SourceRecently Updated
3060Profile unavailable