make-slides
Skill59 starsChanged 5 months agoApache-2.0View on GitHub
Builds a conference talk deck (Beamer or Marp markdown) from a paper draft - problem-first narrative, one claim per slide, figures reused straight from the paper's LaTeX source, sized to the real slot (12-20 minute full talk vs 5-minute lightning). Use when the user asks to make slides, build a presentation or talk deck for an accepted paper, turn a paper into a talk, prepare a conference presentation, fit a talk into N minutes, or check and trim an existing deck that is too long or too text-heavy. Inventories the paper's figures by in-text reference count, computes a minutes-and-slides budget per section, drafts the deck, and deterministically lints pacing, overfull slides, missing or unrenderable figures, and generic non-claim titles. Venue profiles give context only; the slot length must come from the venue's presenter instructions or acceptance email.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- bartubozkurt/slideshows-factorytheir own version, first seen Aug 14, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- bartubozkurt/slideshows-factory★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository43 other files it gives its agents.
- docs/llms-full.txtllms.txt
- docs/llms.txtllms.txt
- add-venue-profileSkill
- anonymize-paperSkill
- assess-paperSkill
- benchmark-paperSkill
- check-originalitySkill
- draft-related-workSkill
- draft-surveySkill
- fetch-paperSkill
- find-papersSkill
- fit-page-limitSkill
- literature-reviewSkill
- make-posterSkill
- match-styleSkill
- orchestrate-paperSkill
- paper-profileSkill
- parse-cfpSkill
- plan-submissionSkill
- polish-proseSkill
- polish-tables-figuresSkill
- preflight-checkSkill
- prepare-artifactsSkill
- prepare-camera-readySkill
- refactor-research-codeSkill
- refactor-structureSkill
- reflect-and-improveSkill
- reflect-paperSkill
- rehearse-qaSkill
- render-workspace-htmlSkill
- select-venueSkill
- simulate-reviewersSkill
- study-exemplarsSkill
- tailor-to-venueSkill
- test-research-codeSkill
- triage-reviewsSkill
- verify-citationsSkill
- verify-claimsSkill
- verify-resultsSkill
- work-with-overleafSkill
- write-abstractSkill
- write-rebuttalSkill
- write-talk-scriptSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 5 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 79
If the deck will be Marp, convert harvested PDFs to PNG/SVG now (commands in references/deck-formats.md).
- Distinctive: line 92
One claim per slide: every slide title is a full assertion — the sentence to be remembered if the audience reads nothing else ("LRU evicts …
- Distinctive: line 103
Write the storyboard as a list (slide title-claim, supporting visual, ~seconds of talk) and confirm it with the user before drafting slides.
- Very specific: line 118
Write the deck and assets under talk/ next to the paper (or where the user prefers).
- Very specific: line 157
Never invent results, numbers, or comparisons for a slide.
- Very specific: line 160
Never fabricate citations on slides.
- Distinctive: line 162
Never assert slot lengths, room formats, or recording rules from memory or from a venue profile — presenter instructions and the acceptance …
- Very specific: line 165
Never bundle or paste another paper's slides or text as a template.
- Distinctive: line 167
Never upload or submit the deck anywhere on the user's behalf.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Make Slides
Turn an accepted (or nearly-done) paper into a conference talk deck —
Beamer .tex or Marp markdown — built around a problem-first story, one
claim per slide, the paper's own figures, and a slide count the slot can
actually afford. The deck is the deliverable; the timed word-by-word
script and Q&A drill are separate skills (write-talk-script,
rehearse-qa).
When to use
- The paper got accepted and a talk slot is coming: build the deck.
- The user has a slot length ("12 minutes plus 3 Q&A", "5-minute lightning") and needs a deck that fits it.
- An existing deck is overlong, text-heavy, or paper-shaped and needs to be cut down to a talk.
Related skills: write-talk-script (timed speaker script for the deck),
rehearse-qa (hostile/curious Q&A drill), make-poster (poster +
2-min/5-min pitches), study-exemplars (how strong papers at the venue
frame contributions), verify-citations (gate for any reference that
appears on a slide).
Inputs
- The paper's main
.texfile (preferred — figures are harvested from source) or the PDF plus the figure files. - The slot length and Q&A split, from the venue's presenter instructions or acceptance email. This is the one fact the skill cannot look up: venue profiles do not encode talk slots (they change year to year and per track). If the user does not know it, stop and ask — see references/venue-timing.md.
- Optional:
venues/conferences/<id>.ymlfor venue context (name, track, live URLs). Re-verify anything taken from a profile against the livecfp_url/ venue site before the user relies on it. - Output format choice: Beamer (LaTeX toolchain, vector figures reused as-is) or Marp (markdown, fast iteration, figures must be PNG/SVG). Decision guide: references/deck-formats.md.
Process
1. Pin down the slot, then budget the deck
Confirm slot minutes and Q&A minutes with the user (ask; never assert a slot length from memory or from a venue profile — typical shapes and the verification checklist are in references/venue-timing.md). Then run, from the repo root:
python3 skills/make-slides/scripts/slide_budget.py --minutes <slot> --qa <qa> \
[--format auto|full|lightning] [--venue-profile venues/conferences/<id>.yml] [--json]It prints the content-slide target (~1 slide per speaking minute, hard max 1.25x) and a problem-first section allocation (minutes + slides per section) in the full-talk shape (12-20 min) or the lightning shape (<= 7 min). Treat the allocation as the storyboard skeleton.
2. Inventory and harvest the paper's figures
python3 skills/make-slides/scripts/extract_figures.py path/to/main.tex \
--copy-to talk/assets [--json]It follows \input/\include, resolves \graphicspath, and ranks every
figure by how often the text references it — the most-referenced figures
are usually the ones the talk is built around. It also counts table
environments: tables almost never survive as slides; redesign each one as
a chart or a single highlighted number. TikZ-only figures (no graphics
file) must be recompiled or screenshot from the paper PDF.
If the deck will be Marp, convert harvested PDFs to PNG/SVG now (commands in references/deck-formats.md); Marp cannot render PDF images.
3. Storyboard: problem first, one claim per slide
Map the paper onto the budget's sections using references/narrative-storyboard.md. The non-negotiables:
- Problem-first: open with why the problem matters, not an outline or the paper's section order. The talk is an advertisement for the paper, not a compression of it.
- One claim per slide: every slide title is a full assertion — the sentence to be remembered if the audience reads nothing else ("LRU evicts the tiles a burst is about to revisit", not "Background"). Evidence (a figure, one number) supports the title; bullets are a last resort.
- Numbers and claims on slides come from the paper or the user — never
invent, round up, or extrapolate. Any cited work shown on a slide goes
through
verify-citationsfirst. - Proofs, secondary ablations, and related-work depth move to backup slides after the final slide — they cost nothing against the budget.
Write the storyboard as a list (slide title-claim, supporting visual, ~seconds of talk) and confirm it with the user before drafting slides.
4. Draft the deck
Build the deck from the approved storyboard using the skeletons in references/deck-formats.md:
- Beamer:
aspectratio=169, frame title = the claim, reuse paper PDFs via\includegraphics, speaker-note stubs in\note{}, backup frames after\appendix. - Marp:
marp: truefront matter,#/##title = the claim, PNG/SVG images only, speaker-note stubs in<!-- -->comments, backup slides titledBackup: ....
Write the deck and assets under talk/ next to the paper (or where the
user prefers); never overwrite an existing deck without confirming.
5. Lint, fix, re-lint
python3 skills/make-slides/scripts/deck_lint.py talk/slides.md|slides.tex \
--minutes <SPEAKING minutes = slot - Q&A> [--strict] [--json]Deterministic checks: pacing vs the slot, overfull slides (>100 words is a document, not a slide), bullet overload, generic non-claim titles, missing image files, Marp-unrenderable PDF images, tiny Beamer fonts. Fix every RISK and re-run until RISK-free; resolve pacing by cutting or merging slides, never by planning to talk faster.
6. Verify it builds, then hand off
Compile the deck if the toolchain is available (latexmk -pdf for
Beamer, marp CLI for Marp — commands in
references/deck-formats.md); otherwise say
explicitly that it was not compiled. Deliver the deck, the figure
inventory, and the lint report, and point the user at write-talk-script
to time the narration and rehearse-qa before the session. Remind them
to re-check slot length, room aspect ratio, and any pre-recording
requirement against the venue's presenter instructions.
Output
talk/slides.md(Marp) ortalk/slides.tex(Beamer) — RISK-free underdeck_lint.pyfor the stated speaking time, with speaker-note stubs and backup slides.talk/assets/— the paper figures the deck uses, harvested byextract_figures.py(converted for Marp).- The slide budget and figure inventory as the paper trail for what was cut and why.
Guardrails
- Never invent results, numbers, or comparisons for a slide; every figure
and number traces to the paper or the user. Pending results get an
explicit
[RESULT]placeholder, flagged in the handoff. - Never fabricate citations on slides; anything cited goes through
verify-citations. - Never assert slot lengths, room formats, or recording rules from memory or from a venue profile — presenter instructions and the acceptance email are ground truth; label anything unconfirmed as UNVERIFIED.
- Never bundle or paste another paper's slides or text as a template;
exemplar study happens transiently via
study-exemplars. - Never upload or submit the deck anywhere on the user's behalf.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

