PPTX Builder for Windows
MegaSuperKitty/WeClaw
Builds PowerPoint decks on Windows from a structured slide spec using python-pptx, with an optional HTML-to-PDF-to-image path for complex layouts.
Create, edit, replicate, read, and export presentations. An agent skill from jinwyp/open-ppt-skill.
$ npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jinwyp/open-ppt-skill open-kimi-ppt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jinwyp/open-ppt-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/open-kimi-ppt .claude/skills/open-kimi-ppt && rm -rf skills-srcUse ~/.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/
Install the "open-kimi-ppt" agent skill from https://github.com/jinwyp/open-ppt-skill/tree/main/skills/open-kimi-ppt into .claude/skills/open-kimi-ppt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-kimi-ppt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jinwyp/open-ppt-skill/tree/main/skills/open-kimi-pptType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jinwyp/open-ppt-skill open-kimi-ppt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jinwyp/open-ppt-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/open-kimi-ppt .agents/skills/open-kimi-ppt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "open-kimi-ppt" agent skill from https://github.com/jinwyp/open-ppt-skill/tree/main/skills/open-kimi-ppt into .agents/skills/open-kimi-ppt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-kimi-ppt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jinwyp/open-ppt-skill open-kimi-ppt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jinwyp/open-ppt-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/open-kimi-ppt .cursor/skills/open-kimi-ppt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "open-kimi-ppt" agent skill from https://github.com/jinwyp/open-ppt-skill/tree/main/skills/open-kimi-ppt into .cursor/skills/open-kimi-ppt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-kimi-ppt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jinwyp/open-ppt-skill.git --path skills/open-kimi-ppt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jinwyp/open-ppt-skill open-kimi-ppt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jinwyp/open-ppt-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/open-kimi-ppt .gemini/skills/open-kimi-ppt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "open-kimi-ppt" agent skill from https://github.com/jinwyp/open-ppt-skill/tree/main/skills/open-kimi-ppt into .gemini/skills/open-kimi-ppt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-kimi-ppt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jinwyp/open-ppt-skill open-kimi-pptInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jinwyp/open-ppt-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/open-kimi-ppt .github/skills/open-kimi-ppt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "open-kimi-ppt" agent skill from https://github.com/jinwyp/open-ppt-skill/tree/main/skills/open-kimi-ppt into .github/skills/open-kimi-ppt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-kimi-ppt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jinwyp/open-ppt-skill open-kimi-ppt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jinwyp/open-ppt-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/open-kimi-ppt .opencode/skills/open-kimi-ppt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "open-kimi-ppt" agent skill from https://github.com/jinwyp/open-ppt-skill/tree/main/skills/open-kimi-ppt into .opencode/skills/open-kimi-ppt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-kimi-ppt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
open-kimi-pptCreate, edit, replicate, read, and export presentations. An agent skill from jinwyp/open-ppt-skill.
Open Kimi Ppt is an agent skill from jinwyp/open-ppt-skill. Create, edit, replicate, read, and export presentations. For every PPT task, the default deliverables are BOTH (1) a self-contained PPTD project folder containing the .pptd manifest plus pages/media dependencies and (2) a locally generated .pptx with embedded fonts and fade slide transitions. Use for any presentation, PowerPoint, PPT/PPTX, slide deck, PPTD, infographic, or poster task unless the user explicitly requests another format. Deliver with normal local file/folder links using absolute paths.
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 190 other files, including scripts (for example `reference/design_system/01_strategy/01/en/dusk-violet-consulting.md`, `reference/design_system/01_strategy/02/en/indigo-due-diligence.md` and `reference/design_system/01_strategy/03/en/pine-green-strategy.md`).
It sits in Documents & Office, covering PowerPoint presentations and Slides and decks. It works with Microsoft PowerPoint, Kimi, Python and Node.js. The repository describes itself as: Slides Skill:让 AI Agent 生成可编辑 PPTD + PPTX,并附带本地浏览器编辑器 Slides skill for AI agents — generate editable PPTD + PPTX with a local browser editor. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 07eeaad. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
npxpython3nodenpmpipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
nodejs.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Open Kimi Ppt loads about 5.1k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 2,729 words of instructions outside code blocks.
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.
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.
The full file from jinwyp/open-ppt-skill at commit 07eeaad, republished under its MIT licence (© jinwyp). 2,729 words, ~5,134 tokens.
.claude/skills/open-kimi-ppt/SKILL.md (or your agent's skills folder). This skill also uses 176 other files; get the full folder from GitHub.open-kimi-ppt is a presentation creation and export skill built around Moonshot AI's PPTD format and browser-side PPTX writer. It defines a YAML-format intermediate DSL (.pptd) that abstracts OOXML and keeps each page self-contained.
The default output is not PPTD-only. Unless the user explicitly opts out, always produce both:
.pptd + pages/ + media/ and other referenced dependencies);.pptx, with font embedding enabled and fade slide transitions applied by default.Existing PPTX files may also be converted into PPTD for editing, after which both outputs are delivered again.
The .pptd format is a simplified abstraction layer over OOXML that follows basic YAML syntax. This abstraction preserves the core content of OOXML (theme, page layout, element positions and definitions, etc.) while removing complex nesting logic such as Masters; every page is self-contained — what you see is what you get. Read reference/pptd.md for the complete definition of this DSL.
Default delivery includes PPTX export (and optional npx open-kimi-ppt-skill serve), which need a local toolchain. Before generating, verify:
node --version. If node is missing or the major version is below 18, stop immediately, tell the user to install Node.js 18+ from https://nodejs.org (or their OS package manager), and do not continue with PPTX export / npx until it is available. Only continue with PPTD-only output when the user explicitly opts out of PPTX.npm --version. They ship with Node.js; if missing, treat Node.js as not installed correctly and guide the user to reinstall/fix PATH.python3 --version (on Windows, python may be the correct command). Needed for export_pptx.py / export_images.py.agent-browser for image QA (export_images.py) and optional --browser PPTX path. Default PPTX export uses local WASM and does not require a browser. If image QA later fails with a browser-launch error, ask the user to install a Chromium-based browser.Read all files uploaded by the user, the provided URLs, and the pptd format guide reference/pptd.md to fully understand the user's requirements.
Understand the user's requirements based on the context:
reference/design_system/) is specified, or the user provides a complete and detailed design scheme covering all color, font, layout, and component specificationsWhen any of the following situations arise, resolve them by asking the user (use the agent's ask/clarification tool when available)
Before generating, first read reference/pptd.md to understand the pptd format definition and constraints.
Conversion from pptx to pptd is not perfectly lossless. If the user later reports format errors, garbled content, etc., compare against the original pptx and repair the pptd with reference to the comparison
When generating a PPT, adopt different production approaches for different user [design directions]
reference/slides_categories.md, and read the scenario document corresponding to the user's queryreference/general-poster.md and implement it as a single-page or few-page editable PPTD; when the user only asks for an image, still build it with PPTD first, then output the image via screenshot or rendering. Do not load this reference file for ordinary PPT requests.reference/slides_categories.md guide, and read the scenario document corresponding to the user's query as the design foundationreference/design_system/ (search by name / path the user specified; prefer the folder's design.md when present). It is strictly forbidden to reference or mix in other design stylesreference/design_system/ when a preset is explicitly specifiedmedia directory, keep them clear, and never stretch or distort them.reference/pptd.md (required fields, types, bounds, theme tokens, resource paths, etc.) and repair issues over multiple roundsRun scripts/export_images.py. It loads the deck into the local neo-ppt editor (same offline mirror as serve), chooses 导出 → 图片, downloads the images ZIP, unzips it, and stitches all pages into one overview image. Needs Chromium via agent-browser, but does not call www.kimi.com.
python3 ~/.agents/skills/open-kimi-ppt/scripts/export_images.py \
/abs/path/project/deck.pptd \
--output /abs/path/project/.qa-imagesThe script prints a JSON summary mapping each stitched label (P1…Pn, 1-based page order) to its .page file.
Read the stitched overview image (.qa-images/overview.jpg) and check every page against this list:
For any suspicious page, read its full-resolution image (.qa-images/pages/<n>.jpeg) to confirm the problem before editing.
Fix issues in the corresponding .page file, then re-run scripts/export_images.py --force and review the new overview; repeat until every page passes.
Do not export the PPTX until the visual review passes. .qa-images/ is an intermediate QA artifact and may be deleted after delivery.
Always produce a self-contained project directory. Keep the .pptd manifest and every referenced dependency together; never deliver a standalone manifest without its referenced files. Use this layout unless an existing project already has a valid equivalent structure:
deck/
deck.pptd
pages/
*.page
media/
* # when the deck has local media
deck.pptx # generated by defaultGenerate the .pptx by default after PPTD validation, even when the user only asks to create or edit a presentation. Skip PPTX export only when the user explicitly requests PPTD-only output or the environment cannot run the exporter; in the latter case, report the exact blocker and still deliver the complete PPTD project.
Deliver with normal clickable local links using absolute paths. In the final response, link all of the following:
.pptd manifest;pages/ directory and media/ directory when present;.pptx file.PPTX conversion: use scripts/export_pptx.py. Default path is local patched official WASM (scripts/local-export/export-pptd.mjs --no-sign): no cookie, no signature API, no browser UI. Optional --browser uses the local neo-ppt mirror (same as serve), still offline — not www.kimi.com.
Default PPTX options:
fade (淡入淡出), written to every slide after export;--transition none or force browser UI with --browser.Export command:
# preferred: local patched WASM (offline)
python3 ~/.agents/skills/open-kimi-ppt/scripts/export_pptx.py \
/abs/path/project/deck.pptd \
--output /abs/path/project/deck.pptx
# optional: local neo-ppt browser UI (also offline)
python3 ~/.agents/skills/open-kimi-ppt/scripts/export_pptx.py \
/abs/path/project/deck.pptd \
--output /abs/path/project/deck.pptx --browserA project directory may be passed instead of the manifest only when it contains exactly one .pptd file.
Existing output files are not overwritten unless --force is passed.
Offline model (本地编辑器 + 本地导出):
scripts/local-export/export-pptd.mjs --no-sign. Canonical binary: package editor/neo-ppt/assets/pptd_wasm_bg-DPPWdROu.wasm (skill install copies it into scripts/local-export/pptd_wasm_bg.wasm). Requires Node.js 18+ only.scripts/export_images.py drives the local neo-ppt editor via agent-browser (Chromium required; no www.kimi.com).npx open-kimi-ppt-skill serve serves the same offline neo-ppt mirror.--browser) uses the same local editor host; auto-installs agent-browser@latest when missing/outdated; PyYAML auto-installed with pip --user when missing; image QA additionally auto-installs Pillow and websocket-client.After export, verify that the output exists and report the generated path. Confirm that every slide has exactly one root-level fade transition in valid CT_Slide order (cSld, optional clrMapOvr, transition, optional timing/extLst) and that the PPTX ZIP passes integrity checks. A byte-string search for <p:fade> is insufficient because Office ignores transitions nested inside cSld. For higher-risk decks, additionally inspect font parts and representative rendered/opened pages as appropriate.
When the user wants to open, edit, save, or export a PPTD project manually, start the local browser editor with npx open-kimi-ppt-skill serve. Ask the user to open http://127.0.0.1:55173/ and authorize the complete PPTD project directory. Use a Chromium-based browser for writable access; folder-upload fallback is read-only. The host serves the offline neo-ppt mirror plus local patched WASM export — no www.kimi.com. Remote images or fonts referenced by the deck may still be fetched from their hosts.
After completing and delivering any presentation, always end the final response with a concise optional next step telling the user that they can run npx open-kimi-ppt-skill serve to view or edit the PPTD project, configure slide transition animations, and export PPTX manually. Keep this reminder in addition to, not instead of, the required project and file links.
Element animations (page.animations in PPTD — entrance / emphasis / exit / motion-path; see reference/pptd.md §6): use them only when the user explicitly requests animations, or when the deck is clearly intended for live presentation / slideshow playback and animation provides a clear benefit for staged disclosure, process demonstration, causal explanation, pacing, visual impact, or brand storytelling. By default, do not add element animations to reading-oriented, self-study, print, or primarily send-and-browse decks. Prefer 1–3 animation groups per page and simple effects such as fade, fly, and zoom. This is separate from the default PPTX slide-level fade page transition written by export_pptx.py.
Speaker notes (notes on each .page): use them only when the user explicitly requests them; otherwise, do not add them.
Parallel tool calls: during PPT production, make tool calls in parallel whenever possible; in each round, write multiple page files in parallel to reduce the number of steps.
© jinwyp, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 176 other files (scripts) in skills/open-kimi-ppt of jinwyp/open-ppt-skill.
Open the folder on GitHubat commit 07eeaad
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in jinwyp/open-ppt-skill, which our catalogue first saw on October 7, 2026.
Open Kimi Ppt 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Open Kimi Ppt this skilljinwyp/open-ppt-skill | 159 | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| PPTX Builder for WindowsMegaSuperKitty/WeClaw | 370 | — | ~650 | Automated safety check: Pass | MIT | |
| Ambiguity Reportlawve-ai/awesome-legal-skills | 842 | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Python PPTX Generatorsickn33/agentic-awesome-skills | 47k | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Skywork Pptaiskillstore/marketplace | 430 | — | ~1.9k | Automated safety check: Pass | None | |
| PPT Masterhugohe3/ppt-master | 58k | 1 repos | ~2.5k | Automated safety check: Pass | MIT |
MegaSuperKitty/WeClaw
Builds PowerPoint decks on Windows from a structured slide spec using python-pptx, with an optional HTML-to-PDF-to-image path for complex layouts.
lawve-ai/awesome-legal-skills
Turn an interpretive-ambiguity audit of a legal text — contract, statute, regulation, or judicial opinion — into a polished deliverable.
sickn33/agentic-awesome-skills
Generate complete Python scripts that build polished PowerPoint decks with python-pptx and real slide content.
aiskillstore/marketplace
Generate PPTs from topics or templates, edit existing presentations via natural language, or perform local file operations (delete/reorder/merge slides).
hugohe3/ppt-master
Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.
chuspeeism/dashi-ppt-skill
Generates browser-editable HTML slide decks from a natural-language brief using preset visual themes, with export to PPTX or PDF.
Works with
Categories
Create, edit, replicate, read, and export presentations. An agent skill from jinwyp/open-ppt-skill. Open Kimi Ppt is an agent skill from jinwyp/open-ppt-skill. Create, edit, replicate, read, and export presentations.
Open Kimi Ppt fits situations like: any presentation; poster task unless the user explicitly requests another format.
Run `npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a claude-code`. Or copy the skill folder (skills/open-kimi-ppt in jinwyp/open-ppt-skill) into .claude/skills/open-kimi-ppt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a codex`. Or copy the skill folder (skills/open-kimi-ppt in jinwyp/open-ppt-skill) into .agents/skills/open-kimi-ppt in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jinwyp/open-ppt-skill --skill open-kimi-ppt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/open-kimi-ppt, .gemini/skills/open-kimi-ppt, .github/skills/open-kimi-ppt and .opencode/skills/open-kimi-ppt in your project.
Going by SKILL.md and its folder, Open Kimi Ppt needs the command-line tools its instructions call (npx, python3, node, npm and pip). Our summary lists: Python 3; Node.js.
SKILL.md names 1 domain. As links in the text: nodejs.org. This is read from the text; nothing was executed.
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.
Open Kimi Ppt is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Open Kimi Ppt: PPTX Builder for Windows (MegaSuperKitty/WeClaw, 370 stars), Ambiguity Report (lawve-ai/awesome-legal-skills, 842 stars), Python PPTX Generator (sickn33/agentic-awesome-skills, 47k stars) and Skywork Ppt (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jinwyp (a GitHub user) maintains it in jinwyp/open-ppt-skill, which has 159 GitHub stars. The repository was last updated on August 7, 2026.
Source: jinwyp/open-ppt-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.