skill.ferryman.app

vibe-slides

Create, edit, validate, and export browser-based presentations as single HTML files using Reveal.js, with visually faithful PDF output when requested. Use only when the requested artifact is explicitly a browser presentation, web slides, HTML slides, Reveal.js deck, 网页 PPT, slide PDF sourced from HTML, or an existing HTML presentation that needs repair or visual QA. Do not use for PPTX authoring or for a generic presentation request whose output format is unspecified; clarify or route the for…

Installation

$ npx skills add https://skill.ferryman.app

Summary

  • Create, edit, validate, and export browser-based presentations as single HTML files using Reveal.js, with visually faithful PDF output when requested.
  • Use only when the requested artifact is explicitly a browser presentation, web slides, HTML slides, Reveal.js deck, 网页 PPT, slide PDF sourced from HTML, or an existing HTML presentation that needs repair or visual QA.
  • Do not use for PPTX authoring or for a generic presentation request whose output format is unspecified; clarify or route the format first.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from skill.ferryman.app · top by installs.

npx skills add https://skill.ferryman.app

Browse all from skill.ferryman.app

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 9,166 B

History

  1. First recorded snapshot · 2 installs

SKILL.md

Vibe Slides

Create audience-ready browser presentations and prove that they communicate.

Completion bar

A deck is complete only when all of these are true:

  • required source content is present and factually unchanged unless editing was authorized;
  • each slide has one clear focal point and a deliberate role in the argument;
  • important text, screenshots, charts, and UI evidence are readable without zooming at the target viewport;
  • full-size and contact-sheet review show intentional density, whitespace, hierarchy, and variation;
  • browser interaction and, when requested, rendered PDF pages pass their separate checks.

Static validation, successful rendering, correct page count, and absence of overflow are necessary but never sufficient evidence of visual quality. Do not deliver while any required completion condition is unproven.

Establish the contract

Infer topic, audience, purpose, delivery setting, language, approximate length, and density from supplied material. Ask only when a missing answer would change the story or acceptance. Distinguish:

  • speaker-led: fewer words and larger type, without assuming animated reveals;
  • reading-first: more self-contained evidence, still without scrolling.

After browser/HTML output is established, default to one HTML file that loads Reveal.js from a pinned CDN version. Network access is allowed. Do not replace Reveal.js with a custom runtime merely to avoid a dependency. Use another runtime only when the user requests it or Reveal.js cannot express the interaction.

Route the work before editing:

  • new deck or substantial rewrite: read story.md, design.md,

reveal-contract.md, and visual-qa.md;

  • faithful migration: also create the source inventory and page-aligned text

comparison described below;

  • existing-deck repair: preserve the established visual language and read only

the references governing the affected behavior;

  • PDF output: additionally read pdf-export.md.

Build the story before the page

Read [references/story.md](references/story.md) when creating or substantially rewriting a deck. Define the audience change, narrative spine, and one communication job per slide before implementation. Use audience-facing action titles; keep production notes out of visible slides.

When the user supplies a reference deck or webpage, classify the task before editing:

  • faithful migration: preserve the source's complete content and visual

system while changing the presentation runtime;

  • redesign: change narrative or visual language with explicit permission.

Default to faithful migration when the user asks to copy, reproduce, convert, port, or make a web/PDF version. Before implementation, capture every source page at the target viewport and inventory every visible heading, paragraph, number, table cell, image, diagram, footnote, and brand element. Do not treat summarization, rewording, page splitting, page merging, color substitution, or layout replacement as preservation. If pagination must change to prevent overflow, retain the source's information grouping and explain the change.

For HTML-to-HTML migration, extract visible text per source page and output slide, normalize whitespace, and run a page-aligned text diff before visual QA. Resolve every missing or changed line, including short labels, captions, units, dates, meaningful arrows, and status text. Side-by-side images do not replace this text diff.

Rebuild source text, tables, diagrams, and layout as native HTML/CSS. Use image-preserving playback only when the user explicitly requests it; detailed image and screenshot rules live in design.md.

