Turn a project — or a rough outline — into a slide deck you can actually edit. Just ask your coding agent.
A skill for your coding agent. You describe what you want to present; it reads your work, figures out what's worth saying, drafts an outline you approve, and builds a single-file HTML deck you can edit in the browser. No code, no design tools, no PowerPoint.
Visual credit: Moonland Deck 1.0 grew out of the WoManCoding talk deck, borrowing the Swiss skeleton from 归藏老师's social-card-skill, then deliberately breaking its single-accent rule with a dopamine four-color narrative palette and hand-painted highlights. Moonland Deck 2.0 builds on that visual foundation by adding project ingestion, angle inference, outline generation, and browser-editable HTML decks.
Any agent that supports Agent Skills — Claude Code, Claude.ai, Codex, Kimi, DeepSeek, and others. Needs Node 18+ to build. The deck it produces is a single HTML file with inline CSS/JS and no JavaScript runtime dependency; by default it still loads webfonts from Google Fonts/jsdelivr.
Turning your own work into a good talk is slow. You're not sure what to highlight, and slide tools fight you on design. This does both parts — what to say and make it look good — and hands you a deck you can tweak, not a black box you can't touch.
a) From a project folder — point it at your repo. It reads the code, README, notes, and screenshots, proposes a few angles to take, and writes the outline for you.
b) From an outline you already have — got notes or a rough outline.md? It builds straight from that.
Either way, you stay in control: it shows you the outline before generating, and you can keep saying "switch to ink," "make this image bigger," or "add a slide for the screenshots."
Demo day · product intros · retros · recruiting · sharing a side project · a conference talk.
Change one line — style: warm (or pop / ink / glass / mono / dopamine-swiss) — and the whole look switches. Palette, fonts, and emphasis change; your content stays put.
Open the deck in Chrome or Edge and change it directly — no going back to the agent:
- Text — click edit, type in the side panel (use
==word==to highlight). - Images — click to upload or drop one in; drag a corner to resize.
- Links — paste a URL to open live during the talk.
- Sync — push text edits and editable link URLs back to the outline file.
git clone https://github.com/severli93/moonland-deck ~/.claude/skills/moonland-deckOther agents: Codex uses
~/.agents/skills/. Any agent can also just read the repo'sAGENTS.md.
Open a new session and say it plainly:
Make a talk from this project ← point it at a folder
Build slides from this outline, warm style ← you already have content
For builders
Pipeline: outline (演讲大纲.md) → node scripts/build-deck.mjs outline.md → an editable single-file deck. The outline is the single source of truth; in-browser text edits and editable link URLs sync back to it. The builder validates layout names, slide ids, stage, style, total, finale params, and pipe-field shape before writing HTML.
Layouts (7, from the builder): cover-body, ly-statement, ly-list, ly-cards, ly-figure (large resizable image), ly-gallery (multiple images + captions), ly-finale. Seven more (ly-split, ly-chain, ly-code, …) exist as hand-authored markup in assets/template.html.
Add a style: drop a themes/<name>.css + .head.html — no code change.
Develop with a symlink (edit in one place, used everywhere):
git clone https://github.com/severli93/moonland-deck ~/dev/moonland-deck
ln -s ~/dev/moonland-deck ~/.claude/skills/moonland-deckTests: node --test "scripts/test/*.test.mjs" (85, zero deps). Docs: SKILL.md (the agent's entry point) + references/.
The visual language is Dopamine-Swiss — a Swiss grid + a four-color narrative system + hand-painted highlights. One rule worth knowing: the identity on every deck is the caller's, never the author's — it never reuses a face, name, or bio from another deck.




