Creates or updates a RevealJS HTML presentation by copying a bundled template and customizing it with user-specific content, styling, and slide structure.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when the user wants to create a new RevealJS-based slide deck or convert an outline into HTML slides using the repository's specific house template. It is also appropriate for updating existing RevealJS decks within this project context, including adjusting fonts, colors, or adding specific slide types like dividers or code blocks.
Use this skill when the user wants a RevealJS-based slide deck or wants to start a new talk from the repository's house template.
Start from the bundled template asset instead of rebuilding the RevealJS shell from scratch:
./assets/index.htmlReveal.initialize(...) block unless the user explicitly asks to change them.After copying the template, replace these placeholders before expanding the deck:
Talk TitleConference Name · Month YearYour NameRole · Company · website.examplefilename.html and example.com/...Then rewrite or remove the example slides so the deck matches the user's topic.
class="heading-only".<pre><code> block.class="no-code-badge" to that section.Change the body font in the .reveal rule near the top of the template:
.reveal {
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
Examples:
font-family: 'Work Sans', sans-serif;font-family: 'Source Serif 4', serif;If using a web font, also add the corresponding <link rel="stylesheet"> in <head>.
Change headings separately in:
.reveal h1,
.reveal h2,
.reveal h3 {
font-family: inherit;
}
Examples:
inheritfont-family: 'Roboto', sans-serif;font-family: 'Fraunces', serif;Adjust the default body sizing here:
.reveal p,
.reveal li,
.reveal td,
.reveal th {
font-size: 1em;
}
Increase or decrease that font-size when the user wants a generally larger or smaller deck.
Global code block styling lives in:
.reveal pre { ... }
.reveal pre code { ... }
Adjust those rules for larger code, different padding, or lighter/heavier borders.
The divider slide look is controlled by section.heading-only and the underline rule:
.reveal section.heading-only h1::after,
.reveal section.heading-only h2::after,
.reveal section.heading-only h3::after { ... }
Remove that block if the user wants divider slides to look more like plain RevealJS headings.
If the user customizes colors, keep text/background combinations at accessible contrast.
Preserve accessibility basics when creating or customizing decks.
RevealMenu currently has a known accessibility issue: its generated menu trigger may lack a discernible accessible name. If the user keeps the plugin, note that this can remain as an axe violation even when the slide content itself is fine.If the user asks for an accessibility review in VS Code, open the deck in the integrated browser and run axe-core on the rendered page.
Example Playwright snippet:
await page.addScriptTag({
url: 'https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.10.2/axe.min.js'
});
const results = await page.evaluate(async () => {
return await window.axe.run(document, {
runOnly: {
type: 'tag',
values: ['wcag2a', 'wcag2aa']
}
});
});
When reporting results:
violations from incomplete checks.After creating or editing the deck:
LICENSESKILL.mdassets/index.htmlVendored from pamelafox/presentation-skills, commit 2b809b3a8d2f, path .agents/skills/make-revealjs-presentation, licence MIT. The upstream licence file ships inside the skill.