← powerpoint.md — directory of Claude skills for presentations

What is PptxGenJS and why Claude PPT skills use it

The JavaScript library behind many Claude Code presentation skills

Open Source JavaScript .pptx Generator

Definition

PptxGenJS is an open-source JavaScript library for generating native Microsoft PowerPoint .pptx files. Created by Brent Ely and maintained on GitHub, it constructs Office Open XML documents programmatically without requiring Microsoft Office, LibreOffice, or any other presentation software to be installed. The library operates in both browser environments and Node.js servers, making it suitable for a range of deployment contexts including CLI tools, web services, and agent-based workflows.

How it works

PptxGenJS builds .pptx files by assembling the underlying ZIP archive structure that defines a PowerPoint presentation. A .pptx file is essentially a collection of XML files, media assets, and relationship descriptors packaged in ZIP format. The library abstracts this complexity into a JavaScript API where developers define slides, add content elements, set formatting properties, and receive a finished file.

The typical workflow involves creating a PptxGenJS object, configuring presentation-level properties like slide size and title, then adding slides with individual content elements. Content can include text boxes, shapes, images, charts, tables, and media files. Each element accepts formatting options for fonts, colors, positioning, and animation. The library then serializes this structure into the correct XML schemas, packages everything into a ZIP archive with the .pptx extension, and returns the result as a file download or buffer.

In Claude Code skills, PptxGenJS is typically invoked through Node.js child processes or embedded in JavaScript execution contexts. Skills parse user requirements, structure the presentation content, and call PptxGenJS methods to produce the final file. The npm install -g pptxgenjs pattern appears in multiple skill installation commands on powerpoint.md, indicating its role as a shared dependency across independently developed tools.

Examples on powerpoint.md

Several entries in the powerpoint.md directory depend on PptxGenJS for output generation. These skills vary in approach but converge on the same underlying library for file production:

Official Anthropic skill. Install includes npm install -g pptxgenjs alongside Python dependencies for markdown conversion. Output: .pptx, 5-20 slides.
Community skill with similar architecture to Anthropic's. Uses PptxGenJS for generation after Python-based content preparation. Output: .pptx, 5-20 slides.
Lighter installation requiring only pip. Generates .pptx files; may use PptxGenJS or python-pptx depending on implementation path.
Python-focused skill using python-pptx rather than PptxGenJS, demonstrating that JavaScript is not the only viable approach for Claude presentation skills.
Outputs HTML rather than .pptx, showing the diversity of formats in the directory. No PptxGenJS dependency.

The pattern of npm install -g pptxgenjs in heavy-installation skills suggests PptxGenJS is preferred when skills want to avoid Python runtime dependencies or when the skill author is more comfortable with JavaScript tooling.

Frequently asked questions

What is PptxGenJS?
PptxGenJS is an open-source JavaScript library that creates native Microsoft PowerPoint .pptx files. It runs in both browsers and Node.js environments without requiring Microsoft Office or any external dependencies.
Why do Claude PowerPoint skills use PptxGenJS instead of Python libraries?
Many Claude skills use PptxGenJS because it generates files entirely in JavaScript without requiring a Python runtime, which simplifies deployment in Node.js-based environments. Some skills do use Python alternatives like python-pptx; the choice depends on the skill's architecture and target platform.
Does PptxGenJS require Microsoft PowerPoint to be installed?
No. PptxGenJS generates .pptx files independently by constructing the underlying Office Open XML structure programmatically. The output opens in PowerPoint, LibreOffice Impress, Google Slides, or any compatible application.
What features does PptxGenJS support?
PptxGenJS supports slides, text boxes, shapes, images, charts, tables, media, hyperlinks, slide masters, and animations. It handles formatting including fonts, colors, gradients, shadows, and positioning.
Is PptxGenJS free to use?
Yes. PptxGenJS is released under the MIT license, which permits free use in commercial and non-commercial projects with minimal restrictions.