agentsclimarketplace

Slides animejs

Skill tagius/slides-animejs

Build a PowerPoint-style, 16:9 full-screen, browser-served slide presentation animated with anime.js v4. Orchestrates content brainstorming (scientific-brainstorming), academic structuring (scientific-slides), UI/UX design (ui-ux-pro-max), static authoring (slides-grab), animation patterns (anime.js-best-practices + Context7), PPTX intake (pptx), and sparse comic relief (meme-factory). Outputs a self-contained bundle the user runs with `python3 run.py`. Trigger when the user asks to make an animated web slideshow, browser-served presentation, or convert a pptx to an interactive HTML deck with animations.From its SKILL.md

Install
npx -y skills add tagius/slides-animejs

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.8 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

slides-animejs

A meta-skill that turns raw input (free text, a topic + audience + length brief, an outline, or a .pptx) into a self-contained, browser-served, 16:9, full-screen slide deck animated with anime.js v4. The output is a ./presentation/ folder the user runs with python3 run.py and views in any browser. An overlay layer provides prev/next, fullscreen, a grid view, slide counter, progress bar, and speaker notes.

What this skill does

It orchestrates other skills across an interactive, eleven-phase workflow:

  1. Bootstrap — fetch the latest anime.js v4 reference (Context7 + anime.js-best-practices), initialize CLAUDE.md and AGENTS.md in the user's project.
  2. Intake — detect input (text, .pptx, outline, folder of materials) and capture audience / length / tone / academic flag / palette preference / meme allowance.
  3. Content brainstorm — use scientific-brainstorming (and, for academic decks, scientific-slides for structural guidance only) to draft slide-by-slide content into presentation_plan.md.
  4. Content Q&A — loop with the user on each slide until content is locked.
  5. Design brainstorm — call ui-ux-pro-max to pick palette, typography, and style; commit tokens to the plan and memory.
  6. Visual assets — audit ./visuals/, generate/fetch SVGs, optionally produce sparse memes via meme-factory, and pause to let the user drop in their own assets.
  7. Static draft via slides-grab — synchronize with slides-grab-plan (style approval), then run slides-grab-design to author slide-XX.html files at the 720×405 px final-viewport canvas (slidegrab is the review/authoring stage; the viewport is the source of truth).
  8. Draft feedback — collect feedback, iterate on plan + slide HTML.
  9. Animation build — run scripts/build.py to produce the ./presentation/ bundle (vendored anime.esm.min.js, design-token CSS, slide manifest, overlay, server).
  10. QA preview — print the run command; optional playwright-cli screenshot pass for layout regressions.
  11. Handoff — auto-run slides-grab-export to produce a PDF backup, print final instructions.

The workflow is interactive with explicit checkpoints. The skill never builds the final animated bundle without explicit user go-ahead. A skill re-invocation reads CLAUDE.md and offers to resume from the recorded phase.

Locked decisions (binding)

These are user-confirmed and must not be relitigated:

  1. Skill name: slides-animejs.
  2. Output bundle path: ./presentation/ in the user's project, sibling of presentation_plan.md and ./visuals/.
  3. Memory files: write both CLAUDE.md and AGENTS.md in the user's project (mirrored content) for cross-agent compatibility.
  4. anime.js: always vendor locally as assets/anime.esm.min.js. No CDN mode. Bundle is fully offline.
  5. PDF backup: slides-grab-export runs automatically at phase 10 (handoff) and writes ./presentation/backup.pdf.
  6. PPTX back-conversion is not supported — HTML + anime.js is the only output format.

File layout produced in the user's project

The bundle lives in ./presentation/ (sibling of presentation_plan.md, CLAUDE.md/AGENTS.md, and ./visuals/). The user runs cd presentation && python3 run.py and the browser opens at http://localhost:8000. Full tree, asset templates, and script inventory: see references/skill-internals.md.

How to operate this skill

When invoked, the orchestrator:

  1. Reads any pre-existing CLAUDE.md in the working directory. If a ## Current phase block exists, summarize state in two lines and ask: "Continue from phase X, or jump to phase Y?".
  2. Otherwise, enters phase 0 (Bootstrap) and follows references/workflow.md step-by-step.

Each phase has explicit enter / do / ask / write / exit rules — see references/workflow.md for the verbatim operational playbook.

