slide-maker
Make impressive, on-brand presentation slides and decks end-to-end, for ANY design system.
Skill by bmad-labs
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/bmad-labs-slide-maker
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, presentations, design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 2
cdn.jsdelivr.net· found in codecodeload.github.com· found in install command
Files it touches
~/.claude/skills/slide-maker/opt/homebrew/bin/soffice/tmp/deck-verify/tmp/slide-maker-edit/tmp/slide-maker-edit/snip-N.png/tmp/slide-maker-inspect/tmp/slide-maker-inspect/geometry.json/tmp/slide-maker-validate- Your home directory (~)
What's inside
- Skill name
slide-maker- Description
- Make impressive, on-brand presentation slides and decks end-to-end, for ANY design system. Use this skill whenever the user wants to brainstorm, build, design, generate, review, or export a slide, deck, presentation, pitch, or company/product/sales deck. It runs as job-specific WORKFLOWS: brainstorm a deck's structure, generate the HTML deck with a review loop, and export to editable PPTX, image PPTX, standalone HTML, or PDF. It is design-system-agnostic — it uses the user's own design system if they have one, a `nextlevelbuilder/ui-ux-pro-max-skill` suggestion if that's installed, or a bundled neutral default theme — and drives everything from design tokens (never hardcoded colors or fonts). It ships a token-driven brand kit (tokens, fonts, logos, 34 premade layouts), a "wow" craft guide, an anti-slop validator, a ready-made React deck template, point-and-comment edit mode, and a validated editable-PPTX pipeline. It can also supply just the design layer (tokens, components, patterns) to another slide generator so its output uses a real design system instead of a generic theme.
- License
- MIT
- Instructions
- 162 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- description: longer than 1024 characters
Files (153)
- README.md
- SKILL.md
- .gitignore · deck-template/
- Inter-Bold.otf · deck-template/assets/fonts/
- Inter-LICENSE.txt · deck-template/assets/fonts/
- Inter-Regular.otf · deck-template/assets/fonts/
- index.html · deck-template/
- package-lock.json · deck-template/
- package.json · deck-template/
- postcss.config.js · deck-template/
- edit-mode.css · deck-template/public/edit-mode/
- edit-mode.js · deck-template/public/edit-mode/
- html-to-image.js · deck-template/public/edit-mode/
- check-slop.mjs · deck-template/scripts/
- clean-verify.mjs · deck-template/scripts/
- diff-regions.mjs · deck-template/scripts/
- export-deck.mjs · deck-template/scripts/
- export-pptx-jsx.mjs · deck-template/scripts/
- feedback-bridge.mjs · deck-template/scripts/
- inspect.mjs · deck-template/scripts/
- deck-driver.mjs · deck-template/scripts/lib/
- dom-walk.browser.js · deck-template/scripts/lib/
- pptx-builders.mjs · deck-template/scripts/lib/
- svg-to-custgeom.mjs · deck-template/scripts/lib/
- receive-feedback.mjs · deck-template/scripts/
- serve.mjs · deck-template/scripts/
- shoot-layouts.mjs · deck-template/scripts/
- shoot-slides.mjs · deck-template/scripts/
- validate-pptx.mjs · deck-template/scripts/
- verify-deck.mjs · deck-template/scripts/
- verify-export.mjs · deck-template/scripts/
- verify-pptx.mjs · deck-template/scripts/
- verify-text.mjs · deck-template/scripts/
- App.jsx · deck-template/src/
- Background.jsx · deck-template/src/components/
- Diagram.jsx · deck-template/src/components/
- ExportMenu.jsx · deck-template/src/components/
- GridView.jsx · deck-template/src/components/
- NotesPanel.jsx · deck-template/src/components/
- PresentBar.jsx · deck-template/src/components/
- PresentMode.jsx · deck-template/src/components/
- SlideRail.jsx · deck-template/src/components/
- SlideThumb.jsx · deck-template/src/components/
- SlideTransition.jsx · deck-template/src/components/
- Toast.jsx · deck-template/src/components/
- TopBar.jsx · deck-template/src/components/
- TransitionMenu.jsx · deck-template/src/components/
- transitions.js · deck-template/src/components/
- useFullscreen.js · deck-template/src/components/
- index.css · deck-template/src/
- main.jsx · deck-template/src/
- 00-EXAMPLE-hero-metrics.jsx · deck-template/src/slides/
- tailwind.config.js · deck-template/
- vite.config.js · deck-template/
- vite.standalone.config.js · deck-template/
- README.md · design-system/
- README.md · design-system/assets/deck-media/
- logo-full.svg · design-system/assets/logos/
- mark.svg · design-system/assets/logos/
- 01-cover.html · design-system/slides/
- …and 93 more
SKILL.md (first lines)
# Slide Maker
Make presentation slides that look genuinely impressive and stay on-brand — from a
single slide to a full deck, with a review loop and HTML/PDF/PPTX export. The skill
ships everything: a token-driven design kit, a craft guide, a slop validator, a
ready-made React deck, edit-mode collaboration, and the exporters. It works with
**whatever design system the deck needs** — yours, a suggested one, or a neutral default.
**It works as job-specific workflows.** Figure out which job the user is on (below),
then open that workflow file and follow it. The natural order is
brainstorm → generate → export, but the user can jump straight to any step (e.g. "export
this deck to PDF" on a deck that already exists).
## Pick the workflow
| The user wants to… | Workflow |
|---|---|
| figure out what the deck should say / its structure (vague idea, "I need a deck for X") | [slide-brainstorm](references/workflows/slide-brainstorm.md) |
| build the actual slides and iterate on them (generate, review, revise) | [slide-generate](references/workflows/slide-generate.md) |
| get an **editable** PowerPoint (recipient edits text/shapes) | [export-editable-pptx](references/workflows/export-editable-pptx.md) |
| get a **pixel-perfect, view-only** PowerPoint | [export-image-pptx](references/workflows/export-image-pptx.md) |
| get a single self-contained **HTML** file (opens offline) | [export-standalone-html](references/workflows/export-standalone-html.md) |
| get a **PDF** (print/handout) | [export-pdf](references/workflows/export-pdf.md) |
```
brainstorm ──▶ generate ──▶ ┬─▶ editable PPTX
(idea→skeleton) (HTML deck, ├─▶ image PPTX
review loop) ├─▶ standalone HTML
└─▶ PDF
```
Each workflow ends by pointing to the next. If a request is ambiguous about which job,
ask one quick question rather than guessing — brainstorming a deck and exporting one are
very different work. If the user's idea is still vague and they ask to "make slides,"
start at **brainstorm** (don't generate from an unexamined idea).
## Resolve the design system (run at the START of brainstorm/generate)
The layouts are token-driven: color, type, and spacing come from a **theme file**, never
from hardcoded values in the slides. Before you build anything, resolve which design
system supplies those tokens. Run this flow **in order** and stop at the first branch
that applies:
1. **Ask the user if they have their own design system / brand tokens.** If yes → map its
colors/type/spacing into the token contract by writing them into
`design-system/themes/clean-light.css` (or a new theme file that the entry point
imports). Layouts never change; only the theme file's token *values* do.
2. **Else, check if `nextlevelbuilder/ui-ux-pro-max-skill` is installed.** If yes → invoke
it to suggest the best-fit design system for the deck's content/idea, then map that
suggestion into the theme file.
3. **Else, recommend it and guide a permanent install** from
`https://github.com/nextlevelbuilder/ui-ux-pro-max-skill` — **this is the preferred
path.**
4. **Else (user won't install permanently): ASK FIRST, then** do a shallow
`git clone https://github.com/nextlevelbuilder/ui-ux-pro-max-skill` into `/tmp`, use it
for **THIS TURN ONLY**, and do **not** persist it into the skill or the user's project.
**Never run this network fetch without explicit consent** — always ask before cloning.
5. **Else (user declines the fetch too): use the bundled `clean-light` theme.**
`clean-light` is the **guaranteed floor** — the flow always ends in a working theme, so
the skill never blocks. Whatever the outcome, the active theme file is the single source
of truth for color/type: read it, and write token values into it rather than hardcoding
into layouts.
## Choose where to write the deck (start of generate)
Before scaffolding, **ask the user where the deck should live**. Propose a default and
let them override:
- **Default output dir:** `./slides/<deck-name>/` in the user's current project.
- **Exports:** `./slides/<deck-name>/export/`.
- **Copy the `deck-template/` scaffold to that location — NOT into the skill directory.**
This keeps the skill install clean and lets multiple decks coexist side by side. The
skill's own `deck-template/` is a pristine template; the working copy lives in the
user's project.
## The other use: supply only the design layer
This skill can also feed just the **design layer** (tokens, components, patterns) to a
*different* slide generator (e.g. `slides-generator`). That generator runs its own
workflow but pulls its theme from here instead of picking a generic vibe:
- **React + Tailwind** → drop the theme block from
[tailwind-theme.md](references/tailwind-theme.md) into `tailwind.config.js` and import
the active font. Then the Tailwind utilities resolve to the active design system's tokens.
- **Plain HTML/CSS** → link `<skill>/design-system/styles.css`; style with the CSS custom
properties it exposes (e.g. `var(--fs-h1)`, `var(--space-8)`, the theme's color tokens),
never with literal hex values.
## Design kit (the source of truth — read these, don't guess)
Ships **inside this skill**, so it's standalone:
```
<skill>/design-system/
├── styles.css ← token entry point (imports tokens + the active theme; link for HTML slides)
├── tokens/ ← colors, typography, spacing, fonts — THE source of truth
├── themes/clean-light.css ← the active theme (bundled neutral default; the guaranteed floor)
├── slides/*.html ← 34 premade slide layouts (the catalog)
└── assets/logos/ ← mark.svg, logo-full.svg (neutral placeholders; swap for the deck's real logos)
```
> The **active theme file wins** for color/type. If a layout appears to disagree with the
> tokens, the tokens/theme win — open and read them. Never hardcode a hex or a font into a
> layout; change the theme file instead.
## Craft rules (apply in every workflow, regardless of who's driving)
- **The active design system is the source of truth for color and type.** Layouts are
**token-driven — never hardcode a hex or a font.** Change the theme file's token values,
not the layouts. If unsure of a value, read `<skill>/design-system/tokens/` and the
active theme.
- **Default font is a system stack.** The PPTX exporter embeds **Inter** (SIL OFL) so the
editable output renders consistently on machines that lack the deck's fonts.
- **One focal point, real whitespace.** Every slide: one hero dominates, a clear
eyebrow→title→rule→body rhythm, ≥35% whitespace, calm motion. Depth and restraint over
decoration. Not every slide needs a heavy full-bleed treatment — reserve those for
dividers, section rails, and the close, so they carry weight by contrast.
- **Make it wow, not just compliant.** On-brand ≠ impressive. Wow = restraint + ONE focal
point + depth. The craft guide is the ceiling: [wow-guide.md](references/wow-guide.md).
The `check-slop.mjs` validator is the floor.
- **"Done" = the user's request restated as a passing test, shown with numbers.** Not "I'm
fairly sure" / "looks right now." Write the acceptance criterion in the user's wordsFrom bmad-labs/skills, MIT.
More from bmad-labs/skills
- 0.647score
to-wiki
bmad-labs
Use when turning a transcribed source — a thesis, paper, standard, manual, or a folder of Markdown chapters under docs/references — into a Karpathy-style LLM…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
to-markdown
bmad-labs
Use when converting a PDF, scanned document, slide deck, or DOCX into Markdown that must stay faithful to the source — a paper, thesis, standard, datasheet…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
create-intent
bmad-labs
Use when turning Jira stories, tickets, or raw requirement notes into business intent documents (intent, functional and non-functional requirements, open…
SkillAFreshness: A★ 18Claude Code +9 - 0.622score
architecture-design
bmad-labs
Use when the user asks for a design package, designs folder, detailed design, solution design, or contracts of a system or service before it is built — C4…
SkillAFreshness: A★ 18Claude Code +9 - 0.607score
manual-testing
bmad-labs
Use when writing, reviewing, executing, or updating manual test cases or a test plan; when asked 'how should I test this'; when restructuring an existing test…
SkillBFreshness: B★ 18Claude Code +9 - 0.607score
jira-to-local
bmad-labs
Use when the user wants Jira issues pulled onto disk as local files — "pull PROJ-123", "fetch this story", "get that ticket locally", "download the bug"…
SkillBFreshness: B★ 18Claude Code +9 - 0.603score
typescript-clean-code
bmad-labs
Clean Code for TypeScript — code smell catalogs (Martin's per-line heuristics, Fowler's change-shape smells, TypeScript-native type smells), a linter-first…
SkillBFreshness: B★ 18Claude Code +9 - 0.557score
typescript-unit-testing
bmad-labs
Unit testing for TypeScript/NestJS projects using Jest, @golevelup/ts-jest (DeepMocked/createMock), and in-memory databases, with AAA structure.
SkillCFreshness: C★ 18Claude Code +9 - 0.557score
rca-report
bmad-labs
Use when investigating and documenting a production incident, outage, data corruption event, or post-mortem — guides evidence collection during the…
SkillCFreshness: C★ 18Claude Code +9 - 0.557score
typescript-e2e-testing
bmad-labs
E2E and integration testing for TypeScript/NestJS projects using Jest, supertest, and real infrastructure via Docker (Kafka, PostgreSQL, MongoDB, Redis) with…
SkillCFreshness: C★ 18Claude Code +9 - 0.557score
software-research
bmad-labs
Use when someone asks to research a software-engineering question through a verified, multi-perspective lens — "should we use X vs Y", "evaluate…
SkillCFreshness: C★ 18Claude Code +9 - 0.553score
architecture-viz-studio
bmad-labs
Build high-quality, animated, professional web pages that VISUALIZE software architecture, system design, data models, or a product idea — using Three.js (3D)…
SkillCFreshness: C★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Aug 26, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/bmad-labs/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from bmad-labs
- 0.647score
to-wiki
bmad-labs
Use when turning a transcribed source — a thesis, paper, standard, manual, or a folder of Markdown chapters under docs/references — into a Karpathy-style LLM…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
to-markdown
bmad-labs
Use when converting a PDF, scanned document, slide deck, or DOCX into Markdown that must stay faithful to the source — a paper, thesis, standard, datasheet…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
create-intent
bmad-labs
Use when turning Jira stories, tickets, or raw requirement notes into business intent documents (intent, functional and non-functional requirements, open…
SkillAFreshness: A★ 18Claude Code +9 - 0.622score
architecture-design
bmad-labs
Use when the user asks for a design package, designs folder, detailed design, solution design, or contracts of a system or service before it is built — C4…
SkillAFreshness: A★ 18Claude Code +9 - 0.607score
manual-testing
bmad-labs
Use when writing, reviewing, executing, or updating manual test cases or a test plan; when asked 'how should I test this'; when restructuring an existing test…
SkillBFreshness: B★ 18Claude Code +9 - 0.607score
jira-to-local
bmad-labs
Use when the user wants Jira issues pulled onto disk as local files — "pull PROJ-123", "fetch this story", "get that ticket locally", "download the bug"…
SkillBFreshness: B★ 18Claude Code +9
Cite this page
slide-maker skill. Agent Mart. https://agentmart.dev/skills/bmad-labs-slide-maker (last updated 2026-10-24)