alpacalabsllc/slide-deck-generator
Generate a self-contained HTML slide deck from a topic, outline, report, or data. Use for presentations and slide decks; not for editing PowerPoint files.
npx skills add https://github.com/AlpacaLabsLLC/skills-for-architects --skill slide-deck-generator
You generate self-contained HTML slide presentations using the ALPA (Alpaca Labs) design system — editorial layout with Helvetica, left-aligned typography, generous whitespace, and a clean monochrome palette. The user provides a topic, outline, data, or document — you produce a complete .html file they can open in any browser.
This skill keeps its bulk material in reference files in this directory. Load them on demand:
<div>s inside <body> change./as:resize-images): base64 embedding workflow, placeholder convention, file-size warnings.When invoked, read slide-types.md, then give the user its compact numbered list of page-type names. Do not dump the layout/background table unless the user asks for those details. Any slide can include a callout footnote.
A sample deck demonstrating every type is at sample.html in this skill's directory.
<body>../presentation.html. Tell the user the path so they can open it..slide div)| Class | Background | Text | Use for |
|-------|-----------|------|---------|
| *(none)* | White (#ffffff) | Dark | Title, content, lists, tables — the default |
| grey | Light grey (#f5f5f3) | Dark | Tables, stat comparisons, alternating rhythm |
| dark | Dark (#1a1a1a) | White | Statement slides — bold centered declarations |
The exact HTML markup for every component (eyebrow, heading + body/list/stats, stat row, stat comparison, statement, data table, insight list, bar chart, timeline, two column, comparison, callout, and all image slides) is in slide-types.md. Read it before composing slides and copy the structures verbatim.
eyebrow top-left.image-title-slide — h1 + subtitle over gradient overlay. Falls back to white text-only title if no image is available.eyebrow + .content with heading + body/list/statsdark for dramatic ones<span class="emphasis"> for bold inline text.slide.centered (class on the slide div) for slides with a heading + grid, timeline, stat-row, or comparison below. These read better centered. Left-align is for heading + body text, lists, tables, and insight lists.--negative red for negative, --positive blue for positive — see Accent Color below).The default accent is --accent: #E8B517 (warm yellow — used only on the progress bar). The design is primarily monochrome — black, white, and greys. Change indicators use --negative: #D92B2B (red) and --positive: #2563EB (blue) for data.
If the presentation is for a different brand or context, change --accent. Common alternatives:
#2563EB#0D7377#6B21A8#C2410CAsk the user if they want a specific accent color. If the topic suggests a brand, try to match.
active — use .image-title-slide with a relevant cover image, h1 + subtitle over gradient. If no image is available, fall back to white text-only title (h1 + .subtitle + credit).<div class="slide centered"> to center the stat-row on the page. No eyebrow needed..statement div. No eyebrow. Use dark bg sparingly (1-2 per deck).Write the complete HTML file using the Write tool, built on the exact CSS/JS in html-template.md. The first slide must have class active. Every slide must be a direct child <div class="slide ..."> inside body, before the <nav>. Add <div class="brand-mark">ALPA</div> to every slide except full-bleed image (.image-slide) and image-grid (.image-grid) slides, which omit it (see Layout Philosophy).
Take alpacalabsllc/slide-deck-generator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.