Choose the visual system

Read [references/design.md](references/design.md) before creating or redesigning a deck. Derive the visual direction from the topic, brand, references, and delivery setting. When preference is unclear and visual choice materially changes the result, create 2–3 authentic title-slide previews for selection. Do not show internal labels such as “Option A” inside the slides.

For a new deck or authorized redesign without a source visual system, use the routing index in [references/design-systems/index.md](references/design-systems/index.md). Shortlist at most three relevant systems and load only the selected recipe after preview or explicit choice. Never apply a curated system to a faithful migration or established brand merely because it is available.

Before styling, write a compact slide plan containing the communication job, action title, complete content, primary visual, and layout silhouette for every slide. If planned content cannot remain readable, split the slide before implementation. Do not solve density by making screenshots or body text tiny.

Prefer a small layout vocabulary with varied silhouettes. Split content before shrinking text. Follow the motion defaults and exceptions in reveal-contract.md.

Implement with Reveal.js

For a new deck, run:

python3 <skill-dir>/scripts/scaffold.py <output.html> --title "Deck title" --lang en

Then replace the sample sections while preserving the runtime and accessibility contract. Read [references/reveal-contract.md](references/reveal-contract.md) before implementation or when changing navigation, fragments, notes, printing, or URL behavior.

Keep source provenance near the claim or visual. Use a visible footer, an <aside class="notes">, or a final sources slide. Default to notes for technical provenance; put sources on the canvas only when the audience needs them to interpret or trust that specific slide. Never expose a raw URL, draft-style Source: label, or internal citation placeholder as decorative footer copy.

When editing an existing deck, preserve its established visual language unless the user requests a redesign. Keep local assets on stable relative paths.

Validate and iterate

Run the deterministic contract validator:

python3 <skill-dir>/scripts/validate_deck.py <deck.html>

Fix every error. Treat warnings as review prompts, not automatic failures. Then read [references/visual-qa.md](references/visual-qa.md) and use an available browser tool to complete every required interaction, full-size, contact-sheet, viewport, overlap, fit, and communication gate defined there. Fix failures and repeat the affected checks.

Preserve semantic role as well as literal presence. A date, launch state, qualification, section label, or future commitment does not count as preserved when it is moved to a low-prominence footnote, generalized, or rewritten as a different roadmap state. For every source claim, compare value, tense/timing, scope, visual emphasis, and association with its heading, row, column, image, or diagram before marking content fidelity as Passed.

Record the required gates using the ledger in visual-qa.md. A failed or unrun required gate blocks delivery; do not downgrade it to a caveat.

Export a faithful PDF

Read [references/pdf-export.md](references/pdf-export.md) whenever PDF output is requested. Export from the final HTML with Reveal.js print mode; never rebuild the deck in a separate PDF layout system. Use:

node <skill-dir>/scripts/export_pdf.mjs <deck.html> <deck.pdf>

Follow every post-export comparison and repair gate in pdf-export.md. Do not call an export WYSIWYG based only on page count or successful file creation.

Treat demos and live tests as audience-facing quality samples, not diagnostic checklists. A deck that proves navigation but lacks a coherent story, visual thesis, layout variation, and presentation-ready copy has not passed visual QA.

Keep live-test and customer material outside the distributable Skill. Before promoting a prototype recipe, example, script fixture, or asset into skills/, remove customer names, brands, logos, slogans, people, proprietary product names, screenshots, and other identifying content. Re-run the repository distribution validator; a clean visual design abstraction is allowed, but a customer-derived example or asset is not.

Continue while a concrete in-scope correction remains. Stop and report the exact missing evidence when a required source, tool, access path, or user choice prevents further verification; never convert an unrun gate into a pass.

Deliver

Return the final HTML path, slide count, visual direction, dependency mode, and validation performed. When PDF was requested, return its path and describe the render-and-compare evidence. Mention any network dependency and any unverified behavior. Do not deliver scratch previews or test artifacts unless requested.