Same deck, two themes
Click the deck, then Full window ↗

slaydy is a deck skill for Claude that you put your brand on. You never build the runtime.

Fork it, hand Claude your website or brand PDF, and keep taking runtime updates. A brand starts as nine tokens and extends to your own layouts, CSS and scripts.

What slaydy maintains, so you don’t

Decks that stay editable, by hand and by Claude.

Every deck is one HTML file on a runtime that keeps getting better without your fork doing anything. People fix it in the browser, Claude revises the same file, and nobody’s edits get thrown away.

By hand

Open deck.html in Chrome and press E.

  • Click any text to rewrite it
  • Paste an image, or a link onto any text
  • Add, duplicate and reorder slides
  • Undo everything with ⌘Z
  • Download a copy with your changes in it

With Claude

“apply my notes”

  • Request a change right on the slide
  • Claude edits the same file in place
  • Fixes made by hand stay fixed
  • Layouts come from a fixed contract, so revisions don’t drift

Out the door

Present, print, or send it.

  • S presenter view with notes on a second screen
  • P PDF, one 16:9 page per slide, text stays text
  • D one self-contained HTML file, or a view-only copy without your notes
  • O overview of every slide
  • C copy the current slide as a PNG

For skill builders

Your brand is one prompt. The fork is a skill.

The lazy way is one prompt pasted into Claude Code. The same thing as seven steps is right below it. Either way you end with an installed brand skill that keeps taking updates, and the runtime is never yours to touch.

The lazy way

Copy this, replace the three brackets, and paste it into Claude Code in any folder. It clones slaydy, makes your fork and stops for your review before writing anything.

Set up a slaydy deck skill for my brand.

Brand: [brand name]
Skill name: [what to call the skill, by default brandname-decks]
References: [where to find the brand: the website, and anything else worth reading, such as a brand guidelines page or where the logo is]

1. If ~/Code/slaydy does not exist, clone https://github.com/klarasch/slaydy.git there. Never edit that checkout.
2. Read ~/Code/slaydy/SKILL.md section 8 and follow it: make the fork beside the checkout and read my brand from the references above.
3. Show me the colours, type and voice rules before writing any file, and wait for my go.
4. Then write the brand, build the skill, check that a sample deck renders, and commit.
5. Ask me before installing the skill or creating a GitHub repo.

Or step by step

  1. Get slaydy

    Clone it where you keep code. This checkout is upstream: you never edit it, and every brand fork on your machine updates from it.

    git clone https://github.com/klarasch/slaydy ~/Code/slaydy
  2. Open it in Claude Code

    The repo tells Claude how to set up a brand, so nothing needs installing yet.

    cd ~/Code/slaydy && claude
  3. Ask for your brand

    Hand over a website, a brand PDF or a logo. Claude makes the fork, ~/Code/acme-decks, beside slaydy and reads the brand.

    set up slaydy for Acme from acme.com
  4. Review it

    Colors, type and voice rules come back before a single file is written. Say go, or say what’s off.

    go
  5. Install it

    Claude writes the brand, builds acme-decks, checks a sample deck renders, commits, and installs on your yes. From then on, “make me a deck” comes out in Acme.

    yes, install it
  6. Share it

    Claude creates a private GitHub repo only when you ask. Teammates install acme-decks-skill.zip or build from the repo.

    push the fork to GitHub
  7. Take updates

    When slaydy releases, open acme-decks in Claude Code. One prompt pulls, copies the runtime in, rebuilds, and tells you what changed.

    take the slaydy update

slaydy maintains

replaced on every update
  • runtime.jsnav, overview, edit, presenter, save
  • runtime.csslayout library and print styles
  • SKILL.mdmodes, brief, generation procedure
  • LAYOUTS.mdthe markup contract Claude follows
  • build.shassembles the skill into dist/
  • standalone.pybuilds the single shareable file

You maintain the brand

Claude writes it, no update touches it
  • SKILL.fork.mdskill name, description, standing orders
  • themes/acme.cssnine tokens and any brand CSS
  • themes/acme.mdthe brand’s voice and rules
  • skeleton.htmldeck shell: links, fonts, body attributes
  • fonts/ images/licensed fonts, the mark, art
  • custom/bespoke layouts, when you ask for them
themes/acme.css9 tokens
:root {
  --app-bg:   #dfe4ec;
  --bg:       #ffffff;
  --fg:       #1b2b4b;
  --muted:    rgba(27, 43, 75, 0.56);
  --faint:    rgba(27, 43, 75, 0.13);
  --surface:  #f1f4f8;
  --accent:   #0a66ff;
  --accent-2: #ffb000;
  --accent-fg:#ffffff;
}
SKILL.fork.mdyour identity
---
name: acme-decks
description: Generate editable, Acme-branded HTML
  slide decks and revise existing ones. Use whenever
  the user wants slides, a deck, a pitch, a talk.
---

**This install is brand-locked to Acme.** Always copy
themes/acme.css, fonts/ and images/; never set
data-themes; never ask which theme. Read
themes/acme.md before writing a slide.

Nine tokens is the easy start, not the limit.

  1. Tokens

    Colours, typefaces, radius and the wash restyle every layout at once. Most brands stop here.

  2. Theme CSS

    The theme is a full stylesheet loaded after the runtime: patterns, section treatments, your own emphasis style.

  3. Your own layouts

    Define slide--acme-demo, describe it in themes/acme.md, and Claude generates and revises it. One line puts it in the Add-slide picker.

  4. Scripts and graphics

    A custom/ folder adds behaviour on runtime events: your own transitions and slide options, animation, interactive slides like the one in the demo.

Without code

Same skill, made in Claude chat.

No terminal, no git. Upload slaydy to Claude desktop or claude.ai, ask for your brand in a chat, and Claude hands back your own skill as a zip to upload next to it.

  1. Download slaydy

    Get slaydy-skill.zip from the latest release on GitHub.

    Latest release ↗
  2. Upload it to Claude

    In Settings › Capabilities › Skills, upload the zip. Code execution needs to be on.

  3. Ask for your brand

    In a new chat, name the brand. Attach a brand PDF or a logo if you have one.

    “set up slaydy for Acme from acme.com”

  4. Review it

    Colors, type and voice rules come back first. Say go, or say what’s off.

    “go”

  5. Upload your skill

    Claude hands back acme-decks-skill.zip. Upload it the same way, turn off plain slaydy, and send the zip to your team.

Updating later: upload the new slaydy zip, then ask “update my Acme skill”. You get a fresh zip with the new runtime and your brand untouched.

Updates

One prompt, never a merge.

Everything slaydy ships is replaceable, and everything yours lives in files a release never contains. Ask Claude to take the latest slaydy update and it runs take-update.sh, which refuses to overwrite a file your fork edited, names it, and takes the rest.

  • --dry-runreport what would change, copy nothing
  • --checklist upstream files the fork edited; cheap enough for a pre-commit hook
  • --forceoverwrite fork-edited files anyway

Read the changelog →

Every entry is marked as a new feature or a fix, and says whether a fork has nothing to do, something to check, or something to port.

A contract, not a template

Claude picks from these layouts instead of inventing one. Releases add classes; they never rename or remove them, so decks from last year and your customisations both survive.

titleagendasectionstatementbulletssplitcardsbentostatsnumbertablecomparetimelinequotecodeimagefullgallerycalloutcallout-fullplaceholderend

Put your brand on it by Friday.