Create polished PowerPoint (.pptx) presentations directly from a topic or content description.

MITAuto-check passedDocuments & Office

Install PPTX

skills CLI
$ npx skills add happycapy-ai/Happycapy-skills --skill pptx -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install happycapy-ai/Happycapy-skills pptx --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/happycapy-ai/Happycapy-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pptx .claude/skills/pptx && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pptx
GitHub stars
137
Token cost
~1.5k tokens
SKILL.md length
328 words
Files
5 (incl. scripts)
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Create polished PowerPoint (.pptx) presentations directly from a topic or content description.

  • Works in 3 steps: Design the HTML Draft (Internal only) → Extract Theme & Build PPTX → Deliver
  • The user asks to: make a PPT / PowerPoint / 幻灯片 / 演示文稿
  • SKILL.md covers Phase 1 — Design the HTML…, Phase 2 — Extract Theme &…, Phase 3 — Deliver and PPTX Layout Conventions, plus 1 more section
  • Runs Python scripts from its folder; calls python3

What it does

PPTX is an agent skill from happycapy-ai/Happycapy-skills. Create polished PowerPoint (.pptx) presentations directly from a topic or content description. Uses HTML as an invisible internal design intermediate — the HTML is never shown to the user. The final and only deliverable is a .pptx file saved to outputs/. Use this skill whenever the user asks to: make a PPT / PowerPoint / 幻灯片 / 演示文稿, generate slides about a topic, or turn any content into a presentation deck. Supports Chinese and English. Always outputs .pptx, never HTML.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `README.md` and `scripts/pptx_builder.py`).

It sits in Documents & Office, covering PowerPoint presentations and Slides and decks. It works with Microsoft PowerPoint. The repository describes itself as: A curated collection of high-quality Claude Code skills to enhance your development workflow. The licence is MIT.

When your agent uses it

  • The user asks to: make a PPT / PowerPoint / 幻灯片 / 演示文稿
  • Generate slides about a topic
  • Turn any content into a presentation deck

Example prompts

  • “/pptx”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Design the HTML Draft (Internal only)
  2. Extract Theme & Build PPTX
  3. Deliver

What it can do on your machine

Read from SKILL.md and the folder at commit 9ff72fe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PPTX loads about 1.5k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 328 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~120
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from happycapy-ai/Happycapy-skills at commit 9ff72fe, republished under its MIT licence (© happycapy-ai). 328 words, ~1,473 tokens.

Download SKILL.mdSave it as .claude/skills/pptx/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
pptx
description
Create polished PowerPoint (.pptx) presentations directly from a topic or content description. Uses HTML as an invisible internal design intermediate — the HTML is never shown to the user. The final and only deliverable is a .pptx file saved to outputs/. Use this skill whenever the user asks to: make a PPT / PowerPoint / 幻灯片 / 演示文稿, generate slides about a topic, or turn any content into a presentation deck. Supports Chinese and English. Always outputs .pptx, never HTML.

PPTX Skill

Generate a polished PPTX in three phases. The HTML draft is purely internal — never reference or expose it to the user.

Phase 1 — Design the HTML Draft (Internal only)

Write a single self-contained HTML presentation to tmp/<name>-draft.html.

Design principles:

  • Choose a bold, distinctive aesthetic (dark editorial, pastel geometry, neon cyber, etc.)
  • Define a CSS :root {} block with named color variables: --bg, --bg1, --bg2, --text, --muted, --accent, --dim, etc. Use hex values only.
  • Each <section class="slide" id="sN"> is one slide. Viewport-locked 100vh, scroll-snap, no overflow.
  • Use Google Fonts — avoid Inter/Roboto. Good choices: Fraunces, DM Sans, Syne, Outfit, Cormorant.
  • Staggered reveal animations are fine for the HTML but irrelevant to PPTX.

This HTML serves one purpose: capture color theme + slide structure + text content + layout intent before building the PPTX.

