The JavaScript library behind many Claude Code presentation skills
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.
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.
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:
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.