$npx -y skills add mucsbr/ppt-agent-workflow-san --skill html-slide-to-pptxConvert structured single-slide or small deck HTML files into editable PPTX slides with native text boxes, shapes, chips, arrows, and panels. Use when the user has an HTML slide/design draft and wants a high-fidelity editable PowerPoint instead of a screenshot-based export. Also
| 1 | # html-slide-to-pptx |
| 2 | |
| 3 | Convert structured HTML slides into editable PPTX by parsing semantic blocks and mapping them to native PowerPoint objects. |
| 4 | |
| 5 | This skill is preset-driven. |
| 6 | - Reuse an existing preset when the HTML belongs to a supported slide family. |
| 7 | - Add a new preset when the HTML belongs to a new slide family. |
| 8 | - Do not promise arbitrary HTML/CSS fidelity. |
| 9 | |
| 10 | ## First steps |
| 11 | |
| 12 | 1. Read the incoming HTML and identify the slide family. |
| 13 | 2. If you are on a new machine, a fresh agent, or dependency state is unclear, read `references/setup.md` first. |
| 14 | 3. Run `npm run check-env` before first use on a new environment. |
| 15 | 4. If dependencies are missing, run `npm ci` or `npm install` in the skill directory. |
| 16 | |
| 17 | ## Workflow |
| 18 | |
| 19 | 1. Identify whether the HTML belongs to a supported preset. |
| 20 | 2. Parse the HTML into a small intermediate model instead of trying to render arbitrary CSS. |
| 21 | 3. Generate PPTX with native text/shapes using the bundled script. |
| 22 | 4. Run a QA/preflight review on the generated result or the extracted model. |
| 23 | 5. Open or preview the PPTX and inspect spacing, overflow, and arrow direction issues. |
| 24 | 6. Iterate the preset mapping when fidelity is not good enough. |
| 25 | |
| 26 | ## Current support |
| 27 | |
| 28 | ### Preset: `v9-architecture` |
| 29 | |
| 30 | Use for this exact or near-exact structure: |
| 31 | - Header eyebrow + brand |
| 32 | - Title |
| 33 | - Core summary box |
| 34 | - Left driver panel |
| 35 | - Center layered architecture stack |
| 36 | - Right judgement chain panel |
| 37 | |
| 38 | ### Preset: `ai-runtime-page` |
| 39 | |
| 40 | Use for this exact or near-exact structure: |
| 41 | - Header eyebrow + brand |
| 42 | - Title + lead box |
| 43 | - Input chip row |
| 44 | - Main runtime box with 5 modules |
| 45 | - Support layer cards |
| 46 | - Output chip row |
| 47 | - Base layer + takeaway |
| 48 | |
| 49 | ## Commands |
| 50 | |
| 51 | ### Verify environment |
| 52 | |
| 53 | ```bash |
| 54 | npm run check-env |
| 55 | ``` |
| 56 | |
| 57 | ### Convert HTML to PPTX |
| 58 | |
| 59 | ```bash |
| 60 | node scripts/html_to_pptx.js <input.html> <output.pptx> [--preset=v9-architecture|ai-runtime-page] [--dump-model <file.json>] |
| 61 | ``` |
| 62 | |
| 63 | ### Run preflight QA |
| 64 | |
| 65 | ```bash |
| 66 | node scripts/preflight_qa.js <model.json> [--preset=v9-architecture|ai-runtime-page] [--report <report.json>] |
| 67 | ``` |
| 68 | |
| 69 | ## When no preset fits |
| 70 | |
| 71 | Do not hard-convert arbitrary HTML. |
| 72 | |
| 73 | If the HTML structure is meaningfully different from existing presets, add a new preset by implementing all three layers: |
| 74 | |
| 75 | 1. DOM extraction rules |
| 76 | 2. Layout/render mapping rules |
| 77 | 3. QA/preflight rules |
| 78 | |
| 79 | Reuse existing presets only when the page family is genuinely close. |
| 80 | If the structure differs in information architecture, add a new preset instead of overloading an old one. |
| 81 | |
| 82 | ## Rules |
| 83 | |
| 84 | - Prefer semantic mapping over screenshot embedding. |
| 85 | - Preserve editability first, then iterate toward fidelity. |
| 86 | - Treat browser rendering as reference, not as the generation engine. |
| 87 | - Run QA for every generated result. |
| 88 | - If setup or portability is the issue, read `references/setup.md`. |
| 89 | - If extending support, read `references/preset-decision-rules.md` first, then `references/presets.md`, `references/preset-template.md`, and `references/qa-heuristics.md`. |
| 90 | |
| 91 | ## References |
| 92 | |
| 93 | - Read `references/setup.md` when installing or using the skill on a new machine/agent. |
| 94 | - Read `references/preset-decision-rules.md` when deciding whether to reuse, extend, or replace a preset. |
| 95 | - Read `references/presets.md` when extending to new slide families. |
| 96 | - Read `references/preset-template.md` when creating a brand-new preset. |
| 97 | - Read `references/qa-heuristics.md` when designing or tuning preflight checks. |
| 98 | - Read `references/roadmap.md` when planning higher-fidelity HTML measurement or hybrid background/text-layer approaches. |
| 99 | - Read `references/usage-principles.md` for the full 5-rule usage guide. |
| 100 | - Read `README.md` for a human-friendly overview, setup summary, and portability notes. |