Docs
neoslides is a Claude Code skill plus a place to put what it makes. The skill and the build run on your machine; this site only receives and serves static files.
Install neoslides by following https://neoslides.dev/install.mdPaste into Claude Code. Or read install.md yourself.
What you get
Ask Claude Code to pitch, present or demo an idea: a feature, an internal tool, a change to something you already have. In your repo the skill writes two things:
- 1A clickable prototype. A Next.js app with real screens and real navigation, not a drawing of one. Give it a screenshot or a site and it picks up that look.
- 2A talk. An animated, in-browser presentation that walks through the idea and tours the prototype with a spotlight and a cursor. Arrow keys move between scenes.
Build locally
Everything compiles on your machine into a static export (next build → out/). Your source, your dependencies, your build. Nothing runs on our servers, and the source never leaves your machine.
Publish
npm run share builds, zips the static files, signs you in through the browser (Google, once) and prints an unlisted link. Publish again to update it; the previous version is kept.
| npm run share | build and publish, or update the deck in .neoslides.json |
| npm run share -- --new | publish as a new deck instead of updating |
| npm run share -- --delete | take the deck down |
| npm run share -- --list | every deck on the account |
| npm run share -- --logout | forget the saved token |
For CI or your own scripts, create a personal token on the account page and set NEOSLIDES_TOKEN. Tokens are shown once and can be revoked at any time.
Publishing API
One request per publish. Authenticate with a personal token or the session the CLI gets from the device flow.
| POST | /api/decks | upload a zip, new deck |
| PUT | /api/decks/:slug | new version of a deck |
| GET | /api/decks | your decks |
| DELETE | /api/decks/:slug | take a deck down |
| GET | /api/me | usage and limits |
| GET · POST | /api/tokens | personal tokens (browser session only) |
| DELETE | /api/tokens/:id | revoke a token |
# build on your machine, then send only the static filesnpx next build # static export → out/(cd out && zip -qr ../deck.zip .) curl -X POST "https://neoslides.dev/api/decks?title=Refunds%20pitch" \ -H "Authorization: Bearer $NEOSLIDES_TOKEN" \ -H "Content-Type: application/zip" \ --data-binary @deck.zip{ "slug": "k7f3x9q2ab", "version": 1,
"url": "https://k7f3x9q2ab.neoslides.app/" }Up to 20 decks, 50 MB and 2,000 files per deck, 10 publishes a minute. Errors come back as { "error": { "code", "message" } } with the matching HTTP status.
Hosting
Static files only
HTML, JS, CSS, images, fonts, media. Archives are fully checked before anything is stored.
Isolated domain
Decks live on neoslides.app, which never sees a session cookie. Your account stays on neoslides.dev.
Unlisted
Random 10-character links, noindex everywhere. Share the link, or delete the deck to kill it.
Versioned
Each publish is a new version; the switch is atomic and the previous one is kept for rollback.