# HTML Slide To PPTX

Convert structured single-slide or small deck HTML files into editable PPTX slides with...

- Repository: https://github.com/mucsbr/ppt-agent-workflow-san (652 stars)
- Category: Design
- License: see repository
- Last updated: 2026-09-02
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add mucsbr/ppt-agent-workflow-san --skill html-slide-to-pptx -g -a claude-code -y`
Codex: `npx skills add mucsbr/ppt-agent-workflow-san --skill html-slide-to-pptx -g -a codex -y`
Cursor: `npx skills add mucsbr/ppt-agent-workflow-san --skill html-slide-to-pptx -g -a cursor -y`
Gemini CLI: `npx skills add mucsbr/ppt-agent-workflow-san --skill html-slide-to-pptx -g -a gemini-cli -y`

## Description

Convert 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 use when the HTML does not fit an existing slide family and a new preset must be added before conversion. Especially useful for Gartner/analyst-style technical slides, architecture pages, AI runtime pages, and other fixed-layout HTML presentation pages.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# html-slide-to-pptx

Convert structured HTML slides into editable PPTX by parsing semantic blocks and mapping them to native PowerPoint objects.

This skill is preset-driven.
- Reuse an existing preset when the HTML belongs to a supported slide family.
- Add a new preset when the HTML belongs to a new slide family.
- Do not promise arbitrary HTML/CSS fidelity.

## First steps

1. Read the incoming HTML and identify the slide family.
2. If you are on a new machine, a fresh agent, or dependency state is unclear, read `references/setup.md` first.
3. Run `npm run check-env` before first use on a new environment.
4. If dependencies are missing, run `npm ci` or `npm install` in the skill directory.

## Workflow

1. Identify whether the HTML belongs to a supported preset.
2. Parse the HTML into a small intermediate model instead of trying to render arbitrary CSS.
3. Generate PPTX with native text/shapes using the bundled script.
4. Run a QA/preflight review on the generated result or the extracted model.
5. Open or preview the PPTX and inspect spacing, overflow, and arrow direction issues.
6. Iterate the preset mapping when fidelity is not good enough.

## Current support

### Preset: `v9-architecture`

Use for this exact or near-exact structure:
- Header eyebrow + brand
- Title
- Core summary box
- Left driver panel
- Center layered architecture stack
- Right judgement chain panel

### Preset: `ai-runtime-page`

Use for this exact or near-exact structure:
- Header eyebrow + brand
- Title + lead box
- Input chip row
- Main runtime box with 5 modules
- Support layer cards
- Output chip row
- Base layer + takeaway

## Commands

### Verify environment

```bash
npm run check-env
```

### Convert HTML to PPTX

```bash
node scripts/html_to_pptx.js <input.html> <output.pptx> [--preset=v9-architecture|ai-runtime-page] [--dump-model <file.json>]
```

### Run preflight QA

The rest: https://github.com/mucsbr/ppt-agent-workflow-san/blob/HEAD/html-slide-to-pptx/SKILL.md