Phase 2 — Extract Theme & Build PPTX

  1. Read tmp/<name>-draft.html
  2. Extract the CSS color theme using extract_theme_from_html() from scripts/pptx_builder.py
  3. Write a one-off build script to tmp/<name>-build.py:
    • Import Builder from scripts/pptx_builder.py (add skills scripts dir to sys.path)
    • Instantiate Builder(theme) with the extracted colors
    • Recreate each HTML slide using Builder primitives
    • Save to outputs/<name>.pptx
  4. Run: python3 tmp/<name>-build.py
sys.path setup (always required)
python
import sys
sys.path.insert(0, "/home/node/.claude/skills/pptx/scripts")
from pptx_builder import Builder, extract_theme_from_html
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN

html = open("tmp/deck-draft.html").read()
theme = extract_theme_from_html(html)   # {"bg":"#0b0b0b", "accent":"#c9a84c", ...}
b = Builder(theme)
Builder API
python
slide = b.new_slide()              # blank slide with bg fill

# Shapes
b.rect(slide, x, y, w, h, fill="bg1", border="dim")
b.hline(slide, x, y, w, color="accent")
b.oval(slide, x, y, w, h, fill="bg1")
b.card(slide, x, y, w, h)         # shortcut for bg1 card with border

# Text
b.txt(slide, "text", x, y, w, h,
      size=14, bold=False, italic=False,
      color="text",               # theme key or "#hexcode"
      align=PP_ALIGN.LEFT)

b.multicolor_txt(slide, [         # mixed colors in one line
    {"text": "White ",  "size": 52, "bold": True, "color": "text"},
    {"text": "Gold",    "size": 52, "bold": True, "italic": True, "color": "accent"},
], x, y, w, h, align=PP_ALIGN.LEFT)

# Helpers
b.eyebrow(slide, "LABEL", x, y)   # small gold uppercase label
b.logo(slide, "Name", x, y)
b.slide_number(slide, n=1, total=9)

# Grid of cards
b.grid_cards(slide, items, x0, y0, card_w, card_h, gap,
             cols=4, draw_fn=fn)  # fn(slide, b, item, cx, cy, cw, ch)

b.save("outputs/deck.pptx")

Color keys: any key from the theme dict ("bg", "bg1", "text", "muted", "accent", "dim", etc.) or a raw "#rrggbb" string.

Phase 3 — Deliver

  • Attach outputs/<name>.pptx in the <attachments> block
  • Do NOT mention the HTML draft or tmp files
  • The user should only see the PPTX as output

PPTX Layout Conventions

Slide size: 13.33 × 7.5 in (16:9). Set automatically by Builder.

Slide typeApproach
CoverOversized multicolor title (Pt 100–130), gold rule, tagline below
ContentEyebrow + heading + description + card grid
SplitLeft column: text + bullets. Right column: visual card panel
QuoteCentered quote Pt 44–60, accent line above
CTACentered heading + description + gold button rect + stats row

Limits per slide: 1 heading, max 6 bullets, max 6 cards in a grid.

Common Patterns

Cover with giant title:

python
s = b.new_slide()
b.multicolor_txt(s, [
    {"text": "My ",  "size": 120, "bold": True, "color": "text"},
    {"text": "Brand", "size": 120, "bold": True, "color": "accent"},
], Inches(0.8), Inches(1.0), Inches(12), Inches(3.5))
b.hline(s, Inches(0.8), Inches(4.8), Inches(2.5))
b.txt(s, "Tagline text here", Inches(0.8), Inches(5.1), Inches(7), Inches(0.9),
      size=16, color="muted")
b.slide_number(s, 1, 9)

Card grid:

python
items = [("📝", "Title", "Description"), ...]

