archdeck
Skill9 starsChanged 15 days agoMITView on GitHub
Animated explainer slides for programming videos — turns one technical problem (backend, database, system design, frontend, infra) into a deck of 1920×1080 HTML scenes that teach the mechanism: requests travel, scans crawl, races interleave, the bottleneck lights up. Picks a story arc, drafts a storyboard with one shared fact sheet (same data, consistent numbers on every slide) for your approval, then renders standalone per-slide HTML plus one single-file deck with step-by-step reveals, speaker notes, and a clean recording mode, to out/archdeck/<slug>/. No codebase needed. Use for "make slides explaining X for my video", "animated architecture slides for a tutorial", "turn this system design problem into a presentation" — e.g. "/archdeck keyset vs offset pagination". For docs and mermaid diagrams of a real codebase use blueprint; to be taught a topic interactively use learn.
In this repository21 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 49
Ask at most one round of questions, and only for what would change the arc: the scenario if the problem is too abstract to make concrete …
- Very specific: line 69
Read references/narrative-arcs.md.
- Very specific: line 91
Read references/visual-language.md, references/archetypes.md, and references/animations.md.
- Distinctive: line 103
Every name and number comes from the fact sheet.
- Very specific: line 104
Only deck.css classes and tokens — inline style only for coordinates and motion knobs (--x, --y, --at, --v, --d, --t…).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
archdeck — architecture explained in scenes
/archdeck <problem> — new deck from a problem statement
/archdeck <slug> edit <what to change> — revise storyboard + affected slides, rebuild
/archdeck <slug> build — re-lint and rebuild index.html after hand edits
Answer one question: what sequence of pictures makes a viewer see why this design works — and where it stops working? The failure mode of generated tech slides is a bullet list with boxes: topics as titles, every idea on screen at once, numbers that change between slides, motion as decoration. The countermeasures are structural: a story arc chosen first, a fact sheet every number comes from, one claim and one focal point per slide, and steps that follow causality.
Step 0 — Brief
Get the date with date +%F. Derive a short kebab-case <slug> from the
problem. If out/archdeck/<slug>/ exists, read its storyboard.md and
resume (or run the requested edit/build) instead of starting over.
Infer from the request, defaulting sensibly:
- Language — the language the user wrote in (badges and copy follow it).
- Audience — mid-level developer unless stated.
- Length — 10–14 slides (~1 min each) unless stated.
- Voices — narrator only; a two-voice dialogue (learner
S, presenterJ) when the problem has a "why are we doing this" pivot. - Theme — drafting paper (light, most legible after video compression); blueprint (dark) on request.
Ask at most one round of questions, and only for what would change the arc: the scenario if the problem is too abstract to make concrete ("caching" → caching what, for whom?), or the takeaway if the user clearly has one in mind. Otherwise proceed and state your assumptions in the storyboard.
Step 1 — Get the mechanism right
There is no codebase; correctness comes from you. Work out the mechanism end to end before any slide: what reads what, in what order, at what cost.
Build the fact sheet (format in references/storyboard-template.md): one
concrete scenario, realistic scale with the arithmetic shown, sample
entities reused on every mock, and the engine/version for any behavior that
varies (InnoDB vs Postgres, HTTP/1.1 vs 2, React 18 vs 19). If web search is
available, verify version-specific claims and defaults; if not, mark them
under "Claims to double-check" so the user can verify before recording.
Wrong numbers in a tutorial are worse than none.
Step 2 — Pick the arc
Read references/narrative-arcs.md. Choose one arc, then write the brief:
misconception, aha, decision rule. Map beats to slides. The arc is where
"better than a list of slides" happens — a pivot, predict-pauses every 3–4
slides, a side quest that comes back, an ending that says when to use
what.
Step 3 — Storyboard → approval gate
Write out/archdeck/<slug>/storyboard.md per
references/storyboard-template.md: per slide the claim-title, archetype,
concrete on-screen content, numbered steps with their motion, focal point,
bottom line, narration per step, and the bridge to the next slide. Choose
archetypes from references/archetypes.md — at least five different ones
per deck.
Show the brief and the one-row-per-slide table in chat and wait for a yes. Apply requested changes to the file and re-show only what changed. Rewriting a storyboard line costs seconds; re-rendering a slide costs minutes. If the user said not to ask ("just make it"), note that and go on.
Step 4 — Render
Read references/visual-language.md, references/archetypes.md, and
references/animations.md. Then:
- Copy this skill's
assets/deck.cssandassets/deck.jsintoout/archdeck/<slug>/assets/(reuse the copies already there on an edit — the user may have tuned them). - For each slide write
out/archdeck/<slug>/slides/NN-<slide-slug>.htmlstarting from this skill'sassets/slide-template.html: samelang,data-themeand deckdata-titlein every file; the archetype markup;data-stepreveals exactly as storyboarded; narration in.noteswith matchingdata-steps. - Rules that keep slides honest:
- Every name and number comes from the fact sheet.
- Only
deck.cssclasses and tokens — inline style only for coordinates and motion knobs (--x,--y,--at,--v,--d,--t…). New visual needs go into a<style>block scoped by[data-slug="…"]. - Diagrams: explicit px size, matching SVG
viewBox, shared arrowheads (url(#ad-arrow),-problem,-fix…) — no per-slide<defs>, and anyidprefixed with the slide number. - Code and queries are valid for the named dialect/version.
- Nothing loads from the network except the Google Fonts that
deck.cssalready imports — no CDNs, remote images, or scripts.
Step 5 — Build and lint
python3 <this skill>/scripts/build.py out/archdeck/<slug>It lints every slide (one section, a title, contiguous steps, narration per
step, no external resources, no duplicate ids, word budget), stamps each
slide's sheet number for its title block, then writes index.html (all
slides, CSS and JS inlined) and notes.md (the narration script, per
slide and step). Fix every ERROR and re-run; fix WARNs unless
the slide genuinely needs the words. Use python if python3 isn't on
PATH.
Step 6 — Look at it
Text that fits in your head can still overflow at 1920×1080. If a browser
tool is available, open index.html#/N/99 (slide N at its last step) at a
1920×1080 viewport for every slide, screenshot, and fix overflow, overlap,
misaligned wires, and unreadable contrast; window.archdeck.go(i, step)
drives it too. Check step 0 of busy slides as well — the opening frame
must not give away the answer. If no browser is available, say the deck
was not visually checked.
Report in chat: the slide table (number · title · steps), the paths
(index.html, slides/, notes.md, storyboard.md), the claims still
marked to double-check, a reminder to open the deck once online before
recording (fonts load from Google Fonts and are cached after that), and the
controls:
→ / Space next step ← previous ↓ ↑ next/prev slide 12⏎ jump
R replay step F fullscreen N notes C clean (recording) mode T theme
index.html?clean → record without HUD #/5/2 → slide 5, step 2Edit mode
/archdeck <slug> edit …: change storyboard.md first, show the diff of
affected rows, then re-render only those slide files and rebuild. If the
fact sheet changes, find every slide that uses the changed value
(grep the old value in slides/) and update them all — a number that
changes on one slide but not the next is the bug viewers notice first.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

