agentleFS
freemafreema/ai-skills/skills/html-slide-deck/SKILL.md

html-slide-deck

Skill5 starsChanged 19 days agoMITView on GitHub

Build self-contained HTML slide decks — one file, fixed 1920×1080 auto-scaling stage, keyboard/click navigation, progress bar, dark/light themes, speaker notes as HTML comments, and a token-based tech-editorial design system. Use when the user wants a presentation, slide deck, pitch deck, talk slides, or a slideshow that opens from a file:// URL in any browser with no build step and no framework. Covers the deck shell, a slide component catalog (terminal windows, compare cards, flow diagrams, stat tiles), per-deck accent colors, video/asset conventions, and content rules.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Videos never go into git: Keep MP4s outside the repo.

    line 66
  2. Distinctive:

    Real data or no data: Never lorem ipsum, never invented numbers.

    line 72

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Self-contained HTML slide deck

A deck is one HTML file: styles, markup, and a ~100-line navigation engine inline. No reveal.js, no CDN, no build step — it opens from file://, survives offline conference Wi-Fi, and diffs cleanly in git. Start every deck from references/deck-template.html and replace the content; the design intent behind it is documented in references/design-system.md.

Workflow

  1. Collect source material first. Real numbers, real command output, real screenshots. A deck written before its facts exists twice.
  2. Outline before markup. Agree the slide list with the user (10–15 slides for a 30-minute talk): title → context/problem → the thing itself → demo → numbers → takeaways → Q&A. One idea per slide.
  3. Copy the template, set <title>, the footer wordmark, and pick the deck's --accent color — one line, everything else derives from it.
  4. Fill the slides using the component catalog (see reference). Reuse the example slides as starting points; delete what you don't need.
  5. Write speaker notes as you go, not at the end (convention below).
  6. Check both themes (T key) and a resized window before calling it done.

Conventions

Speaker notes live in an HTML comment immediately after each </section>:

<!--
  WHAT TO SAY (slide 4):
  Walk through the output top to bottom. Expected question: "does it scale?"
  → yes, N calls/day since March, zero incidents.
-->

They never render, they travel with the file, and they keep the narrative — and prepared answers to expected questions — next to the slide they belong to.

Slide numbering is automatic. The engine numbers .idx counters and the NN — kicker prefixes from DOM order at load. Insert or reorder slides freely; never hand-number anything. Give each <section> a short data-label.

Repo layout for a deck collection (one deck = one folder):

decks/
└── my-talk/
    ├── index.html      # the whole deck
    ├── assets/         # images, poster JPGs — small files only
    └── sources/        # outline, raw notes, data the slides were built from

Videos never go into git. Keep MP4s outside the repo; commit only a poster JPG and wire the video with <video poster="assets/demo-poster.jpg"> and a relative path. A repo with committed videos bloats within weeks.

Content rules

  • Real data or no data. Never lorem ipsum, never invented numbers. If a number is on a slide, it has a source and a date; missing facts are asked for, not made up.
  • Nothing confidential in a shareable deck — no internal hostnames, customer names, tokens, or PII in screenshots. Blur or rebuild examples.
  • Bullets: 3–5 per slide, one line each. If a bullet wraps twice, it's prose — cut it or split the slide.
  • Terminal slides show trimmed real output — keep the interesting lines, mark cuts with a # … comment line.
  • Bold (<b>) is for the words the audience should retain; .ac accent spans are for the deck's key terms. If everything is bold, nothing is.

Anti-patterns

  • Pulling in reveal.js / a CDN / a framework — kills the single-file property.
  • Hand-numbering slides or hard-coding "slide 7 of 14" in content.
  • Inline hex colors instead of tokens — breaks the light theme and per-deck re-accenting (one --accent change must re-skin the whole deck).
  • Responsive thinking — the stage is a fixed 1920×1080 canvas that scales as a whole; design at that size.
  • A demo slide with no fallback — always keep a terminal/screenshot slide next to a live demo.

References

  • references/deck-template.html — runnable 7-slide skeleton: shell, engine, full component CSS, example slides with speaker-note comments.
  • references/design-system.md — tokens, typography, component catalog, accent and light-theme rules, how to extend without breaking the system.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.