codex-ppt
This skill generates full-slide image-based PowerPoint presentations from source material like articles, reports, or outlines.
Community author
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- MIT (permissive)
- Pin
- 6d76c0epinned Oct 9, 2026
- Context cost
- about 2,400 tokenswhen the skill loads
- GitHub stars
- 6,499on ningzimu/codex-ppt-skill
- Scripts
- 15 scripts
What it does
“Generate visually unified image-based PPT/PPTX decks from articles, reports, papers, notes, or outlines.”
Generated summary from the skill's own text
This skill generates full-slide image-based PowerPoint presentations from source material like articles, reports, or outlines. The agent orchestrates outline planning, visual style selection, image backend confirmation, sample slide approval, and full-deck generation with subagent dispatch. Final slides are assembled into a .pptx file with speaker notes.
When to use it
- User wants a visually cohesive presentation with complete image slides.
- Source is unstructured content needing outline and visual identity.
- Deck requires approval gates for outline, style, and sample before production.
- Multi-slide generation benefits from delegating work to subagents.
When not to
- Individual textboxes, charts, or shapes must remain separately editable.
- Existing PowerPoint templates or layouts need preservation.
- User requires interactive or embedded content within slides.
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add ningzimu/codex-ppt-skill --skill codex-pptInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install ningzimu/codex-ppt-skill codex-ppt@6d76c0eded7f8a8b0c4e304697e6f2bda7c408b2Installs the commit we checked (6d76c0e).
Copy by hand
Download the folder at 6d76c0e and put it in .claude/skills/codex-ppt for Claude Code and in .agents/skills/codex-ppt for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "codex-ppt" by ningzimu. Source, pinned to commit 6d76c0eded7f8a8b0c4e304697e6f2bda7c408b2: https://github.com/ningzimu/codex-ppt-skill/tree/6d76c0eded7f8a8b0c4e304697e6f2bda7c408b2/skills/codex-ppt 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/codex-ppt/ for Claude Code and .agents/skills/codex-ppt/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/ningzimu/codex-ppt
SKILL.md at the pin
---
name: codex-ppt
description: Generate visually unified image-based PPT/PPTX decks from articles, reports, papers, notes, or outlines.
metadata:
openclaw:
requires:
bins:
- python3
primaryEnv: OPENAI_API_KEY
envVars:
- name: OPENAI_API_KEY
required: false
description: API key for CLI fallback.
- name: OPENAI_BASE_URL
required: false
description: API base URL.
- name: CODEX_PPT_IMAGE_MODEL
required: false
description: Image model, defaults to gpt-image-2.5-flare.
- name: CODEX_PPT_HOME
required: false
description: Runtime home override.
homepage: https://github.com/ningzimu/codex-ppt-skill
---
# Codex PPT
## Overview
This skill creates image-based PowerPoint decks from source material. Each slide is a complete 16:9 generated image. Final images are assembled into `.pptx` with `scripts/assemble_ppt.py`.
Use this when the user wants a visually unified presentation and accepts full-slide image pages. Do not use it when every textbox, chart, or shape must remain separately editable.
Prefer the built-in image generation/editing tool. Use `scripts/image_gen.py` only when the built-in backend is unavailable, lacks a required capability, or the user explicitly asks for API/CLI mode.
## Hard Constraints
- Read the relevant `Reference Map` files before each phase. This file is the orchestration contract; detailed rules live in `docs/` and worker prompts in `prompts/`.
- Respect approval gates. Do not create final `deck_spec.json`, `speech.md`, prompt jobs, slide images, or `.pptx` before the approvals in `docs/workflow-gates-and-progress.md`.
- After the user approves the sample slide and authorizes full-deck generation, every remaining slide image job must be dispatched to a slide subagent whenever subagents are available.
- The main agent owns orchestration, prompt jobs, state recording, QA, speaker notes, and assembly. Do not silently replace available slide subagents with sequential production.
- Every final `origin_image/slide_XX.png` must be generated by the selected image backend: built-in image generation/editing tool or `scripts/image_gen.py`.
- Local drawing, Pillow, SVG, HTML/CSS/canvas screenshots, python-pptx/PptxGenJS layouts, and manual overlays are failure modes, not fallbacks.
- The selected image backend must stay fixed after backend confirmation. Do not let subagents switch backend for convenience.
- After sample approval, record how the approved sample was generated and pass that exact method to every slide subagent.
- Slide dispatch and result state must be recorded with the bundled scripts. Chat messages alone do not make a slide dispatched or complete.
- If a required subagent, image backend, or required-image path is unavailable, stop and report a blocker with the slide id and evidence. Do not create a lower-quality replacement.
## Visible Progress
For non-trivial decks, keep a user-visible checklist with one active step. Canonical completion evidence is in `docs/workflow-gates-and-progress.md`.
Default visible steps:
1. Prepare source, outline, style, and backend decisions.
2. Generate and approve one sample slide.
3. Prepare slide jobs and slide state.
4. Dispatch slide subagents.
5. Record generated slide results.
6. QA, repair, notes, and PPT assembly.
Do not mark a step complete from chat alone; use real files or script-recorded state.
## Default Workflow
1. Understand the source content.
- Identify topic, audience, goal, page count, style/brand constraints, and sections to include or exclude.
- If no page count is specified, choose a practical count. Typical decks are 8-12 slides.
2. Plan the deck outline.
- Before writing or updating `outline.md`, read `docs/workflow-gates-and-progress.md` and `docs/outline-style-and-sample.md`.
- Draft slide roles and required source images. Ask for confirmation, then stop before style, backend, sample, or downstream artifacts until approved.
3. Confirm a unified visual style.
- Before offering style options or using files from `references/`, read `docs/outline-style-and-sample.md`.
- Offer 2-3 concrete style directions, recommend one, wait for confirmation, then keep one visual identity while varying layouts by page role.
4. Confirm the image backend.
- Before generating any slide image, read `docs/backend-selection.md`.
- Check whether a built-in image tool is callable, state what you checked, name the backend, explain fallback status, and wait for confirmation.
- If CLI/API fallback is selected, read `docs/cli-api-fallback.md`. Read `docs/image-model-configuration.md` only after config errors or explicit API-setting requests.
5. Generate one sample slide for approval.
- Before generating or approving the sample slide, read `docs/outline-style-and-sample.md`.
- Generate exactly one representative sample after outline, style, and backend are confirmed. Do not generate the full deck until approved.
- After approval, record `sample_generation_method` in `deck_spec.json` so jobs and subagents inherit the same path.
6. Create the project directory.
- Before initializing folders or assembling files, read `docs/project-assembly-and-reporting.md`.
- If no destination is specified, use the current working directory or the source file directory.
7. Prepare user-supplied assets.
- Before using paper figures, charts, screenshots, logos, or other required assets, read `docs/user-supplied-assets.md`.
- Treat required assets as strict inputs and confirm slide-to-asset mapping before generation.
8. Generate all slide images.
- Before full-deck image generation, read `docs/slide-generation-and-subagents.md`.
- Create per-slide jobs with `scripts/prepare_slide_prompts.py` or saved `prompts/slide_XX.json` files.
- Every final image must come from the selected backend and be recorded with bundled state scripts.
9. Dispatch slide subagents.
- Before dispatching or replacing slide workers, read `docs/slide-generation-and-subagents.md` and `prompts/slide-worker.md`.
- Use one subagent per remaining slide job whenever possible. If required subagents cannot be spawned, stop and report a blocker unless the user changes the workflow.
10. Quality check and repair.
- Before QA or assembly, read `docs/project-assembly-and-reporting.md`.
- Inspect every slide before assembly: text, outline match, truncation, style, unwanted page numbers, overlaps, and required assets.
- Regenerate severe failures with a tighter prompt. Use backend editing for localized issues when available.
- For CLI/API fallback edit commands, read `docs/cli-api-fallback.md`. Replace the final slide only after validating the edited output.
11. Write speaker notes and assemble the PPT.
- Before writing `speech.md` or running assembly, read `docs/project-assembly-and-reporting.md`.
- Make sure `outline.md` reflects the final confirmed deck outline. Use `speech.md` headings that map to `Slide N`.
- Before assembly, ensure `slide_jobs.json` shows generated slides as `recorded` and approved samples as `accepted`. If any slide is `pending`, `dispatched`, or `blocked`, stop.
12. Report the result.
- Use the final report checklist in `docs/project-assembly-and-reporting.md`.
- Include paths, slide count, backend used, recorded-result status, and any limitations or blockers.
13. Save reusable styles.
- If asked to save the current deck style or a supplied image/PDF/PPT/PPTX style, read `docs/style-library.md`.
- If the final deck used a custom or adapted style, proactively offer to save it in the final report, per `docs/project-assembly-and-reporting.md`. User custom styles are stored in `${CODEX_PPT_HOME:-~/.codex-ppt-skill}/references/`, outside the skill install.
## Subagent Dispatch
Slide subagents are mandatory after sample approval whenever the runtime can spawn them. The main agent prepares jobs and records state; each worker handles exactly one `prompts/slide_XX.json` job and returns only selected image path, backend, and QA note.
Use `docs/slide-generation-and-subagents.md` for dispatch, commands, result recording, blockers, and backend provenance. Use `prompts/slide-worker.md` as the handoff template.
Subagents must not edit `outline.md`, `deck_spec.json`, other slide jobs, `origin_image/`, `speech.md`, or the final `.pptx`. The parent records outputs and assembles.
## Acceptance Criteria
- Output is a valid `.pptx`.
- Each expected final slide image exists under `origin_image/slide_XX.png`.
- Every final slide image was generated by the confirmed backend and recorded through `record_slide_result.py`, except an approved sample marked accepted by run state.
- `outline.md` reflects the approved deck outline.
- `speech.md` exists when speaker notes are expected, and assembly writes those notes into the PPT.
- `slide_jobs.json` and `slide_run_state.json` reflect the final state.
- Required source images are visibly represented, or a blocker is reported.
- If blocked, the final response identifies phase, slide id, evidence path, and unfinished reason; do not call the deck complete.
## Reference Map
- `docs/workflow-gates-and-progress.md`: approval gates, progress, completion evidence.
- `docs/backend-selection.md`: backend decision rules and confirmation text.
- `docs/outline-style-and-sample.md`: outline, style, sample rules, prompt examples.
- `docs/user-supplied-assets.md`: strict handling for required source assets.
- `docs/slide-generation-and-subagents.md`: jobs, dispatch, result recording, blockers, provenance.
- `docs/cli-api-fallback.md`: fallback runtime, generation/edit commands, image limits, troubleshooting.
- `docs/image-model-configuration.md`: API key, base URL, model, `.env`; read only when config is needed.
- `docs/project-assembly-and-reporting.md`: project directory, notes, assembly, final report, prompting principles.
- `prompts/slide-worker.md`: slide subagent handoff template.
- `references/*.md`: built-in visual style references. User custom styles live in `${CODEX_PPT_HOME:-~/.codex-ppt-skill}/references/` and take priority over built-in styles with the same name.
## Documentation and Updates
For source, docs, install, config, and examples, see [ningzimu/codex-ppt-skill](https://github.com/ningzimu/codex-ppt-skill).
From ningzimu/codex-ppt-skill at 6d76c0e, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at 6d76c0eFiles
- SKILL.md10 KB · dce8b7ef2c36
- .clawhubignore162 B · f3e634b276e8
- docs/
- backend-selection.md3.6 KB · 4c288d9eb5d6
- cli-api-fallback.md5.1 KB · 04792fb9ff20
- image-model-configuration.md3.5 KB · 846228d7d7a3
- outline-style-and-sample.md9.5 KB · d6f0a477f102
- project-assembly-and-reporting.md8.5 KB · 46821aa1a02b
- slide-generation-and-subagents.md15 KB · 0119ea8a08d1
- style-library.md6.5 KB · 0f12f9d7e45a
- user-supplied-assets.md3.1 KB · e60ffab53f5c
- workflow-gates-and-progress.md2.6 KB · dd0fe2bc3085
- prompts/
- slide-worker.md2.6 KB · b606b666ca9a
- references/
- 党政红风格.md8.7 KB · a72ee5fa667e
- 创意杂志风.md3.4 KB · d8c81a620e41
- 复古扁平插画风.md3.3 KB · 094b9034380a
- 手绘技术解释风.md4.8 KB · 03ed2af2ab07
- 手绘白板风.md3.3 KB · e1560db95ce7
- 教学课件风.md9.9 KB · 997de64c6f94
- 数据仪表盘风.md3.5 KB · 0619047dd46b
- 清爽专业风.md4.5 KB · e651d6571248
- 温暖手工风.md3.3 KB · ecd61190b4d4
- 电子墨水杂志风.md4.7 KB · 93d659797c86
- 科研答辩风.md9.3 KB · 7dbf693eb740
- 麦肯锡风格.md15 KB · 8cd4c90907aa
- requirements.txt65 B · 84767f3a6b1e
- scripts/
- assemble_ppt.py15 KB · c4ac18e2aa28
- codex_ppt_runtime.py8.7 KB · b3dd856822b9
- image_gen.py35 KB · d71c0879f29e
- image_providers/
- __init__.py188 B · f4a8db421052
- atlascloud.py8.3 KB · bcdc6c35afd7
- base.py887 B · 027468265d72
- factory.py734 B · d7d72145ea38
- openai_compatible.py7.4 KB · 2b258767f952
- prepare_slide_prompts.py20 KB · 92cc338a85af
- record_slide_blocker.py1.4 KB · 92be04beb2a6
- record_slide_dispatch.py2.3 KB · f5ce8806a0ae
- record_slide_result.py6.8 KB · ae14297acf87
- remove_chroma_key.py14 KB · b4ebb3ac26dc
- slide_job_status.py2.4 KB · 15c90c28b573
- slide_run_state.py6.5 KB · b7534c3aec85
40 files, 274 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 6d76c0eRelated in Media and creative
all-images-ai-automation
This skill automates All Images AI operations by discovering and executing tools through Composio's All Images AI toolkit via Rube MCP.
by ComposioOfficial publisher
Agents not labelled yet · about 710 tokens · pinned 6 days ago
remotion-best-practices
This skill routes the agent through Remotion's specialized knowledge bases for video creation, editing, and deployment.
by RemotionOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 920 tokens · pinned 6 days ago
remotion-best-practices
This skill routes the agent to specialized Remotion sub-skills based on the user's task, covering video creation, project setup, React markup, maps…
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 1K tokens · pinned 6 days ago
remotion-captions
This skill enables video caption workflows including transcribing audio to generate captions, displaying captions in videos, and importing captions from SRT…
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 220 tokens · pinned 6 days ago
remotion-captions
This skill enables the agent to work with captions in Remotion videos by transcribing audio to generate captions, displaying them in videos, and importing…
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 270 tokens · pinned 6 days ago
remotion-create
This skill scaffolds a new Remotion video project, opens the browser-based Studio for live preview, and guides composition development using React markup.
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 680 tokens · pinned 6 days ago