skills/slide-maker/SKILL.md
Generate presentation decks grounded in real GitHub projects, or walk through a structured brief-to-slides process. Use when the user asks to create a presentation, slide deck, talk, pitch, keynote, or Slidev project — especially when they want slides based on an existing codebase, architecture, or project documentation.
npx skillsauth add adewale/slide-maker slide-makerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create or update a native Slidev deck project.
Load these files only when entering the relevant phase. Do not load all files upfront.
| Phase | Load these files | Purpose | |-------|-----------------|---------| | 1. Determine mode | (none) | — | | 2. Gather sources | SOURCES.md (project decks only) | Source-material lookup, extraction heuristics, through-line, project identity | | 3. Intake | PRESENTATION_PHILOSOPHY.md, STORYTELLING.md | Rhetorical principles, narrative structure, through-line design | | 4. Style direction | STYLE_PRESETS.md | Visual presets and token palettes | | 5. Write spec | DECK_SPEC.md, SLIDE_KINDS.md | Spec schema and slide type catalog | | 6. Compile | COMPILER_RULES.md, SLIDEV_REFERENCE.md | Compilation phases, Slidev features | | 7. Validate | ACCEPTANCE_CHECKLIST.md, LLM_TELLS.md | Quality gates | | 8. Deliver | (none — instructions below) | — |
PROJECT_DECK_RUBRIC.md — load only when scoring a project deck.
Supported modes: create or update a Slidev deck project. Unsupported: standalone HTML, PPTX, HTML-to-Slidev, non-project artifacts. Redirect to a Slidev deck project.
Always: deck.spec.md, slides.md, README.md.
When justified: styles/tokens.css, styles/theme.css, layouts/*.vue, components/*.vue, public/images/*.
deck.spec.md is the planning source. slides.md is the presentation source. styles/, layouts/, components/ are the implementation layer. Structural changes start in deck.spec.md and must stay in sync with slides.md.
<style scoped> blocks — use var(--deck-*) variables exclusivelyThree modes:
deck.spec.md silently from the brief (still required as the source-of-truth artifact), pick a sensible preset without asking, and proceed straight to compile. Still run phase 7 validate before delivery — the gates do not bend.Default to create. Quickstart is opt-in based on the user's wording; never assume it for project decks or for updates.
→ Load SOURCES.md now.
When the deck presents a project (has project-url or references a codebase):
See SOURCES.md for the full source-material lookup table, extraction heuristics, and project identity rules.
→ Load PRESENTATION_PHILOSOPHY.md now.
Normalize: title, goal, audience, presenter voice, target length, tone, source material, brand constraints, notes requirement, through-line (project decks), project-url (project decks), current constraints if updating.
→ Load STYLE_PRESETS.md now.
Offer 2-3 directions in words only — preset/mood, typography, token direction, layout tendencies, motion character, expected abstraction density.
deck.spec.md→ Load DECK_SPEC.md and SLIDE_KINDS.md now.
Do this before implementation-heavy changes.
Quickstart variant. When phase 1 selected quickstart, still write deck.spec.md (it is the source-of-truth artifact and downstream tooling reads it), but generate it silently from the user's one-line brief instead of running the usual spec dialogue. Infer title, goal, audience, target-length, and tone from the request; pick a preset that matches the topic; do not ask the user to review the spec — just compile and deliver. The user can edit the spec after delivery if they want a richer pass.
→ Load COMPILER_RULES.md and SLIDEV_REFERENCE.md now.
Generate or update: slides.md, styles, layouts, components, README if usage changed.
→ Load ACCEPTANCE_CHECKLIST.md and LLM_TELLS.md now.
Automated checks: Run node tools/deck-lint.mjs on the deck directory. Fix all errors before delivery. Warnings are quality flags — address them if feasible.
Manual checks: spec-to-slides sync, Markdown editability, justified custom code, no unused abstractions. Project decks: through-line in 3+ slides (ideally 5-6), source materials cited, 1+ visual evidence slide, project colors override preset tokens.
Rendered gate (image/gradient/per-slide-background decks): static lint cannot see rendered brightness or contrast. Build the deck, then run node tools/render-gate.mjs <built-dist> (or python tools/build-and-verify.py <dir>:<name> --rendered). Fix any flash-bang, contrast, or overflow it reports.
Held-out quality check: for a quality (not just structural) judgment, dispatch a fresh grading sub-agent to score the deck against evals/holdout-rubric.md — criteria deliberately not in the generation docs, so the review judges blind rather than re-checking the rules you optimized for. Use a sub-agent (it reuses your own model access — no API key); do not call an external API. A high structural score with a low held-out score means the deck is competent but forgettable.
For the full checklist with enforcement levels, see ACCEPTANCE_CHECKLIST.md.
After validation, tell the user their deck is ready and present these next steps:
Preview locally:
npx slidev
Share as PDF:
npx slidev export
The built deck also has a PDF download button (from download: true in headmatter).
Deploy to Cloudflare Workers:
python tools/deploy-cf.py
One command: builds the deck, creates a Workers Static Assets project, deploys. Requires npx wrangler login first. Pass --name my-talk for a custom worker name.
Deploy manually: npx slidev build produces dist/ — a static SPA deployable to any host (Cloudflare Pages, Vercel, Netlify, GitHub Pages). The host must serve index.html for all sub-routes.
Post-generation follow-up: After presenting the next steps, ask: "Want me to help you deploy this?" If the user says yes, walk them through wrangler login (if needed) and run deploy-cf.py.
Multiple decks (collection): For maintainers hosting multiple decks as a gallery:
python tools/deploy-cf.py --collection — builds all decks and deploys as a gallerypython tools/build.py — builds all decks to examples/_build/ without deployingindex.html menu, llms.txt manifest, per-slide Markdown APIUpdating a collection:
build.py rebuilds all decks. Generated decks are auto-discovered from generated-decks/.index.html when decks are added/removed.deploy-cf.py --collection redeploys everything.The deck is complete when all MUST items in the acceptance checklist pass, the user has approved style direction, and deck.spec.md is in sync with slides.md.
development
--- layout: section transition: iris --- # The Skill Seven steps from intent to deck. Ten phases of compilation. --- transition: slide-left --- # Seven-Step Workflow ```mermaid {scale: 0.8} graph LR A["Mode"] --> B["Sources"] B --> C["Intake"] C --> D["Direction"] D --> E["Spec"] E --> F["Compile"] F --> G["Validate"] style A fill:#dde3ec,stroke:#3b5f87,color:#2e3440 style B fill:#dde3ec,stroke:#3b5f87,color:#2e3440 style C fill:#3b5f87,stroke:#3b5f87,color:#eceff4 style
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.