ppt-creation

Generates and edits PowerPoint presentations using PptxGenJS components and template-based workflows.

7.1k|1.1k|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/openJiuwen-ai/jiuwenswarm --skill ppt-creation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ppt-creation
Source: https://github.com/openJiuwen-ai/jiuwenswarm/tree/main/jiuwenswarm/resources/agent/workspace/skills/ppt-creation
Command: npx skills add https://github.com/openJiuwen-ai/jiuwenswarm --skill ppt-creation

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pptxgenjs, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Creating professional, on-brand PowerPoint decks requires tedious manual layout work, consistent branding, and careful handling of evidence sources like paper figures and web images. This Skill automates the full pipeline from narrative planning to a validated, editable .pptx file.

Core Features & Use Cases

  • Template-Based Deck Generation: Builds new decks on an official template master using PptxGenJS, with a fixed summary banner, footer, and brand tokens, then merges content via finalize_deck.py.
  • Existing PPTX Editing: Unpacks, edits, and repacks existing .pptx files at the XML level while preserving the original master, layouts, and theme.
  • Evidence & Visual Management: Tracks paper figures, web images, and user materials through an evidence plan with approval states, contact sheets, and arXiv figure extraction.
  • Automated QA Gates: Validates geometry, overlaps, font floors, layout inheritance, and evidence citations with scripts like qa_geometry.py and audit_pptx.py before delivery.
  • Use Case: Ask the agent to turn a research paper and your notes into a 12-slide technical review deck; it plans the narrative, extracts paper figures, generates each slide, and delivers a QA-passed .pptx.

Quick Start

Create a 10-slide presentation about our quarterly results using the official template and save it as quarterly-review.pptx.

Frequently Asked Questions about ppt-creation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a PowerPoint deck with PptxGenJS?

Generate slide content in the 10x5.625 inch coordinate space using PptxGenJS calls or the provided component library, then run finalize_deck.py to merge the content into the official template. The script handles unpacking, scaling, layout attachment, and packing in one command.

How to edit an existing PPTX file programmatically?

Unpack the file with unpack.py, reorder or duplicate slides via add_slide.py, edit each slide's XML with text replacements, then prune and repack with pack.py. This preserves the original master, layouts, and theme instead of rebuilding from scratch.

Can I extract figures from arXiv papers for slides?

Yes, the paper-figure route uses extract_arxiv_visuals_v2_2.py to pull figures and tables by label and caption keywords. Candidates appear on a contact sheet for manual approval before being marked ready in the evidence plan.

Does the skill support web images in presentations?

Web images are supported but must be verified for subject, source, and licensing before use, with provenance recorded in evidence-plan.json. If verification fails, the workflow falls back to placeholders, user materials, or native drawings.

Why does my generated PPTX fail QA checks?

Common failures include overlapping elements, content extending past the canvas, missing summary banners, or fonts below the minimum size. Run qa_geometry.py and audit_pptx.py to get exact per-slide error reports and fix geometry in the generation code.

What are the limitations of the component library?

Components are optional helpers, not mandatory templates; when a component forces content distortion, the workflow directs you to draw natively with PptxGenJS shapes, tables, or custom SVG instead. There is no built-in icon library, so identification anchors use initial-letter badges or self-drawn SVG.