new-deck
Skill0 starsChanged 12 days agoMITView on GitHub
Turn this deck kit into a new presentation on any topic. Runs intake, research and planning, content, verification and design in phases, stopping for the speaker's review after each. Use when the user wants to start a new talk, deck, lecture or presentation from this repo, or says "new deck", "new presentation", or "make slides about X".
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 5 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Before starting, read AGENTS.md and docs/authoring.md.
- Distinctive: line 22
Check the state first and resume from the right phase:
- Distinctive: line 53
If subagents are unavailable, run separate research and adversarial verification passes yourself, following the same evidence requirements.
- Distinctive: line 61
Verify adversarially: one independent verification subagent per research batch tries to break each claim (outdated, misquoted, wrong unit, …
- Very specific: line 64
Write docs/fact-log.md (one id per claim) and docs/research/references.md.
- Very specific: line 74
Stop: Ask the speaker to answer each flag ("ok" accepts the recommendation).
- Very specific: line 79
Remove the starter deck: delete src/slides/*.html.
- Very specific: line 93
Update src/deck.ts: every profile, in order, with target times that add up to the brief.
- Distinctive: line 94
Check, and fix until clean:
- Very specific: line 114
Run pnpm test:e2e once, so the engine suite has run on this machine too.
- Very specific: line 120
Run the retheme skill with the brief's design direction.
- Distinctive: line 126
Commit only when the speaker asks.
- Very specific: line 127
If the speaker wants to change content later, use add-slide or edit slides directly, and record content changes in docs/decisions.md.
≈ “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
New deck
Builds one talk in this repo, end to end, in phases. The engine (navigation, presenter view,
sync, print, lint) is finished and never changes; only src/slides/, src/deck.ts,
src/assets/icons.ts, src/theme/ and docs/ do.
Before starting, read AGENTS.md and docs/authoring.md. See examples/crypto/docs/ for what the brief, plan, decisions and fact log look like when
done. Open two or three slides in
examples/wifi/slides/ and examples/crypto/slides/ to see the bar for slides and notes: script per step, Next line,
acronyms, likely questions with answers, sources.
Stop at the end of every phase and wait for the speaker's review. Never carry on into the next phase in the same turn.
Where are we?
Check the state first and resume from the right phase:
- No
docs/brief.md: Phase 0. - Brief, but no
docs/plan.md: Phase 1. - Plan approved (
docs/decisions.mdhas entries), andsrc/slides/still holds the starter deck (data-id="idea"in02-idea.html): Phase 2. - Content written: Phase 3, then Phase 4.
Phase 0: Brief
- Gather what the brief needs. If the speaker has already pasted an outline, a brief, lecture
notes or files, read them first and only ask about what is missing. Ask in one round, with
the host's question tool where available, or ordinary chat; offer options where clear-cut:
- topic and working title; speaker name(s) exactly as shown; event or course; date
- audience and what they already know; the goal of the talk
- length, and whether a shorter version (second profile) is needed
- sources: files (put them in
docs/source/, never in the deck), links, required references - language and spelling
- design direction: mood, colours, fonts, light or dark projector (or "decide later")
- Copy
docs/templates/brief.mdtodocs/brief.mdand fill it. Draft the narrative and a slide plan yourself: one idea per slide, about 1 minute per slide on average, title first, references and questions last. Mark every draft line you invented, as opposed to what the speaker gave you, so they can see it. - Copy
docs/templates/decisions.mdanddocs/templates/fact-log.mdintodocs/. - Set
src/deck.tsid(kebab-case) andtitle, andpackage.jsonnameanddescription. Replace the README's header (the kit's banner, badges and intro paragraphs, down to the sync GIF) with this talk's title and a short description, and keep the rest.
Stop. Show the brief's narrative and slide plan; ask for corrections.
Phase 1: Research and plan
If subagents are unavailable, run separate research and adversarial verification passes yourself, following the same evidence requirements. Disclose that verification was not independent. Use this fallback for Phase 3 as well.
- List every factual claim the plan needs: numbers, dates, names, definitions, quotes.
- Research with subagents in parallel, one per topic area, using available models. Each returns claims with primary sources (standards, papers, official docs, the speaker's own material first; vendor blogs and Wikipedia only as pointers), exact figures, dates and caveats.
- Verify adversarially: one independent verification subagent per research batch tries to break each claim (outdated, misquoted, wrong unit, marketing figure, needs a qualifier). Keep only what survives; record disputes.
- Write
docs/fact-log.md(one id per claim) anddocs/research/references.md. - Write
docs/plan.md:- slide table: number,
data-id,data-type, on-screen draft (about 30 words), build steps, target time, profiles - profiles and their total times; backup slides
- diagrams to draw, described in one line each
- numbered flags (C1, C2, …) wherever research contradicts or sharpens the brief, each with a recommendation and the fact-log ids behind it
- structure questions (S1, S2, …): cuts, merges, exempt slides, anything else to decide
- slide table: number,
Stop. Ask the speaker to answer each flag ("ok" accepts the recommendation). Record the
answers in docs/decisions.md, with date and source, before writing any slide.
Phase 2: Content
- Remove the starter deck: delete
src/slides/*.html. Write the new slides followingdocs/authoring.mdexactly. Number the files in talk order (01-title.html, …). - Content comes from the brief as amended by
docs/decisions.md, and nothing else. If a slide needs wording that was not approved, write it, mark the element withdata-todo="why", and list it in your report. - Notes for every slide: Script with one block per step (spoken sentences, simple words),
Next, Acronyms when there are any, If asked with 2 to 4 likely questions, and a
<details>block with sources (fact-log ids), extra Q&A and timing. Usedata-profilelines where a profile skips the following slide. - Diagrams: hand-drawn inline SVG,
dgm-*classes. Add new classes tosrc/theme/diagrams.csswith neutral styling that uses the existing tokens. - Icons: add what you use to
src/assets/icons.ts. Before removing one, check it is not used by the engine (grep -r "'name'" src/engine, e.g. the timer's play, pause, rotate-ccw) or by an example (grep -r data-icon examples). - Update
src/deck.ts: every profile, in order, with target times that add up to the brief. - Check, and fix until clean:
pnpm check(typecheck, Biome, unit tests, slide lint)pnpm test:deck(every slide fits the canvas, axe, one PDF page per slide, offline)pnpm shots, then look at every image inout/shots/: overflow, cramped text, empty space, a diagram that does not read. Fix layout problems with markup structure or theme classes, never with inline styles.
Stop. Report: slide list with times per profile, every data-todo, anything you could not
fit, and the output of the checks (paste failures, do not summarise them away).
Phase 3: Verify
- Adversarial fact check (verification subagent when available): every on-screen number and claim, and every "If
asked" answer, against
docs/fact-log.mdand its sources. Report mismatches; fix only what is a transcription error, and flag the rest. - Copy check (copy-review subagent when available): the voice rules in
docs/authoring.md, spelling consistency, and that each slide's Script covers what is on screen at each step. - Timing: the target times per profile add up to the brief's length, with about a minute spare for questions.
- Build the rehearsal material:
pnpm notes:pdf(and per profile if there are several). - Run
pnpm test:e2eonce, so the engine suite has run on this machine too.
Stop. Report each check with its real output.
Phase 4: Design
Run the retheme skill with the brief's design direction. Stop after it for review.
Then suggest ship-deck for the final build and the files to take to the room.
Notes
- Commit only when the speaker asks. Good commit points are the end of each phase.
- If the speaker wants to change content later, use
add-slideor edit slides directly, and record content changes indocs/decisions.md.
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.

