Skill v1.0.2
currentAutomated scan100/1007 files
version: "1.0.2" name: slides-grab-export description: Stage 3 conversion skill usable in Codex and Claude Code. Convert approved HTML slides to PDF or per-slide PNG reliably, and to experimental / unstable PPTX/Figma outputs on a best-effort basis. metadata: short-description: Convert slides and run conversion checks
slides-grab Export Skill
Use this only after the user approves design output and the Stage 2 design gate verdict is `Proceed` (zero unresolved Critical findings — see ../slides-grab-design/references/design-gate.md). PDF, PPTX, and Figma exports require a fresh slides-grab design-gate Proceed receipt for the current slide files.
Goal
Convert reviewed slide HTML into PDF or per-slide PNG reliably, and into experimental / unstable PPTX/Figma outputs on a best-effort basis.
Inputs
- Approved
<slides-dir>/slide-*.html - Optional output path settings
Outputs
- Presentation artifact (
.pdf,.pngper slide, or.pptx)
Workflow
- Confirm user approval for conversion and that the Stage 2 design gate passed with verdict
Proceed. If any Critical design-gate finding is still unresolved, refuse to export — return to Stage 2, fix the Critical issue, re-run the gate, record Proceed withslides-grab design-gate, and only then convert. - Pick the right primary target:
- Card-news / Instagram-style decks →
slides-grab png --slides-dir <path> --slide-mode card-news --resolution 2160p(seeslides-grab-card-news). - Widescreen slide decks →
slides-grab pdf --slides-dir <path> --output <name>.pdf.
- When per-slide raster output is needed (card news, social posts, thumbnails):
slides-grab png --slides-dir <path> --output-dir <path>/out-png --resolution 2160p- Add
--slide-mode card-newsfor 1:1 cards.
- If the user also wants a PDF deck:
slides-grab pdf --slides-dir <path> --output <name>.pdf- Add
--slide-mode card-newswhen the deck is square.
- For decks with Chart.js or other
<canvas>charts, confirmslides-grab validate --slides-dir <path>passes withoutempty-canvas, then build/openviewer.htmlonce before export. Chart.js charts should use disabled animation so PDF/PNG capture sees the final painted state. - If the user wants PPTX (experimental / unstable):
- Default visual-fidelity export:
slides-grab convert --slides-dir <path> --output <name>.pptx --engine raster - Editable-text export:
slides-grab convert --slides-dir <path> --output <name>-editable.pptx --engine text --resolutioncan only be used with the raster engine. The text engine requires semantic text tags, rasterizes canvas/SVG visuals, and may reject unsupported HTML/CSS.
- If the user wants Figma-importable PPTX (experimental / unstable):
slides-grab figma --slides-dir <path> --output <name>-figma.pptx
- Report success/failure with actionable errors.
Rules
- Do not export while any Critical design-gate finding is unresolved (
../slides-grab-design/references/design-gate.md). The design gate is a hard precondition for this stage, andslides-grab pdf,slides-grab convert, andslides-grab figmablock if the latest receipt is missing or stale. - Do not modify slide content during conversion stage unless explicitly requested.
- If conversion fails, diagnose and fix root causes in source HTML/CSS.
- For chart-heavy decks, treat a blank exported chart as a source rendering bug first: re-run validation, inspect
empty-canvas, and verify the same slide inviewer.htmlbefore retrying PDF/PNG/PPTX export. - Always tell the user that PPTX and Figma export are experimental / unstable and may require manual cleanup.
- Use the packaged CLI and bundled references only; do not depend on unpublished agent-specific files.
Reference
For detailed conversion behavior and tools, use:
references/export-rules.mdreferences/pptx-skill-reference.md— archived full PPTX workflow guidancereferences/html2pptx.md— archived converter usage guidereferences/ooxml.md— archived OOXML reference