create-slide

Installation
SKILL.md

Create a slide in open-slide

This skill owns the workflow for drafting a new deck. The technical reference — file contract, 1920×1080 canvas, type scale, palette, layout, assets — lives in the slide-authoring skill. Read that skill whenever you need details on how a page is structured. This skill assumes you'll consult it before writing code.

You only write files under slides/<id>/. Never modify package.json, open-slide.config.ts, or existing slides.

Step 1 — Pick a theme

List files under themes/. If any theme markdown files exist (anything other than README.md), call AskUserQuestion with each theme id as an option plus a final "no theme — design from scratch" option. (AskUserQuestion holds at most 4 options — with 4+ themes, offer the 3 most topic-relevant plus "no theme"; the auto-added "Other" lets the user name any omitted theme.)

  • If the user picks a theme: read themes/<id>.md end-to-end. The theme's palette, typography, layout, and Title/Footer components are now authoritative — copy them directly into the slide. If the theme declares a webfont import, load it per references/webfonts.md in slide-authoring (module-level, slide-keyed injection) — don't let the slide silently fall back to system fonts. Also set theme: '<theme-id>' on the meta export in index.tsx (e.g. export const meta: SlideMeta = { title: '…', createdAt: '…', theme: '<theme-id>' };createdAt per the file contract in slide-authoring) so the slide back-links to the theme (chip on the slide card + listing on /themes/<id>). In Step 2, skip the aesthetic direction question (the theme already commits to one direction); you still need the topic itself, so confirm it before moving on. Page count and text density are independent of theme — ask those normally. For motion, if the theme's Motion section commits to a philosophy, present it as the "(Recommended)" option and reuse the theme's paste-ready keyframes; the user can still override.
  • If the user picks "no theme", or themes/ contains no theme markdown files: proceed to Step 2 unchanged.

If you skip the aesthetic question because a theme was picked, restate the theme name in Step 2 so the user can correct course before you start writing.

Step 2 — Clarify requirements (MUST ask before writing code)

Before writing any code, lock in the four key style decisions below via AskUserQuestion. They shape every downstream choice (layout, type scale, asset needs, motion code), so locking them in up front avoids rework. Only skip a question when it's already unambiguously answered — by the user's original message, or by a theme picked in Step 1 (a theme settles aesthetic direction, so ask only the remaining three) — and if you skip, restate your assumption so they can correct it.

Installs
114
GitHub Stars
7.4K
First Seen
May 6, 2026
create-slide — 1weiho/open-slide