with one click
codex-ppt
// Generate visually unified image-based PPT/PPTX decks from articles, reports, papers, notes, or outlines.
// Generate visually unified image-based PPT/PPTX decks from articles, reports, papers, notes, or outlines.
| 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."},{"name":"CODEX_PPT_HOME","required":false,"description":"Runtime home override."}],"homepage":"https://github.com/ningzimu/codex-ppt-skill"}} |
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.
Reference Map files before each phase. This file is the orchestration contract; detailed rules live in docs/ and worker prompts in prompts/.deck_spec.json, speech.md, prompt jobs, slide images, or .pptx before the approvals in docs/workflow-gates-and-progress.md.origin_image/slide_XX.png must be generated by the selected image backend: built-in image generation/editing tool or scripts/image_gen.py.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:
Do not mark a step complete from chat alone; use real files or script-recorded state.
Understand the source content.
Plan the deck outline.
outline.md, read docs/workflow-gates-and-progress.md and docs/outline-style-and-sample.md.Confirm a unified visual style.
references/, read docs/outline-style-and-sample.md.Confirm the image backend.
docs/backend-selection.md.docs/cli-api-fallback.md. Read docs/image-model-configuration.md only after config errors or explicit API-setting requests.Generate one sample slide for approval.
docs/outline-style-and-sample.md.sample_generation_method in deck_spec.json so jobs and subagents inherit the same path.Create the project directory.
docs/project-assembly-and-reporting.md.Prepare user-supplied assets.
docs/user-supplied-assets.md.Generate all slide images.
docs/slide-generation-and-subagents.md.scripts/prepare_slide_prompts.py or saved prompts/slide_XX.json files.Dispatch slide subagents.
docs/slide-generation-and-subagents.md and prompts/slide-worker.md.Quality check and repair.
docs/project-assembly-and-reporting.md.docs/cli-api-fallback.md. Replace the final slide only after validating the edited output.Write speaker notes and assemble the PPT.
speech.md or running assembly, read docs/project-assembly-and-reporting.md.outline.md reflects the final confirmed deck outline. Use speech.md headings that map to Slide N.slide_jobs.json shows generated slides as recorded and approved samples as accepted. If any slide is pending, dispatched, or blocked, stop.Report the result.
docs/project-assembly-and-reporting.md.Save reusable styles when requested.
docs/style-library.md.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.
.pptx.origin_image/slide_XX.png.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.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: visual style references.For source, docs, install, config, and examples, see ningzimu/codex-ppt-skill.