Atlas / Skills / ningzimu / Codex Ppt

Codex PptSAFE

skills/ningzimu/codex-ppt

GPT-Image-2 PPT Generator Skill for Creating Image-Based PowerPoint Presentations in Codex and Other Skill-Compatible Agents

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
3 documented
License
MIT
Stars
7,131
01

Overview

GPT-Image-2 PPT Generator Skill for Creating Image-Based PowerPoint Presentations in Codex and Other Skill-Compatible Agents

Read from source at commit 6ad868eb781aOBSERVED · 2026-10-20
Advertisement
02

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
openclawmentioned
03

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
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 d
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (5 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (5)

MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/codex_ppt_runtime.py:232
print(f"OPENAI_API_KEY={'set (' + _mask_secret(api_key) + ')' if api_key else '<unset>'}")
LOWInventory / provenance · inv.hidden_file · CWE-1104
.clawhubignore
.clawhubignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
scripts/image_gen.py:438
out_path.write_bytes(base64.b64decode(image_b64))
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
scripts/image_gen.py:499
raw = base64.b64decode(image_b64)
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
requirements.txt
python-pptx, Pillow, openai, filelock
Why it matters. 4 requirement(s) not pinned with ==
Fix. pin exact versions

Gates applied: no_behavioural_pass.

Audited 2026-10-20 · audit v0.4.1 · source sha 6ad868eb781afull audit observations/trust-audit/skill/ningzimu__codex-ppt.json · Report an issue / request a re-scan
05

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-206ad868eb781aSAFEB89first audit
06

Questions

What does the codex-ppt — ningzimu/codex-ppt-skill skill do?

GPT-Image-2 PPT Generator Skill for Creating Image-Based PowerPoint Presentations in Codex and Other Skill-Compatible Agents

Is codex-ppt — ningzimu/codex-ppt-skill safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can codex-ppt — ningzimu/codex-ppt-skill access on my machine?

The audit observed that it reaches the network and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.

Which assistants does codex-ppt — ningzimu/codex-ppt-skill work with?

Its documentation mentions claude-code, codex and openclaw. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (6ad868eb781a), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Codex Ppt](https://modelsatlas.com/skills/ningzimu/codex-ppt/badge.svg)](https://modelsatlas.com/skills/ningzimu/codex-ppt/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement