Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate animation-rich HTML presentations with visual style previews. Useful for online keynotes, embedded talks, and interactive briefs.
.claude/skills/nexu-io-frontend-slides/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-19 | ✓→✗ | ▼ Worse | 16% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 89% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 54% | 0% |
Zero-dependency, animation-rich HTML presentations that run entirely in the browser. Curated from the MIT-licensed zarazhangrui/frontend-slides.
Start from example.html in this plugin folder. It is the proven seed: copy its stage CSS, slide shell, and the entire SlidePresentation controller script verbatim, then replace slide content. Do not rewrite the stage system, the navigation script, or the design tokens architecture from scratch.
.deck-viewport (fills the window) wraps .deck-stage (1920×1080, transform-origin: 0 0).factor = min(innerWidth/1920, innerHeight/1080), then translate(x, y) scale(factor) to center with letterbox/pillarbox. Re-run on resize.references/viewport-base.css in the <style> block (the seed already embeds it).<section class="slide"> directly inside .deck-stage. Around 10 slides for a standard deck; split content into more slides rather than shrinking type..active / .visible classes toggling visibility, opacity, pointer-events — never display: none/block (layout classes like display: flex on children would override it and show every slide at once).←/→, ↑/↓, Space, PageUp/PageDown, Home/End.#/<index>; deep links and hashchange restore the slide..deck-controls, fixed-positioned outside the scaled stage.:root CSS custom properties; retheme by editing tokens only.#6366f1 indigo and purple-gradient-on-white clichés.references/STYLE_PRESETS.md (12 curated presets: Bold Signal, Electric Studio, Creative Voltage, Dark Botanical, Notebook Tabs, Pastel Geometry, Split Pastel, Vintage Editorial, Neon Cyber, Terminal Green, Swiss Modern, Paper & Ink) or design a custom system with the same discipline. The seed ships Bold Signal.title-card (colored focal card), agenda (numbered editorial list), section divider (giant outlined number), bullets (icon + heading + support line, max 4-6), big-stat (oversized number + side note), quote, two-column comparison, principle grid (2×2 cards), CSS bar chart (scaleY-animated bars), closing. Keep the slide-number top-left, breadcrumb nav top-right, and baseline rule bottom — that chrome is the deck's signature.
.reveal elements that transition when the slide gains .visible; stagger with transition-delay steps (~0.1s).cubic-bezier(0.16, 1, 0.3, 1)); animate only transform and opacity.prefers-reduced-motion support is mandatory (included in viewport-base.css).references/animation-patterns.md.Ask (or infer) whether the deck is speaker-led or reading-first:
.html file: all CSS and JS inline, no build step, no external JS libraries, no CDN scripts./* === SECTION NAME === */.-clamp() is silently ignored) — use calc(-1 * clamp(...)).| File | When | | ---- | ---- | | references/STYLE_PRESETS.md | Choosing the visual direction | | references/viewport-base.css | Mandatory stage CSS — embed in full | | references/html-template.md | Controller architecture, inline-editing pattern, image pipeline | | references/animation-patterns.md | Matching effects to feeling |
Design system, fixed-stage model, presets, and workflow come from the upstream MIT-licensed zarazhangrui/frontend-slides (© 2025 Zara Zhang). The LICENSE file ships in this plugin folder; keep it in place when redistributing.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 41,990 | 86,441 | +106% | 1 | 1 | 0% | 8,271 | 9,622 | +16% | 0 | 0 | — |
case-02 | fail→fail | 116,877 | 54,033 | -54% | 1 | 1 | 0% | 8,270 | 9,621 | +16% | 0 | 0 | — |
case-03 | fail→pass | 50,527 | 37,513 | -26% | 1 | 1 | 0% | 8,271 | 9,622 | +16% | 0 | 0 | — |
case-04 | pass→pass | 20,367 | 67,858 | +233% | 1 | 1 | 0% | 3,856 | 7,304 | +89% | 0 | 0 | — |
case-05 | fail→fail | 52,611 | 38,528 | -27% | 1 | 1 | 0% | 8,202 | 9,571 | +17% | 0 | 0 | — |
case-06 | pass→pass | 25,915 | 36,562 | +41% | 1 | 1 | 0% | 4,141 | 6,386 | +54% | 0 | 0 | — |
case-07 | fail→fail | 38,072 | 50,015 | +31% | 1 | 1 | 0% | 8,259 | 9,610 | +16% | 0 | 0 | — |
case-08 | fail→fail | 51,703 | 39,440 | -24% | 1 | 1 | 0% | 8,238 | 9,589 | +16% | 0 | 0 | — |
case-09 | fail→fail | 35,764 | 44,047 | +23% | 1 | 1 | 0% | 8,235 | 9,586 | +16% | 0 | 0 | — |
case-10 | fail→fail | 41,604 | 49,437 | +19% | 1 | 1 | 0% | 8,227 | 9,578 | +16% | 0 | 0 | — |
case-11 | fail→pass | 40,709 | 40,152 | -1% | 1 | 1 | 0% | 8,237 | 9,588 | +16% | 0 | 0 | — |
case-12 | fail→fail | 50,979 | 50,979 | 0% | 1 | 1 | 0% | 8,228 | 9,579 | +16% | 0 | 0 | — |
case-13 | fail→fail | 35,279 | 50,415 | +43% | 1 | 1 | 0% | 7,540 | 9,579 | +27% | 0 | 0 | — |
case-14 | fail→fail | 50,393 | 53,809 | +7% | 1 | 1 | 0% | 8,221 | 9,572 | +16% | 0 | 0 | — |
case-15 | fail→fail | 50,581 | 45,389 | -10% | 1 | 1 | 0% | 8,224 | 9,575 | +16% | 0 | 0 | — |
case-16 | fail→fail | 52,298 | 39,097 | -25% | 1 | 1 | 0% | 8,225 | 9,576 | +16% | 0 | 0 | — |
case-17 | fail→fail | 36,508 | 66,360 | +82% | 1 | 1 | 0% | 8,216 | 9,567 | +16% | 0 | 0 | — |
case-18 | fail→fail | 50,092 | 38,233 | -24% | 1 | 1 | 0% | 8,236 | 9,587 | +16% | 0 | 0 | — |
case-19 | pass→fail | 40,562 | 39,311 | -3% | 1 | 1 | 0% | 8,239 | 9,590 | +16% | 0 | 0 | — |
case-20 | pass→pass | 37,322 | 40,429 | +8% | 1 | 1 | 0% | 8,223 | 9,574 | +16% | 0 | 0 | — |
case-21 | fail→fail | 38,009 | 40,655 | +7% | 1 | 1 | 0% | 8,222 | 9,573 | +16% | 0 | 0 | — |
case-22 | fail→fail | 40,156 | 35,704 | -11% | 1 | 1 | 0% | 8,223 | 9,574 | +16% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +5 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.