Hard rules

  • 16:9 full viewport; the browser window IS the slide. No "card on a page" layout. Letterbox/pillarbox when the window aspect deviates.
  • Animate only transform and opacity. Respect prefers-reduced-motion.
  • Vendor anime.js locally; the bundle must run offline.
  • Memes appear sparingly (max ~1 per 6 slides) and never on academic decks unless the user explicitly opts in.
  • Pause at phase 5 to instruct the user to drop assets into ./visuals/. Do not auto-fill silently.
  • Never run phase 9 (final animation build) without explicit user go-ahead.
  • Keep CLAUDE.md and AGENTS.md in sync (rewrite atomically on every phase transition).
  • Run the phase-0 dependency preflight (references/workflow.md) first: block if a hard-required sub-skill or Context7 MCP is missing; warn-and-degrade for missing optional skills.

Sub-skills orchestrated

Content: scientific-brainstorming, scientific-slides (academic only). Design: ui-ux-pro-max. Static authoring: slides-grab-plan, slides-grab-design, slides-grab-export. Animation: anime.js-best-practices (+ Context7). Intake: pptx. Extras: meme-factory (sparse), playwright-cli (optional QA).

Per-skill purpose + gotchas: references/skill-internals.md. Exact call contracts: references/subskill-integration.md. Verified spec deviations: references/compatibility-notes.md. Required-vs-optional preflight: references/workflow.md phase 0.

References (load on demand)

FileWhen to read
references/workflow.mdAlways — the operational playbook for phases 0–10.
references/animejs-condensed.mdPhase 0; refreshed via Context7. Cite during animation authoring.
references/animejs-patterns.mdPhases 6–9 when picking entrance / exit / transition recipes.
references/slide-design-rules.mdPhases 6–9 for 16:9 rules, type scale, contrast, reduced-motion handling.
references/presentation-plan-schema.mdAny time presentation_plan.md is created or edited.
references/subskill-integration.mdWhen orchestrating a specific sub-skill call.
references/compatibility-notes.mdWhenever a sub-skill's actual behavior diverges from the spec.
references/skill-internals.mdBundle tree, asset templates, and scripts/ inventory — when building/validating the bundle.

Quick-reference invariants

  • Slide canvas: 720 px × 405 px — the final 16:9 viewport, and the source of truth. overlay.js scales .slide-frame to the window via min(innerW/720, innerH/405) (uniform scale + letterbox). slides-grab authors at this same canvas only to ease the review step; if the two ever diverge, the viewport wins.
  • Animations: WAAPI-first; prefers-reduced-motion short-circuits both the auto-animator and per-slide custom timelines.
  • Per-slide custom timelines: window.__slideTL[n] = (root) => ({ cancel }) (namespaced; cancel runs on slide exit to stop intervals/timelines and reset DOM).
  • Server: stdlib http.server on port 8000 (override with SLIDES_PORT).
  • Bundle is idempotent — re-running scripts/build.py overwrites the bundle without touching plan or drafts.

Runtime model (full detail in references/workflow.md + references/slide-design-rules.md)

  • iframe isolation — each slide loads in its own <iframe srcdoc> with <base href="/">, so slide HTML may use html/body/:root/bare-element selectors freely without polluting other slides. The parent animates the iframe element (transform + opacity) for transitions and calls __slideEntered(i) / __slideExited() on the iframe window.
  • Step protocol — a slide may set window.__slideSteps = K + window.__slideStep = (n, dir) => void for PowerPoint-style click-advance (parent steps 0..K within the slide before navigating).
  • Footer safe-zone — a 26 px footer band sits at the bottom; every slide reserves ≥ 38 px bottom padding (or pads inner columns).
  • Idle animations — every slide gets a subtle baseline idle; make 2–3 slides per deck "signature" with a topic-anchored idle that becomes a memory anchor.
  • SVG gotcha — never apply CSS transform: scale() to a <g transform="translate()"> (it replaces the attribute and collapses the group); animate inner shape coords (cx/cy/x/y) or use transform-box: fill-box.

End-of-skill checklist before declaring success

  • presentation_plan.md exists with the canonical schema.
  • CLAUDE.md and AGENTS.md are in sync and reflect the current phase.
  • ./visuals/ exists; every slide that references an asset resolves to a file.
  • ./presentation/ builds, validates, and opens in the browser with all overlay features functional.
  • ./presentation/backup.pdf exists.
  • Reduced-motion fallback verified by toggling the OS setting (or prefers-reduced-motion: reduce in DevTools).
  • User has been handed the run command and the bundle path.

What ships with it: 44 files

297.6 KB alongside SKILL.md, 9 of them executable

4 more files not listed here. See all 44 in the repository.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.