Install
$ agentstack add skill-shaishavmaisuria-research-paper-lifecycle-skills-make-slides ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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](references/venue-timing.md).
- Optional:
venues/conferences/.ymlfor venue context (name, track,
live URLs). Re-verify anything taken from a profile against the live cfp_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](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](references/venue-timing.md)). Then run, from the repo root:
python3 skills/make-slides/scripts/slide_budget.py --minutes --qa \
[--format auto|full|lightning] [--venue-profile venues/conferences/.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 ( [--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](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) or `talk/slides.tex` (Beamer) — RISK-free under
`deck_lint.py` for the stated speaking time, with speaker-note stubs
and backup slides.
- `talk/assets/` — the paper figures the deck uses, harvested by
`extract_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.
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [ShaishavMaisuria](https://github.com/ShaishavMaisuria)
- **Source:** [ShaishavMaisuria/research-paper-lifecycle-skills](https://github.com/ShaishavMaisuria/research-paper-lifecycle-skills)
- **License:** Apache-2.0
- **Homepage:** https://shaishavmaisuria.github.io/research-paper-lifecycle-skills/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.