a slide framework for the agent era

The slide framework
built for agents.

A React-first slide framework authored by AI agents. Every page is arbitrary code on a 1920×1080 canvas— versioned, reviewable, yours.

Read the docs1weiho/open-slide
open-slide · live demo1920 × 1080 · 16 : 9
open-slide · getting started
v1

Author slides
with your agent.

Three steps from empty folder to a live, editable slide.

01 init02 prompt03 edit04 assets05 comment

Slides as code.
Crafted by agents.

init → author → iterate ↻
  1. 01scaffold

    Init a deck

    One command spins up slides/, open-slide.config.ts, and a hot-reloading dev server. No templates, no themes, no assumptions.

    $npx @open-slide/cli init my-deck
    ✓ ready in 3s
  2. 02author

    Ask your agent

    Your agent drafts pages as arbitrary React components. You guide with prompts; it writes files on disk.

    /create-slide for Q2 roadmap
    ClaudeCodexCursorGemini CLI...
  3. 03iterate

    Edit, comment, apply

    Toggle inspect: click an element to tweak it visually, drop images into the assets pane, or leave a @slide-comment. Save batches your edits; /apply-comments lets the agent rewrite the rest.

    /apply-comment
    ✓ applied change

A slide is a file.
Just React, nothing else.

slides/hello/index.tsx
tsx · 16 lines
import type { Page } from '@open-slide/core';
 
const ACCENT = '#d56b48';
const WORD = 'deck';
const SUBTITLE = 'A React slide, rendered live.';
 
const Cover: Page = () => (
<div style={{ background: '#08090a', color: '#f7f8f8' }}>
<h1 style={{ fontSize: 188, letterSpacing: '-0.04em' }}>
Hello, <em style={{ color: ACCENT }}>{WORD}</em>.
</h1>
<p>{SUBTITLE}</p>
</div>
);
 
export default [Cover] satisfies Page[];
rendered outputlive
open-slide · 012026

Hello, deck.

A React slide, rendered live.

hello001 / 001

Talk to the agent.
Or just tap the canvas.

inspector · two surfaces
01agent applies

Drop a comment. The agent rewrites the file.

Click any block, leave a note. The inspector pins it as a @slide-comment marker in your source. Run /apply-comments — the agent edits exactly what you flagged and clears the marker.

cover
Q2 Launch
What we're shipping, why it matters.
Agent applying
Inspect<h1>
ContentQ2 Launch
Leave a comment
use the accent color on this title
Cmd + Enter to submitAdd comment
02visual editor

Click. Tweak. Save.

Toggle inspect, click any element. Change text, font, weight, color, or swap an image — right on the canvas. Edits buffer in memory until you hit Save, so one batch lands as a single HMR write.

cover
Q2 Launch
What we're shipping, why it matters.
1 unsaved changeDiscardSave
Inspect<h1>
ContentQ2 Launch
Typography
Size
88px
Weight
Semibold · 600
Style
Color
Text
#D56B48

Drop in images.
Pull in logos.

assets · powered by svgl ↗
localhost:5173 · assets
SlidesAssets
Upload
claude.svg
3.4 KB
codex-dark.svg
2.1 KB
gemini.svg
4.0 KB
cursor-dark.svg
5.2 KB
cloudflare.svg
6.8 KB
zeabur-dark.svgzeabur-light.svg
4.7 KB
Search svgl
vercel
Vercel
Vercel
Cloudflare
Cloudflare
Zeabur
Zeabur
drop · rename · replace

In-place file management.

Drag images straight into the deck. Rename and replace from the same pane the inspector uses to swap an element’s src.

svgl · 1500+ logos

Brand logos, no dance.

Search svgl from inside the editor. Pick a result and the SVG lands in your assets folder, ready to import.

Bring your own agent.any tool that edits react → authors slides
ClaudeClaudeCodexCodexCursorCursorGemini CLIGemini CLIOpenCodeOpenCodeWindsurfWindsurfZedZedClaudeClaudeCodexCodexCursorCursorGemini CLIGemini CLIOpenCodeOpenCodeWindsurfWindsurfZedZed

Author a deck
in the next minute.

One command, zero config. Your agent takes it from here.