README.md
April 30, 2026 · View on GitHub
Awesome PPT Skills
Turn a prompt into polished, full-slide PPT decks with gpt-image-2.
Use $awesome-ppt-std for the stable image-first flow, or
$awesome-ppt-editable for an experimental ppt-master editable reconstruction.
English | 中文
Overview
Awesome PPT is a Codex skill for image-first presentation generation. It uses gpt-image-2 to render each slide as a complete designed page, including titles, body text, labels, diagrams, and visual style, then assembles those slide images into a .pptx.
The repo exposes two explicit commands:
$awesome-ppt-std: stable image-first workflow. It generates full-slide images and packages them into PPTX.$awesome-ppt-editable: experimental editable workflow. It first runs the standard workflow, then exports a reconstruction brief forppt-masterso the deck can be rebuilt as native editable text, shapes, charts, and objects.
$awesome-ppt remains as a backward-compatible core command, but new users should prefer the explicit -std or -editable commands.
Why It Is Different
- Full-slide generation: the model designs the whole page, not just a background.
- Text-aware prompts: every visible title, bullet, label, and callout is written into the image prompt.
- Theme-aware style selection: the skill identifies the deck topic first, then adapts a matching style prompt from the bundled theme library.
- Fast deck assembly: generated slides are packaged into PPTX with a lightweight standard-library builder.
- Editable optimization: generated slide images become visual references for
ppt-master, whilerendered_textbecomes the exact native editable text source. - Safer command split: standard and editable workflows are separate commands, so unstable reconstruction behavior does not affect the stable image-first path.
- Rebuildable workflow:
deck.jsonkeeps the slide plan, rendered text, prompts, and image paths together.
Install
Clone the repo:
git clone https://github.com/stevenjinlong/awesome-ppt-skills.git
cd awesome-ppt-skills
Install the skills into Codex:
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
for skill in awesome-ppt awesome-ppt-std awesome-ppt-editable; do
ln -sfn "$PWD/$skill" "${CODEX_HOME:-$HOME/.codex}/skills/$skill"
done
Restart Codex or open a new Codex session so the skills can be discovered.
$awesome-ppt-std works with this repo alone. $awesome-ppt-editable also requires the upstream ppt-master skill to be installed or symlinked in Codex.
Usage
Generate a standard image-first deck:
$awesome-ppt-std Create a 5-slide technical deck about Transformer, from history to architecture to applications. Use a dark engineering style, 16:9, and render all titles, body text, labels, and diagrams directly inside the generated slide images. --pages 5 --ratio 16:9 --lang en
Generate an image-first deck and request native editable reconstruction:
$awesome-ppt-editable Create a 5-slide technical deck about Transformer. Use a dark engineering style. Generate the polished image-first deck first, then optimize it into a native editable PPTX with ppt-master. --pages 5 --ratio 16:9 --lang en
Chinese prompt example:
$awesome-ppt-std 做一个 5 页 PPT,主要介绍 Transformer,从历史到架构到应用,要偏技术风。所有标题、正文、标签都必须由 gpt-image-2 直接生成在每页图片里。 --pages 5 --ratio 16:9 --lang zh
Example: Transformer Architecture
This is a 5-slide $awesome-ppt-std image-first deck generated from the Transformer architecture prompt. The visible text and diagrams are rendered directly inside each slide image, then assembled into a PPTX.
$awesome-ppt-std 做一个介绍 Transformer 架构的 PPT,5 页左右,要求技术风,有文本。 --pages 5 --ratio 16:9 --lang zh
Output
The skill writes a deck workspace like this:
awesome-ppt-output/<deck-slug>/
deck.json
images/
slide-01.png
slide-02.png
<deck-slug>.pptx # image-first PPTX
ppt-master-handoff/
ppt-master-brief.md
ppt-master-request.md
images/
slide-01.png
ppt-master-rebuild/ # editable mode only, created by ppt-master
<deck-slug>-editable.pptx # editable mode output, when available
awesome-ppt-output/ is a local runtime/test output directory and is ignored by Git. The README preview image is stored separately under examples/ so it can be published safely.
Build Manually
The scripts use only the Python standard library:
python scripts/validate_skill_package.py
python awesome-ppt/scripts/validate_deck.py awesome-ppt-output/my-deck/deck.json
python awesome-ppt/scripts/build_deck.py awesome-ppt-output/my-deck/deck.json --out awesome-ppt-output/my-deck/my-deck.pptx
python awesome-ppt/scripts/export_ppt_master_handoff.py awesome-ppt-output/my-deck/deck.json
python awesome-ppt/scripts/inspect_pptx_package.py awesome-ppt-output/my-deck/my-deck.pptx --expect-slides 5 --max-media 5
Current Scope
- Supported image formats: PNG and JPEG.
- Supported ratios: 16:9, 4:3, and 1:1.
- Default visible content layer: generated slide image with rendered text.
- Optional helper layer: native PPT text boxes.
- Native editable optimization:
$awesome-ppt-editableexports appt-masterreconstruction handoff after the image-first deck is built. This depends onppt-masterand is not lossless bitmap-to-vector conversion. - Future work: OCR-based text QA, notes-page embedding, source-file extraction, templates, and richer chart/table workflows.