Productivity & Collaboration pptx-generationhtml-to-pptxpptxgenjsplaywrightthumbnail-renderingooxml-validationlibreoffice

PPTX Conversion Skill

Converts HTML slide decks into PowerPoint (PPTX) files reliably, with editing and thumbnail preview support — built for HTML-first automated presentation pipelines.

FollowSkills review · FSRS-2.0
Use with care
52/ 100 5-point scale 2.6 / 5
1 2 3 4 5 6
1Trust15 / 25 · 3.0/5

Scripts perform local file processing only (HTML→PPTX conversion, pack/unpack, thumbnails); no network exfiltration, credential access, or destructive defaults observed; packing operates in a temp dir with validation. Deducted for: heavy dependency chain (Playwright browser, LibreOffice, sharp), no explicit permission/confirmation mechanism, unverified publisher identity, no source attribution statement.

2Reliability10 / 20 · 2.5/5

Documentation is self-consistent and detailed (dimension checks, overflow detection, color # prefix rules, aggregated error reporting); scripts include input validation and diagnosable errors. Deducted for: static review only, no test suite or CI evidence covering key paths; html2pptx.js is truncated/incomplete; html2pptx.md assumes dependencies 'globally installed' without verification; validate.py imports a validation module not present in provided files.

3Adaptability9 / 15 · 3.0/5

Clear scenario (HTML slides to PPTX/edit/thumbnails), explicit capability boundaries (supported HTML elements, font limits, gradient restrictions), clear trigger description. Deducted for: Korean/English docs with no Chinese-language support; core dependencies (Playwright browser download, LibreOffice) have unstated reachability and installation cost for mainland-China networks.

4Convention8 / 15 · 2.7/5

Well-layered information architecture (SKILL.md → detailed guide → OOXML reference), thorough disclosure of caveats and known limits. Deducted for: unknown skill-level license metadata (only README claims MIT), no versioning/changelog, unclear maintenance responsibility and update path, placeholder clone URL in README, install instructions not matching actual skill dependencies.

5Effectiveness6 / 15 · 2.0/5

Claims to accomplish the core HTML→PPTX conversion task with sensible built-in validation and thumbnail verification, offering marginal value over manual PPTX creation. Deducted for: static review cannot verify output direct usability, no representative output evidence, effectiveness claims rest on author documentation, comparative benefit unverified.

6Verifiability4 / 10 · 2.0/5

Auditable primary material provided (full scripts, detailed API docs, XML reference) allowing partial logic review. Deducted for: no third-party execution evidence, no tests, no CI covering the skill's key paths; key claims (conversion quality, dependency availability) are author statements only.

Evidence confidence:Low Reviewed Sep 10, 2026 Reviewed revision cfe7781859de
Before you use it
  • Heavy dependencies: requires Playwright browsers, LibreOffice, Poppler, sharp, etc.; deployment cost is high and download reachability from mainland-China networks is unverified — prepare mirrors or offline installers.
  • Not execution-verified: this is a static source review; conversion quality and script completeness (html2pptx.js is truncated in provided evidence) are unconfirmed — test with sample slides before production use.
  • Docs are Korean/English with no Chinese support; skill-level license metadata is missing — verify the README's MIT claim before commercial use.
  • validate.py imports a validation module not present in the reviewed files; confirm the module exists in the repository before running.
See the full review method →

What does this skill do, and when should you use it?

This is a Claude Code skill whose core job is converting 720pt × 405pt (16:9) HTML slides into PPTX files. It runs a Node.js script, html2pptx.js, which renders slides with Playwright and generates the file via PptxGenJS, and ships Python helpers for thumbnails, OOXML packing/unpacking, and structural validation. The documentation also encodes key PptxGenJS rules (e.g., color codes must not include '#') with code examples for text, images, shapes, and charts. System dependencies are substantial: Node.js, Python, LibreOffice, and Poppler. The repository bundles multiple skills; this profile covers only the one at .claude/skills/pptx-skill/.

Reads HTML slide files from a slides/ directory sized at 720pt × 405pt (16:9), renders them via Playwright, and emits PPTX through PptxGenJS; generates preview thumbnail grids with thumbnail.py (optional column count and placeholder outlines); unpacks and repacks PPTX OOXML content with unpack.py/pack.py; validates unpacked structure with validate.py; also documents editing existing presentations and provides detailed html2pptx and OOXML reference docs.

  1. A content team that designs slides in HTML and needs them batch-converted into editable PPTX deliverables
  2. A developer using Claude Code who wants an AI agent to generate and visually verify PowerPoint output inside an automated pipeline
  3. A review workflow that needs thumbnail grids of generated PPTX files for quick human inspection
  4. A document engineer who needs to inspect or repair the internal OOXML structure of PPTX files
  5. An engineering team needing a scriptable HTML-to-PPTX command-line conversion step in CI

What are this skill's strengths and limitations?

Pros
  • A complete generate-and-verify loop: conversion, thumbnails, unpacking, and validation support automated QA
  • Thorough documentation including PptxGenJS rules and known pitfalls (e.g., no '#' in colors)
  • Built on mature PptxGenJS and Playwright; produces real native PPTX objects rather than screenshot slides
  • Includes OOXML-level unpack/pack/validate tooling for deep file repair
Limitations
  • Heavy dependencies: Node.js, multiple Python packages, LibreOffice, and Poppler raise the setup bar
  • Limited HTML support: only p, h1-h6, ul, ol tags convert; CSS gradients are replaced with images
  • Web-safe fonts only, so custom typefaces may not survive conversion
  • License is unclear — GitHub metadata shows unknown while the README text claims MIT; unverified
  • No visible test suite or platform compatibility notes; thumbnail quality depends on LibreOffice rendering

How do you install this skill?

The source does not document installation steps for this skill alone. The README covers the whole repository: clone https://github.com/uxjoseph/ppt_team_agent, cd into it, and run npm install; Node.js v16+ is required. The skill lives at .claude/skills/pptx-skill/SKILL.md, a path Claude Code recognizes in a project. You also need system dependencies: Python packages (markitdown, defusedxml, pillow), LibreOffice, and Poppler (the README gives no install commands for these).

How do you use this skill?

1) Place slide HTML files in slides/ and verify each is 720pt × 405pt (16:9). 2) Run node .claude/skills/pptx-skill/scripts/html2pptx.js, or import the html2pptx function in code, converting slide by slide and saving with pres.writeFile. 3) Verify visually with python .claude/skills/pptx-skill/scripts/thumbnail.py presentation.pptx output-thumbnail (options: --cols N, --outline-placeholders). 4) For internal edits, unpack with ooxml/scripts/unpack.py, validate with validate.py, and repack with pack.py. No trigger prompt wording is documented.

FAQ

Is the output an editable PPTX?
Yes. The skill uses PptxGenJS to generate native PowerPoint objects (text, images, shapes, charts) rather than embedding page screenshots, so results are editable in PowerPoint.
What kind of HTML converts correctly?
Each slide must be 720pt × 405pt (16:9); only p, h1-h6, ul, and ol tags convert; fonts must be web-safe; CSS gradients are treated as images. Always verify with thumbnails after conversion.
What system dependencies are required?
Node.js v16+ (pptxgenjs, playwright, sharp), Python packages (markitdown, defusedxml, pillow), LibreOffice (soffice), and Poppler (pdftoppm). Thumbnail/PDF features fail without LibreOffice and Poppler.
The repository has other skills — is this the same thing?
No. The repository bundles multiple skills; this profile covers only .claude/skills/pptx-skill/SKILL.md. Sibling skills' capabilities are out of scope here.

More skills from this repository

All from uxjoseph/ppt_team_agent

Related skills