Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create animation-rich HTML presentations from scratch or convert PowerPoint. Progressive disclosure pipeline: content discovery, style discovery, generation. Zero-dependency single HTML file output. Anti-AI-slop guardrails for natural, professional presentations. Triggers on: "slides", "presentation", "slide deck", "create slides", "convert pptx", "html presentation"
.claude/skills/miosa-osa-slides/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -45% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 37% | 0% |
> Create animation-rich HTML presentations as zero-dependency single files.
Build complete HTML slide presentations from scratch (given a topic or outline) or convert existing PowerPoint files. Uses a progressive disclosure pipeline: first discover content structure, then discover visual style, then generate the final output. Produces a single self-contained HTML file with CSS animations, transitions, and keyboard navigation. Includes anti-AI-slop guardrails to prevent generic bullet points, stock phrases, and over-animated nonsense.
bash# Create from topic /slides --topic "RAG Pipeline Architecture" --audience engineers # Create from outline /slides --outline outline.md --style dark --animations minimal # Convert PowerPoint to HTML /slides --convert deck.pptx # Convert with style override /slides --convert deck.pptx --style "glassmorphic dark" --enhance # Create with specific slide count /slides --topic "Q1 Results" --audience executives --slides 12 # Preview mode (generate 3 slides first) /slides --topic "API Design" --preview
| Flag | Type | Default | Description | |------|------|---------|-------------| | --topic | string | — | Presentation topic (for from-scratch generation) | | --outline | string | — | Path to markdown outline file | | --convert | string | — | Path to PowerPoint file (.pptx) to convert | | --audience | string | general | Target audience: engineers, executives, sales, general | | --style | string | clean | Visual style: clean, dark, glassmorphic, minimal, bold, or custom CSS description | | --animations | enum | moderate | Animation level: none, minimal, moderate, rich | | --slides | int | auto | Target slide count | | --enhance | flag | false | Enhance converted slides (improve layout, add animations) | | --preview | flag | false | Generate first 3 slides for review before completing | | --output | string | presentation.html | Output file path | | --aspect | enum | 16:9 | Aspect ratio: 16:9, 4:3 | | --notes | flag | false | Include speaker notes (visible with N key) |
--style parameter.@keyframes and CSS transitions. Respect prefers-reduced-motion./slides --topic "RAG Pipeline Architecture" --audience engineers --style dark --animations moderate
## Slides — RAG Pipeline Architecture
### Content Structure (12 slides)
1. Title: "RAG Pipeline Architecture"
2. Problem: Why vanilla LLMs fail on domain knowledge
3. Architecture overview: Retrieve → Augment → Generate
4. Retrieval deep-dive: Chunking strategies
5. Retrieval deep-dive: Embedding models + vector stores
6. Augmentation: Context assembly and ranking
7. Generation: Prompt construction with retrieved context
8. Evaluation: How to measure RAG quality
9. Failure modes: Common RAG pitfalls
10. Production considerations: Caching, latency, cost
11. Case study: Real metrics from production deployment
12. Takeaway + Resources
### Anti-slop checks
- ✓ No generic openers
- ✓ All slides have single takeaway
- ✓ Data slides contain specific numbers
- ✓ Animations serve content purpose
### Output
- File: presentation.html (47 KB)
- Slides: 12
- Animations: 23 (entrance: 15, emphasis: 5, transition: 3)
- Navigation: arrow keys, click, touch swipe
- Features: fullscreen (F), speaker notes (N), progress barmarkdown## Presentation Generated - **File**: <path>.html - **Slides**: N - **File size**: N KB (zero dependencies) - **Style**: <style> - **Animations**: N total - **Audience**: <audience> - **Navigation**: Arrow keys, click, touch, fullscreen (F), notes (N) ### Slide Outline 1. <title> — <takeaway> 2. ... ### Quality Checks - Anti-slop: PASS - Contrast: PASS (WCAG AA) - Motion: PASS (respects prefers-reduced-motion) - Print: PASS (print stylesheet included)
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→fail | 16,688 | 13,657 | -18% | 1 | 1 | 0% | 2,629 | 3,620 | +38% | 0 | 0 | — |
case-01 | fail→fail | 39,883 | 38,072 | -5% | 1 | 1 | 0% | 8,265 | 9,737 | +18% | 0 | 0 | — |
case-02 | fail→fail | 37,484 | 37,456 | -0% | 1 | 1 | 0% | 8,259 | 9,731 | +18% | 0 | 0 | — |
case-03 | fail→fail | 35,453 | 38,414 | +8% | 1 | 1 | 0% | 8,264 | 8,006 | -3% | 0 | 0 | — |
case-04 | pass→pass | 14,483 | 13,083 | -10% | 1 | 1 | 0% | 2,827 | 4,113 | +45% | 0 | 0 | — |
case-05 | pass→pass | 15,411 | 13,957 | -9% | 1 | 1 | 0% | 3,337 | 4,177 | +25% | 0 | 0 | — |
case-06 | pass→pass | 14,198 | 15,311 | +8% | 1 | 1 | 0% | 2,611 | 4,388 | +68% | 0 | 0 | — |
case-07 | fail→fail | 8,669 | 9,234 | +7% | 1 | 1 | 0% | 1,479 | 2,964 | +100% | 0 | 0 | — |
case-09 | fail→fail | 11,417 | 9,344 | -18% | 1 | 1 | 0% | 1,925 | 2,898 | +51% | 0 | 0 | — |
case-10 | fail→pass | 13,571 | 12,492 | -8% | 1 | 1 | 0% | 2,228 | 3,703 | +66% | 0 | 0 | — |
case-11 | fail→pass | 8,426 | 3,421 | -59% | 1 | 1 | 0% | 1,541 | 2,049 | +33% | 0 | 0 | — |
case-12 | pass→pass | 9,294 | 2,011 | -78% | 1 | 1 | 0% | 1,581 | 1,761 | +11% | 0 | 0 | — |
case-13 | fail→fail | 16,738 | 15,248 | -9% | 1 | 1 | 0% | 2,769 | 4,217 | +52% | 0 | 0 | — |
case-14 | fail→pass | 14,257 | 2,858 | -80% | 1 | 1 | 0% | 2,465 | 1,984 | -20% | 0 | 0 | — |
case-15 | fail→pass | 18,346 | 1,525 | -92% | 1 | 1 | 0% | 3,087 | 1,705 | -45% | 0 | 0 | — |
case-16 | pass→pass | 16,796 | 16,952 | +1% | 1 | 1 | 0% | 2,597 | 4,266 | +64% | 0 | 0 | — |
case-17 | fail→pass | 8,648 | 2,636 | -70% | 1 | 1 | 0% | 1,378 | 1,883 | +37% | 0 | 0 | — |
case-18 | fail→pass | 7,872 | 2,474 | -69% | 1 | 1 | 0% | 1,313 | 1,776 | +35% | 0 | 0 | — |
case-19 | fail→pass | 9,880 | 1,442 | -85% | 1 | 1 | 0% | 1,536 | 1,651 | +7% | 0 | 0 | — |
case-20 | fail→pass | 15,862 | 2,209 | -86% | 1 | 1 | 0% | 2,667 | 1,802 | -32% | 0 | 0 | — |
case-21 | fail→pass | 9,271 | 4,453 | -52% | 1 | 1 | 0% | 1,663 | 1,870 | +12% | 0 | 0 | — |
case-22 | fail→fail | 13,668 | 6,517 | -52% | 1 | 1 | 0% | 2,369 | 2,613 | +10% | 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 +41 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.