slide-wright — Claude Code skill: web decks from notes
Turns a topic, rough notes or an outline into a web presentation. Shows a theme and a two-slide preview first, then builds the whole deck.
npx skills add arifszn/slide-wright --skill slide-wright -a claude-codeWhat slide-wright does
This skill takes a topic or a pile of rough notes and produces a presentation that reads like the work of a solid product team. The result is one self-contained HTML file that opens in any browser. Slides render through reveal.js from a CDN, though that stays under the hood: the conversation is about slides, themes and design.
The defining rule is propose first, build later. A first pass never ends in a finished deck. The skill invents a theme, puts together a two-slide preview and waits for your approval. You get one proposal, not a menu; reject it and the direction is dropped for a clearly different one. No preset theme library exists — every theme is made for the deck at hand.
Point the skill at an existing HTML deck and it checks the <link> and <script> tags for a CDN copy of reveal.js. If they are there, whoever built the deck, the theme stays and the change lands in place — no proposal, no approval gate. Afterwards it runs node <skill-dir>/scripts/check-deck.mjs <deck.html>, and every line printed needs fixing. A deck on some other engine falls outside this edit path; the skill will not force a rewrite onto reveal.js.
What it helps with
- build a talk deck from rough notes without hand-coding slides
- get a theme invented for one specific presentation
- add, remove or revise a slide in a deck that already exists
- run the checker over a finished HTML deck and fix what it reports
- export a deck to PDF or to PowerPoint with editable text
Example prompts for the agent
- Build a 10-slide deck about quarterly results from
notes.md - Add a growth chart slide after the metrics slide in
deck.html - Run the checker on
deck.htmland fix everything it prints
How to install slide-wright
1Skills CLI (Vercel)
npx skills add arifszn/slide-wright --skill slide-wright -a claude-code2Manually: put the files in place
~/.claude/skills/slide-wright/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/slide-wright/
1Skills CLI (Vercel)
npx skills add arifszn/slide-wright --skill slide-wright -a codex2Manually: put the files in place
.agents/skills/slide-wright/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add arifszn/slide-wright --skill slide-wright -a cursor2Manually: put the files in place
.cursor/skills/slide-wright/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install arifszn/slide-wright slide-wright2Manually: put the files in place
.github/skills/slide-wright/SKILL.md1Skills CLI (Vercel)
npx skills add arifszn/slide-wright --skill slide-wright -a gemini-cli2Platform CLI
gemini skills install https://github.com/arifszn/slide-wrightManually: put the files in place
.devin/skills/slide-wright/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add arifszn/slide-wright --skill slide-wright -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about slide-wright
How do I install slide-wright in Claude Code?
Run npx skills add arifszn/slide-wright --skill slide-wright -a claude-code, then confirm the file landed at ~/.claude/skills/slide-wright/SKILL.md.
What does slide-wright do?
It turns a topic, notes or an outline into a web presentation delivered as a single HTML file. It also edits decks you already have, adding, removing or rewriting slides.
Why doesn't it build the full deck right away?
That is the skill's own rule: a theme and a two-slide preview come first, and the full build waits for your yes. Edits to an existing deck skip that step.
Source text
SKILL.md · MIT
--- name: slide-wright description: Create beautiful web presentations from a topic, rough notes, or an outline, and edit decks afterward — adding, removing, or revising slides. Generates a custom theme and a short two-slide preview, then builds the full deck only once the user confirms the direction; edits to an existing deck skip that flow and apply in place. Use when the user wants to make slides, a presentation, a talk deck, a pitch deck, or to add/remove/change a slide in one that already exists. --- # slide-wright Turn a topic or rough notes into a boardroom-grade presentation: slides that read like a deck from a strong strategy or product team, delivered as a single self-contained HTML file that runs in any browser. ## The rule that defines this skill Propose the look before you build the deck. On the first pass you never produce a finished presentation. You generate a theme, build a two-slide preview in it, and stop until the user approves the direction. Only then do you build the rest. One proposal at a time, not a menu. If the user says no, throw the direction out and try a clearly different one. Every theme is invented for the deck in front of you; there is no library of presets. **New deck: read `slide-wright/references/new-deck.md` first.** It holds Steps 1-4 (work out the deck, propose a look, get a yes, build) and the exact approval gate. ## The engine (keep this internal) Decks render with reveal.js loaded from a CDN, but that is an implementation detail the user never sees. Talk about slides, themes, and design; the library name appears only inside the generated `<link>` and `<script>` tags. `slide-wright/references/deck-template.md` has the exact setup. ## Editing a deck that already exists If the user points at an existing HTML deck, check whether it's built on reveal.js (look for the reveal.js `<link>`/`<script>` tags from a CDN). If it is — whether or not this skill built it — don't start over: read it, keep its theme, and make the change in place. The look is already approved, so skip the proposal and the gate. After editing, run `node <skill-dir>/scripts/check-deck.mjs <deck.html>` and fix every line it prints (`slide-wright/references/new-deck.md` has the details). No reference files are needed for an edit, unless you add a new exhibit type (read `slide-wright/references/exhibits.md`) or code or animation (read `slide-wright/references/code-slides.md` or `slide-wright/references/motion-recipes.md`). If the deck is HTML but not on reveal.js (different engine, plain slides, etc.), it's outside this skill's edit path — say so rather than forcing a rewrite onto a different engine. Everything else here is for building a new deck. ## Step 5 — Hand it off 1. Open the finished deck. 2. Say where it lives, the theme name, and the slide count. 3. Tell the user how to drive it: arrow keys, space, or swipe to move; **F** for fullscreen, **Esc** or **O** for the slide overview, **S** for the speaker view with notes; add `?print-pdf` to the URL and print to save a PDF (`slide-wright/references/export-pdf.md` has the steps); theme colors live in the `:root` variables, fonts in the `<link>`. 4. Offer the obvious next moves: revise the content, change the theme, export a PDF, export a PowerPoint file (`slide-wright/references/export-pptx.md`), or **deploy to a live URL** to share it. If they want to deploy, read `slide-wright/references/deploy.md` and let them pick the host (Surge, Vercel, or Netlify) — don't assume one. ## Reference files Read these as you reach them, not all at once: - `slide-wright/references/new-deck.md` — Steps 1-4 for a new deck: work out the deck, propose a look, get a yes, build - `slide-wright/references/design-aesthetics.md` — what makes a deck look designed (Step 2) - `slide-wright/references/theme-generation.md` — the procedure for inventing a theme (Step 2) - `slide-wright/references/deck-template.md` — the HTML skeleton, layout, and engine setup (Steps 2 and 4) - `slide-wright/references/exhibits.md` — choosing and building the visual on each content slide (Steps 2 and 4) - `slide-wright/references/code-slides.md` — code slides and their markup contract (Step 4) - `slide-wright/references/motion-recipes.md` — animation, when the user asks for it (Step 4) - `slide-wright/references/media.md` — images and video in slides (Step 4) - `slide-wright/references/export-pdf.md` — saving a deck as a PDF (Step 5) - `slide-wright/references/export-pptx.md` — exporting a deck to PowerPoint with editable text (Step 5) - `slide-wright/references/deploy.md` — publishing the deck to a live URL (Step 5)
© arifszn · MIT · arifszn/slide-wright