def draw(slide, b, item, cx, cy, cw, ch):
    ico, lbl, desc = item
    b.txt(slide, ico,  cx+Inches(0.2), cy+Inches(0.2), cw, Inches(0.5), size=20)
    b.txt(slide, lbl,  cx+Inches(0.2), cy+Inches(0.8),  cw-Inches(0.4), Inches(0.45), size=12, bold=True)
    b.txt(slide, desc, cx+Inches(0.2), cy+Inches(1.3),  cw-Inches(0.4), Inches(0.65), size=10, color="muted")

b.grid_cards(s, items, Inches(0.8), Inches(3.4), Inches(2.9), Inches(2.1), Inches(0.22), cols=4, draw_fn=draw)

Bullet list with gold dots:

python
bullets = ["Item one", "Item two", "Item three"]
for i, text in enumerate(bullets):
    fy = Inches(3.5) + i * Inches(0.55)
    b.oval(s, Inches(0.8), fy + Inches(0.15), Inches(0.12), Inches(0.12), fill="accent")
    b.txt(s, text, Inches(1.1), fy, Inches(5.0), Inches(0.45), size=13)

Gold CTA button:

python
b.rect(s, Inches(4.7), Inches(5.1), Inches(3.9), Inches(0.6), fill="accent", border=None)
b.txt(s, "Get Started  →", Inches(4.7), Inches(5.13), Inches(3.9), Inches(0.55),
      size=13, bold=True, color="bg", align=PP_ALIGN.CENTER)

© happycapy-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts) in skills/pptx of happycapy-ai/Happycapy-skills.

  • SKILL.md
  • LICENSE
  • README.md
  • requirements.txt
  • scripts/pptx_builder.py

Open the folder on GitHubat commit 9ff72fe

Compare with similar skills

PPTX next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PPTX compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PPTX this skillhappycapy-ai/Happycapy-skills137—~1.5kAutomated safety check: PassMIT
Image To Editable Pptningzimu/image-to-editable-ppt-skill2.8k—~4.3kAutomated safety check: PassMIT
Slidesfcakyon/claude-codex-settings1.2k1 repos~1.1kAutomated safety check: PassMIT
Ppt Image FirstNyxTides/ppt-image-first1.2k—~1.6kAutomated safety check: PassApache-2.0
Gpt Image2 PptJuneYaooo/gpt-image2-ppt-skills1.3k—~8.9kAutomated safety check: NotesApache-2.0
Paper Deckzsyggg/paper-craft-skills1.3k—~1.4kAutomated safety check: PassNone

Similar skills

  • Image To Editable Ppt

    ningzimu/image-to-editable-ppt-skill

    Rebuild slide images, scanned or image-based PPT/PPTX files, and PDF decks into object-level editable PowerPoint (.pptx), preserving speaker notes when supplied.

    2.8k GitHub stars~4.3k tokensUpdated 23 days ago
    Documents & OfficeAuto-check passed
  • Slides

    fcakyon/claude-codex-settings

    Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.

    1.2k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Ppt Image First

    NyxTides/ppt-image-first

    Build presentation plans for PPT / slides / decks through a conversation-first workflow, then propose multiple visual directions with preview images before writing deck specs.

    1.2k GitHub stars~1.6k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Gpt Image2 Ppt

    JuneYaooo/gpt-image2-ppt-skills

    Generate visually striking PPT slides via OpenAI's gpt-image-2 -- use any style in styles/<collection/STYLEID.md or mimic a user-supplied .pptx template; outputs high-res slide PNGs and a 16:9 .pptx.

    1.3k GitHub stars~8.9k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • Paper Deck

    zsyggg/paper-craft-skills

    将论文、技术文章或知识内容制作成高真实感的 AIGC 幻灯片。先做叙事结构和逐页视觉导演,再调用生图模型生成每一页 16:9 slide image,最后合成为 PPTX/PDF。适合论文汇报、组会、公开课、技术分享、商业化研究展示;当用户提到“论文PPT”“AI生成PPT”“不像AI的PPT”“高质感幻灯片”“逐页生图PPT”时使用。

    1.3k GitHub stars~1.4k tokensUpdated 4 mo ago
    Documents & OfficeAuto-check passed
  • HTML Slide To PPTX

    mucsbr/ppt-agent-workflow-san

    Convert structured single-slide or small deck HTML files into editable PPTX slides with native text boxes, shapes, chips, arrows, and panels.

    643 GitHub stars~1.1k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed

