Presentation
Use when the user wants to create presentation slides, a slide deck, a technical talk, or a conference talk for a topic or library — built on Slidev. Interviews the user, deep-researches and code-grounds the topic FIRST, applies presentation-craft best practices, generates a Slidev deck, self-verifies it in a headless browser, and ends with the dev server running and the deck open in the browser with zero manual steps. Triggers on "make a presentation", "make slides", "build a deck", "presentation about X", "technical talk", "conference talk", "slidev deck", "build slides for X", "present <library>".From its SKILL.md
npx -y skills add AlemTuzlak/skills --skill presentationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
8.4 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it
presentation — technical slide decks that don't suck
A director layer on top of Slidev. This skill owns the what (researched,
grounded content) and the how-well (presentation craft). It delegates
Slidev syntax mechanics to the official slidev skill — it depends on that
skill and never duplicates its syntax reference.
You are not "filling a template." You are interviewing a speaker, researching their topic until you actually understand it, and engineering a deck that an audience will follow and remember.
When to use
- The user wants to build/create a presentation, slide deck, or talk.
- "Make slides / a deck / a presentation about X", "technical talk", "conference talk", "build slides for <library>", "present <topic>".
- Revising/extending an existing Slidev deck (revision mode).
When to skip
- The user only wants raw Slidev syntax help → use the
slidevskill directly. - A one-off non-deck answer (a definition, a snippet) → just answer.
Dependency: the official slidev skill
This skill produces Slidev markup but does not carry Slidev's syntax
reference. Before generating any slides.md:
- Ensure the official skill is available. If not, install it:
npx skills add slidevjs/slidev - For any syntax question (layouts, magic-move, click animations,
components, export flags), consult the
slidevskill / its reference files, orhttps://sli.dev/llms.txtas a fallback. Do not hand-roll syntax you can look up — getting it wrong breaks rendering.
references/slidev-cheatsheet.md carries only the generator gotchas and the
delegation pointers — the things that bite an automated author. It is not a
syntax copy.
Non-negotiables (read before working)
These are what the user is paying for. Do not skip them because a deck "looks fine."
- Research + ground BEFORE the interview. The moment you have a topic, run
Gate 1 (
references/research-grounding.md). Never build slides from model memory. - Build from the brief, not from memory. Every factual claim on a slide traces to the research/grounding brief.
- Flag weak claims; don't assert them. If something is commonly repeated but poorly supported, skip it or caveat it. Never present a myth as fact.
- Assertion-evidence + lean text. Slide titles are complete-sentence claims;
the body is visual evidence, not a bullet dump. Keep on-slide text to a glance —
aim ≤ ~20 words of body per slide; full sentences and detail belong in the
speaker notes, not on the slide. (
references/presentation-craft.md"Text budget") - One idea per slide; ~1–2 min/slide. Split rather than cram.
- Fill the canvas. Every slide uses all available space with balanced
proportions — never top-anchor content above a dead band, and never float a
small element in a big empty region. Center/distribute the content group and
size visuals to fill their region; distribute whitespace, don't dump it.
(
references/presentation-craft.md; concrete Slidev recipe inreferences/slidev-cheatsheet.md) - Code discipline. ≤5–7 lines visible at once, large, progressive reveal,
dim irrelevant lines; prefer a diagram over a wall of code.
(
references/technical-craft.md) - Generate every legitimately generatable asset (code images, diagrams,
charts). Placeholder only the un-generatable (real photos, product
screenshots, demo videos) with a specific swap instruction. Never fabricate
evidence — no fake screenshots, invented data, or hotlinked images.
(
references/assets.md) - Storyboard approval before writing slides (Gate 2).
- Self-verify before handing over (Gate 3,
references/verification.md). - Finish live, zero manual steps. End with the dev server running in the
background and the deck open at
http://localhost:3030. The user never runs a command.
Workflow
Step 0 Detect topic (and whether it's a specific library/tool)
Gate 1 Research & Ground → references/research-grounding.md (BEFORE interview)
Step 2 Interview → references/interview.md (adaptive, one Q at a time)
Step 3 Deeper ground → only if internals/architecture-focused or long-form
Gate 2 Storyboard approval → per-slide plan; user approves before any slides.md
Step 5 Scaffold + theme → pnpm create slidev; visual theme selection in browser
Step 6 Generate slides.md → craft refs + slidev skill + assets.md; respect gotchas
Gate 3 Self-verify loop → references/verification.md (screenshot → fix → repeat)
Step 8 Finish live → bg dev server + open browser; then offer export
Step 0 — Detect
Identify the topic. Decide whether it is also a specific library/tool (repo path / GitHub URL / package name / docs URL / names a concrete library / user is in a code repo) — this turns on Gate 1 Track B in addition to Track A.
Gate 1 — Research & Ground (FIRST, before talking)
Load references/research-grounding.md. Run Track A (topic research, always)
and, when applicable, Track B (code grounding). Light pass now (enough for a
smart interview); deeper pass later if the talk warrants. Produce the
research + grounding brief.
Step 2 — Interview
Load references/interview.md. Ask the canonical questions adaptively, one at a
time, skipping anything the brief already answers.
Step 3 — Deeper grounding (conditional)
If the chosen areas are internals/architecture-focused or the talk is long-form, deepen the brief at the per-area depth the user set.
Gate 2 — Storyboard approval
Present a per-slide storyboard: assertion title · content/asset · layout ·
speaker-note intent · place in the narrative arc · running time budget vs stated
duration. Get approval/edits before writing any slides.md.
Step 5 — Scaffold + visual theme selection
Scaffold the Slidev project at the user's output location. Select a theme
visually in the browser — show 2–4 themes matching brand/tone (gallery
previews or a quick render); user picks. Then apply brand colors/fonts/logo. See
the branding-mode routing in references/interview.md.
Step 6 — Generate slides.md
Apply the craft layer (presentation-craft.md + technical-craft.md). Consult
the slidev skill for all syntax. Produce/insert assets per
references/assets.md. Respect the gotchas in references/slidev-cheatsheet.md.
Gate 3 — Self-verify loop
Load references/verification.md. Screenshot every slide in a headless browser,
detect overflow / clipped code / contrast / empty / overstuffed, fix, re-check
until clean.
Step 8 — Finish live
Leave the dev server running in the background and open the deck in the browser. Then offer the export targets the user chose (PDF/PPTX/SPA).
Revision mode
Pointed at an existing Slidev project, skip scaffolding and extend / restyle / tighten using the same craft layer + self-verify loop.
Reference files
| File | Load when |
|---|---|
references/research-grounding.md | Gate 1 — researching + grounding the topic |
references/interview.md | Step 2 — running the interview; branding routing; slide-count math |
references/presentation-craft.md | Step 6 — general craft rules + myth-flags |
references/technical-craft.md | Step 6 — code/diagrams/demos/audience for technical talks |
references/slidev-cheatsheet.md | Steps 5–6 — generator gotchas + delegation to the slidev skill |
references/assets.md | Step 6 — generating assets + placeholder convention |
references/verification.md | Gate 3 — self-verify checks + auto-fix loop |
Asset helper
assets/render-asset.mjs renders standalone code (Shiki) and diagram (Mermaid)
PNGs into a deck's public/. Usage in references/assets.md. Install once with
npm --prefix <skill>/assets install and npx playwright install chromium.
What ships with it: 11 files
44.6 KB alongside SKILL.md, 2 of them executable
assets/
- package.json413 B
- render-asset.mjsruns5.3 KB
- test-render-asset.mjsruns1.1 KB
references/
- assets.md2.9 KB
- interview.md4.3 KB
- presentation-craft.md8.9 KB
- research-grounding.md4.3 KB
- slidev-cheatsheet.md6.0 KB
- technical-craft.md6.1 KB
- verification.md2.7 KB
- README.md2.6 KB
Gives 1 of the 12 instructions most slides presentations skills give in ~1.9k tokens
Counted across 547 of the 547 authors here whose files we hold, read 2026-09-06
- Ensure every slide fits inside one viewportin 31 of 547, across 18 files
- Keep one idea per slidehere, and in 27 of 547, across 24 files
- Default to one self-contained HTML filein 24 of 547, across 16 files
- Check for product marketing context firstin 21 of 547, across 7 files
- Read STYLE_PRESETS.md before generatingin 21 of 547, across 12 files
- Involve reps in creationin 20 of 547, across 6 files
- Tailor to persona and deal stagein 20 of 547, across 6 files
- Generate three single-slide preview filesin 17 of 547, across 11 files
- Delete temporary preview files at handoffin 16 of 547, across 8 files
- Support keyboard and touch navigationin 16 of 547, across 7 files
- Keep one-pagers to a single pagein 15 of 547, across 5 files
- Use bold headers and short bulletsin 14 of 547, across 4 files
Said here and by no other author read
- research and ground the topic before interviewing
- build slides from the brief
- flag weak claims
- keep on-slide text to a glance
- fill the canvas on every slide
- keep code snippets short and progressive
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.