slide theme

Write slides in Markdown, then push to publish

The theme for Slidev is the Initial Capacity design system on slides: bracket-corner cards, the blueprint grid, and the type and color of initialcapacity.io. A CLI scaffolds a new deck; a push to main publishes it.

the system

A deck is Markdown and nothing else

The theme defines the palette, the type scale, and the layouts. It sizes type for projectors and sets code in JetBrains Mono on the navy terminal surface.

Cover slide on the navy brand surface with the blueprint grid Content slide with three bracket-corner cards Code slide with a Kotlin test on the navy terminal surface

Slides from the reference deck, The Unit in Unit Testing: a real talk with every layout, code highlighting, progressive builds, and photos.

quick start

Create a deck

1 · Authenticate once per machine

The theme is a private package on GitHub Packages, so npm install requires a token with the read:packages scope. The second command snapshots the current gh token into ~/.npmrc; rerun it after re-authenticating gh.

gh auth refresh -s read:packages
echo "//npm.pkg.github.com/:_authToken=$(gh auth token)" >> ~/.npmrc

2 · Scaffold the project

Pick a deck name and a deploy target (Cloudflare Workers, GitHub Pages, or both); init then writes the project: package.json, a slides.md starter, a deploy workflow, and the slide-writing and stock-images skills for Claude Code.

mkdir my-talk && cd my-talk
git init
echo "@initialcapacity:registry=https://npm.pkg.github.com" > .npmrc
npx @initialcapacity/slide-theme init
npm install

3 · Write with a live preview

The preview opens in the browser and updates as the Markdown changes. A slide is a block of Markdown; a --- line with frontmatter starts the next slide and sets its layout. Speaker notes go in an HTML comment at the end of a slide and stay off the screen.

npm run dev
---
theme: '@initialcapacity/slide-theme'
title: My Talk
layout: cover
eyebrow: topic area
---

# A title that **makes a claim**

One line on what the talk argues

4 · Push to publish

The deck owns the deploy workflow that init generated. On every push to main, the workflow builds the deck and deploys it to the chosen target: Cloudflare Workers on a custom domain, GitHub Pages under the repository path, or both.

git push origin main

included

The theme includes more than styles

layouts

Layouts from cover to end: section dividers, split photo layouts, two columns, quotes, and big-number facts.

components

Bracket-corner cards, the lockup, and photo credit pills, registered globally and used without imports.

skills

The slide-writing skill includes the house writing guide for Claude Code; the stock-images skill searches and downloads free Pexels photos.

updates

npm update @initialcapacity/slide-theme pulls the latest release; npx slide-theme update refreshes the package-owned skills and instructions.