More from happycapy-ai/Happycapy-skills

All 28 skills in this repo
  • Happycapy Skill Creator

    happycapy-ai/Happycapy-skills

    Automate HappyCapy skill creation by finding and adapting existing skills from anthropics/skills repository.

    137 GitHub stars~627 tokensUpdated 1 mo ago
    Auto-check passed
  • 360 Panorama Viewer

    happycapy-ai/Happycapy-skills

    Build a fully self-contained 360° equirectangular panorama viewer as a single HTML file.

    137 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Generate Image

    happycapy-ai/Happycapy-skills

    Generate and transform images using AI Gateway API. An agent skill from happycapy-ai/Happycapy-skills.

    137 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check: notes
  • LLM Council

    happycapy-ai/Happycapy-skills

    Multi-model LLM Council with live dashboard. An agent skill from happycapy-ai/Happycapy-skills.

    137 GitHub stars~581 tokensUpdated 1 mo ago
    Auto-check passed
  • World Class Carousel

    happycapy-ai/Happycapy-skills

    Generate world-class Instagram carousel content on any topic.

    137 GitHub stars~16k tokensUpdated 1 mo ago
    Auto-check: notes
  • Happycapy Social Publisher

    happycapy-ai/Happycapy-skills

    HappyCapy-specific skill for publishing content to 13+ social media platforms (Instagram, Twitter, LinkedIn, Threads, Facebook, TikTok, YouTube, Pinterest, Reddit, Telegram, Discord, etc.)…

    137 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check: notes

Questions about PPTX

What does PPTX do?

Create polished PowerPoint (.pptx) presentations directly from a topic or content description. PPTX is an agent skill from happycapy-ai/Happycapy-skills.pptx) presentations directly from a topic or content description.

When should I use PPTX?

PPTX fits situations like: the user asks to: make a PPT / PowerPoint / 幻灯片 / 演示文稿; generate slides about a topic; turn any content into a presentation deck.

How do I install PPTX in Claude Code?

Run `npx skills add happycapy-ai/Happycapy-skills --skill pptx -a claude-code`. Or copy the skill folder (skills/pptx in happycapy-ai/Happycapy-skills) into .claude/skills/pptx in your project. Claude Code loads it when a task matches its description.

How do I install PPTX in Codex?

Run `npx skills add happycapy-ai/Happycapy-skills --skill pptx -a codex`. Or copy the skill folder (skills/pptx in happycapy-ai/Happycapy-skills) into .agents/skills/pptx in your project. Codex loads it when a task matches its description.

Can I use PPTX in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add happycapy-ai/Happycapy-skills --skill pptx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pptx, .gemini/skills/pptx, .github/skills/pptx and .opencode/skills/pptx in your project.

What does PPTX need to run?

Going by SKILL.md and its folder, PPTX needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does PPTX access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is PPTX safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does PPTX use?

PPTX is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PPTX use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to PPTX?

Skills that share tags, products or a category with PPTX: Image To Editable Ppt (ningzimu/image-to-editable-ppt-skill, 2.8k stars), Slides (fcakyon/claude-codex-settings, 1.2k stars), Ppt Image First (NyxTides/ppt-image-first, 1.2k stars) and Gpt Image2 Ppt (JuneYaooo/gpt-image2-ppt-skills, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PPTX?

happycapy-ai (a GitHub user) maintains it in happycapy-ai/Happycapy-skills, which has 137 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on September 3, 2026.

Source: happycapy-ai/Happycapy-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.