Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/first-fluke/fullstack-starter/oma-slidenpx skills add first-fluke/fullstack-starter --skill oma-slidegit clone --depth 1 https://github.com/first-fluke/fullstack-starterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/first-fluke/fullstack-starter/oma-slide)<a href="https://agentmods.dev/skills/first-fluke/fullstack-starter/oma-slide"><img src="https://agentmods.dev/badge/skills/first-fluke/fullstack-starter/oma-slide.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00110 | $0.04420 |
| Opus 5 | $0.00055 | $0.02210 |
| Sonnet 5 | $0.00022 | $0.00884 |
| Haiku 4.5 | $0.00011 | $0.00442 |
Grade C, and why
oma-slide scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Hidden instructionshighPrompt injection
Directives inside HTML comments, invisible characters or bidirectional overrides are read by the model and not by the person reviewing the file.
<!-- oma-docs:ignore-start --> This is a copy
100% identical to oma-slide — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 299 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Slide Agent — Animation-Rich HTML Deck Generator
Scheduling
Goal
Generate distinctive, anti-"AI slop" HTML presentation decks authored at a fixed 1920×1080 stage,
validate geometry deterministically via the oma slide CLI, and deliver self-contained bundles
exportable to PDF, PNG, and PPTX.
Intent signature
- User asks to create a slide deck, presentation, keynote, or series of slides.
- User provides a topic, outline,
.pptxto import, or existing deck to enhance. - User mentions slide, deck, pptx, keynote, 슬라이드, 발표자료, プレゼン, 幻灯片, 演示文稿.
- User mentions Canva, canva export, canva import, 캔바, キャンバ.
- Another skill needs a visual output artifact (e.g., a research result delivered as a deck).
When to use
- Creating a new presentation from a topic or outline
- Enhancing or reformatting an existing deck
- Generating per-slide HTML with animations and design-doctrine aesthetics
- Exporting a deck to PDF, PNG, or PPTX after generation
- Applying a named style preset or bold template to a deck
- Exporting a generated deck to Canva as a presentation
- Importing a Canva design as input for enhancement
When NOT to use
- Plain document creation (no slides needed) → use oma-backend or direct output
- Image generation alone → use oma-image directly
- Brand/design-system definition → defer to oma-design
- Deterministic CLI ops (validate/bundle/export) without generation → call
oma slideCLI directly - Long-form scrolling code-change explainer document → use oma-explanation (deck is a fixed 1920×1080 stage)
Expected inputs
- Topic, title, or outline (text or markdown)
- Optional:
.pptxfile to import (oma slide import-pptx) - Optional: user-provided images/video in
./assets/ - Optional: slide count, density preference (sparse/balanced/dense), target audience
- Optional: named style preset or
oma slide styles get <slug>reference - Optional: Canva design ID or URL for import
Expected outputs
- Per-slide
slide-NN.htmlfragments under.agents/results/slides/<session-id>/(authored at 1920×1080 px) - Updated
meta.jsonwith{ title, order[], style, density, speakerNotes } - Validation pass via
oma slide validate(or a surfaced diff if auto-fix fails after 3 iterations)
- Optional:
viewer.html,out/deck.htmlbundle, exports
- Optional: Canva design URL (when Canva export is requested)
What ships with it
10 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- resources/animation-patterns.md 8.4 KB
- resources/assets/deck-stage.js 17 KB runs code
- resources/assets/viewport-base.css 8.8 KB
- resources/canva-integration.md 11 KB
- resources/checklist.md 1.7 KB
- resources/design-doctrine.md 11 KB
- resources/fixed-stage.md 9.0 KB
- resources/generation-protocol.md 18 KB
- resources/selection-index.json 25 KB
- resources/style-presets.md 15 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed 557d9c0f0666
- yesterday First seen · 299 lines · 110 tokens per session scan C e7e7208dd4ce
oma-slide is a skill published in the GitHub repository first-fluke/fullstack-starter (222 stars, last pushed today), licensed MIT. It adds 110 tokens to every session and 4,420 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it C with 1 finding (hidden instructions). It is 100% identical to oma-slide, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
omd:media
Brand-consistent asset sets from DESIGN.md — hero, section illustrations, icon sets, OG image — generated through whichever channel the user actually has (grok build imagegen, Codex $imagegen, Gemini, xAI/Recraft/OpenAI keys) as recorded by omd:setup, with a provenance and cost ledger. No channel → prompt pack +…
emil-design-eng
This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.
playwright-testing
Use when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling authentication or OAuth, testing accessibility (axe-core), file uploads/downloads, date/time mocking, WebSockets, geolocation, permissions…
animation-vocabulary
Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and…
frontend-design
Build distinctive, production-quality UI. Use when creating or reshaping user-facing interfaces, components, pages, layouts, visual redesigns, responsive behavior, loading/error/empty states, or accessibility-sensitive frontend work.
review-animations
Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.