Presentation Workshop
Build editable PowerPoint decks from structured content, then check layout and source-content retention before delivery.
- Source repo
- siril9/presentation-skill
- Stars
- ★ 79
- Last updated
- 11d ago
- License
- MIT
- Primary language
- Python
- FA score
- 68/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex
- Cost
- Free, no paid service needed
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A researcher turns CSV data into a lab-report deck with scientific figures, methods, and stated limitations.
- Not a fit if
- Users who only need text brainstorming and no deck artifact
- Users editing a PPTX directly without its workspace source files
- Source review
- 68/100 · Some gaps
What does this agent do, and when should you use it?
presentation-skill is a coding-agent skill and Codex plugin for creating editable PowerPoint decks. It treats outline.json as the source, uses Python scripts to coordinate the workflow, and builds .pptx files with a pptxgenjs-based renderer; workspace mode also derives a deck_ir.json with stable object IDs and semantic metadata. Users can choose a one-off quick-deck path or a workspace that supports iteration and audits. Its validation covers geometry and content, with optional rendered-slide inspection and hash-bound review receipts for high-stakes delivery. The same SKILL.md can be used by other coding agents; core generation does not require LibreOffice, while render-based verification uses LibreOffice soffice and Poppler pdftoppm when available.
The agent authors outline.json, optionally using python3 scripts/present.py brief to produce a quick-deck route brief or python3 scripts/present.py init to create a workspace. It then runs python3 scripts/present.py finalize to build a .pptx from an outline and run QA, or python3 scripts/present.py build to rebuild a workspace deck. The PptxGenJS renderer produces editable text, charts, and tables. qa_gate.py checks geometry, placeholders, and mapped source-content retention, and can inspect rendered slide images when rendering is available. Content-retention checks are not factual verification and do not claim exhaustive coverage of every source field.
- A researcher turns CSV data into a lab-report deck with scientific figures, methods, and stated limitations.
- A clinical team prepares an editable data report with status tables, charts, and microscopy images.
- A board secretary creates a decision deck with a variance chart and owner table.
- A startup team prepares an investor update using KPI, statistics, and comparison layouts.
- A policy or editorial team organizes evidence and arguments into a consistent brief that can be rebuilt.
How do you install or deploy this agent?
Install it as a Codex plugin, through skills.sh, or as a local skill in the Codex skills directory. For the plugin route, add the marketplace and install Presentation Skill from /plugins in Codex:
codex plugin marketplace add siril9/presentation-skill --ref v0.14.0A local skill checkout requires Python and Node.js:
git clone https://github.com/siril9/presentation-skill "${CODEX_HOME:-$HOME/.codex}/skills/presentation-skill"
cd "${CODEX_HOME:-$HOME/.codex}/skills/presentation-skill"
npm install
npm run setup:python
npm run doctorCore generation does not need LibreOffice. Render-based verification requires LibreOffice soffice and Poppler pdftoppm. Optional extraction and data workflows may also need markitdown[pptx], matplotlib, pandas, or openpyxl.
How do you use this agent?
For a one-off deck, first emit a brief:
python3 scripts/present.py brief \
--topic "Q3 retention review" \
--prompt "Board decision with a variance chart and owner table" \
--profile auto \
--output quick_deck_agent_brief.jsonAfter authoring outline.json from the brief, build and verify the deck:
python3 scripts/present.py finalize \
--outline /absolute/path/outline.json \
--output /absolute/path/out.pptx \
--qa-dir /absolute/path/pptx-qaFor a deck that will be revised later, initialize a workspace, edit its outline.json, then build it:
python3 scripts/present.py init \
--workspace /absolute/path/decks/my-deck \
--title "My Deck Title" \
--prompt "Original request" \
--profile auto \
--style-preset auto
python3 scripts/present.py build \
--workspace /absolute/path/decks/my-deckWhat are this agent's strengths and limitations?
- outline.json is a rebuildable source, making the workflow suitable for iteration and auditing as well as one-time delivery.
- It provides 16 content variants, 13 style families, and eight full-deck composition grammars for choosing structure by content.
- QA checks geometry, placeholders, and mapped source-content retention; optional render inspection can catch issues geometry rules miss.
- Native charts and tables remain editable, and workspace metadata can record object IDs, semantic intent, and evidence links.
- Local setup involves Node.js, Python, npm dependencies, and Python environment setup; setup:python installs and validates runtime dependencies.
- Render-based verification additionally needs LibreOffice soffice and Poppler pdftoppm; without them that review path is unavailable.
- The README says content-retention checks are not factual verification and do not cover every source field.
- The documented approach to editing an existing PPTX depends on having its source files; when workspace sources exist, the project recommends editing those.
How does this agent compare with similar options?
The project makes the same SKILL.md available to other coding agents through skills.sh and offers a Codex plugin. The README does not provide a feature comparison with other deck generators.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Presentation Workshop This agent | 68 · Some gaps | Agent plugin / skillFree | ★ 79 | 11d ago | Python | Codex |
| PPTAgent / DeepPresenter | 34 · Major gaps | CLIFree + model costs | ★ 5.1k | 28d ago | Python | — |
| PPT Master — AI-native PowerPoint generation | 0 · Major gaps | Agent plugin / skillFree + model costs | ★ 64k | today | Python | Claude Code |
| PPT Agent | 41 · Major gaps | Agent plugin / skillFree + model costs | ★ 912 | 4mo ago | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
The evidence describes a mainly local workspace workflow, registered actions, path constraints, read-only reference inspection, source-first rebuilding, hash-bound review, and safeguards against overwriting audit inputs; this supports higher scores for least privilege, external effects, and rollback. User confirmation is described for high-stakes delivery but not consistently before actions. Dedicated sensitive-data handling and dependency-security policies or audit evidence are limited. Attribution consists mainly of license copyright and repository metadata; maintainer responsibility and identity are not verified by the curated registry.
The README, package metadata, and test materials are broadly consistent on version, workflows, and QA. Runtime diagnostics and layered checks are documented. Dependencies are pinned and import diagnostics provide repair commands, but no comprehensive security audit or availability guarantee is shown. Tests specify concrete error reports, exit codes, and removal of stale review artifacts after failure; this review did not execute those tests.
Documentation covers quick one-off decks, rebuildable workspaces, editing existing slides, and lab, clinical, board, investor, and policy scenarios. It states boundaries such as QA not being factual verification and rendering requiring LibreOffice/Poppler. The many entry points and fallback paths add complexity, and trigger phrases and environment prerequisites are not entirely frictionless.
The repository layout, installation methods, commands, and project structure are documented thoroughly. Examples and release notes are extensive, the MIT license is explicit, and the version history is detailed. Stated limitations include no factual verification, optional rendering dependencies, and synthetic nonclinical data. Deductions reflect unclear maintenance/support commitments, many aliases, and FAQ-like guidance spread across docs rather than consolidated.
The product builds editable PPTX files from JSON and documents native charts/tables, rebuilds, layout and content QA, accessibility checks, and review receipts. These support strong output usability and marginal value over screenshot-based generation. Cost-benefit is slightly lower because local Python/Node setup, optional rendering tools, and workspace complexity may be burdensome for simple decks.
Major README claims have corresponding package scripts, tests, examples, or release materials, and the documentation distinguishes synthetic studies, generator benchmarks, and factual verification. Corroboration is not independent for every feature; many details rely on repository statements or test code. The materials distinguish design claims from verification claims, but no execution or tests were performed in this review, so confidence remains low.
- QA checks layout, content retention, and accessibility signals; it is not factual verification. Verify important data independently.
- Core workflows need local Python and Node; rendered review also depends on LibreOffice and Poppler. Synthetic studies do not establish real clinical or scientific results.
- Dependencies are version-pinned, but the supplied material does not provide a comprehensive dependency-security audit or sensitive-data policy.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v0.14.0 v0.14.0: Evidence-led methods, figures, and readable layouts
Release notes excerpt
v0.14.0 - Methods and figures that carry the evidence Methods and figures stay readable, editable where practical, and tied to source. - Native ordered methods preserve 2-4 editable titles and details, with flow_layout: auto | strip | bands. Authored reading order is retained. - Scientific figures offer panel-grid, primary-rail, ledger-rail, and strip-readout layouts with figure_frame: open | ruled | panel. Evidence, captions and interpretation receive space at readable sizes. - Measured sidebars allocate room for declared headings and interpretation …View on GitHub ↗ -
v0.13.1 v0.13.1: See the slides, share the skill
Release notes excerpt
v0.13.1 - See the slides, share the skill This is a showcase and distribution update with a small readability repair, not a new layout engine or a model benchmark. - The README previews fewer, larger actual slides: lab evidence and tables, editorial storytelling and a full-slide metric, and operational processes and decisions. The earlier library editorial source is rebuilt unchanged with the current renderer, rather than presented as an old screenshot. - Agent discovery metadata is current and ships with both the skill package …View on GitHub ↗ -
v0.13.0 v0.13.0 - Content-preserving builds, smaller repairs
Release notes excerpt
v0.13.0 - Content-preserving builds, smaller repairs The model composes the story and design. The skill preserves editable source, fits the evidence, and reports what needs attention. - Shared layout allocation reserves room for captions, bottom callouts, and footers. Content and readable type take priority over decorative framing. - Numbered action panels keep their authored reading order, aligned peer boxes, and consistent padding. Editorial evidence gets clearer left insets and separation between figures, labels, and supporting text. …View on GitHub ↗