Agent skill for generating professional PowerPoint (.pptx) presentations, powered by an agent-ready CLI and Python library
Project description
agent-slides
Agent skill for generating professional PowerPoint decks. 7 composable skills, a purpose-built CLI, and a Python API.
Quick start: Visit agent-slides.com for docs, examples, and getting started guides.
Why agent-slides?
Every AI agent can write text, but generating a polished, brand-compliant PowerPoint deck requires workflow knowledge that doesn't fit in a system prompt: when to dry-run, how to chain extraction → build → QA stages, how to recover from validation errors.
agent-slides encodes that knowledge in 7 composable skills, backed by a CLI that speaks JSON and a Python API that wraps python-pptx into a deterministic, agent-safe layer.
What's Included
7 Skills
| Skill | Command | What it does |
|---|---|---|
| slides-extract | /slides-extract |
Extract template contracts from a .pptx file |
| slides-build | /slides-build |
Build a complete deck from a brief |
| slides-edit | /slides-edit |
Text edits, layout transforms, ops patches |
| slides-audit | /slides-audit |
Technical lint: fonts, overlap, contrast |
| slides-critique | /slides-critique |
Storytelling: action titles, MECE, hierarchy |
| slides-polish | /slides-polish |
Final pass: notes, metadata, sources |
| slides-full | /slides-full |
End-to-end: extract → build → audit → critique → polish |
The CLI
Skills call uvx --from git+https://github.com/mpuig/agent-slides slides ... under the hood. The CLI provides:
- Declarative JSON operations with dry-run and transactional rollback
- Template extraction (layouts, archetypes, color zones, icons)
- Validation, linting, and QA with design profiles
- Agent-optimized output (compact JSON, pagination, field masking)
- Runtime schema discovery (
uvx --from git+https://github.com/mpuig/agent-slides slides docs json)
Installation
npx skills add https://github.com/mpuig/agent-slides
This installs the skills for Claude Code, Cursor, Gemini CLI, or Codex CLI — your choice. Skills call uvx --from git+https://github.com/mpuig/agent-slides slides ... under the hood, so make sure uv is available in your environment.
Usage
Once installed, use skills in your agent harness:
/slides-extract template.pptx # Extract template contracts
/slides-build # Build deck from a brief
/slides-audit # Check for technical issues
/slides-full # Run the full pipeline
Or use the CLI directly:
# Render a deck from a slides document
uvx --from git+https://github.com/mpuig/agent-slides slides render --slides-json @slides.json --profile design-profile.json --output out.pptx
# Extract template contracts
uvx --from git+https://github.com/mpuig/agent-slides slides extract template.pptx --output-dir extracted
# Validate and lint
uvx --from git+https://github.com/mpuig/agent-slides slides validate out.pptx
uvx --from git+https://github.com/mpuig/agent-slides slides lint out.pptx --profile design-profile.json --out lint.json
# Inspect and search
uvx --from git+https://github.com/mpuig/agent-slides slides inspect out.pptx --summary
uvx --from git+https://github.com/mpuig/agent-slides slides find out.pptx --query "pricing" --out results.json
# Schema discovery
uvx --from git+https://github.com/mpuig/agent-slides slides docs json
uvx --from git+https://github.com/mpuig/agent-slides slides docs schema:slides-document
Typical Workflow
/slides-extract → /slides-build → /slides-audit → /slides-critique → /slides-polish
↕ ↕
/slides-edit ← (targeted fixes)
Or use /slides-full to run the entire pipeline in one command.
Development
uv sync --all-groups
uv run ruff check .
uv run ty check
uv run pytest
License
MIT. See LICENSE.
Created by Marc Puig
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_slides-0.1.0a0.tar.gz.
File metadata
- Download URL: agent_slides-0.1.0a0.tar.gz
- Upload date:
- Size: 31.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cd102c8ca6f3fdb28387ea91b418fdac157ac332029b78e875ef94420593f16
|
|
| MD5 |
98961c67394b4f4bc6109cd9b35071de
|
|
| BLAKE2b-256 |
85a6a8a82167d17e910cc5a9dd3b14ea4762bad98cddc6abaee1b027acccf2b8
|
File details
Details for the file agent_slides-0.1.0a0-py3-none-any.whl.
File metadata
- Download URL: agent_slides-0.1.0a0-py3-none-any.whl
- Upload date:
- Size: 98.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
594d36048e986f9fa403039f9f3e714b457da030d46e2d55fb0635e650a12da7
|
|
| MD5 |
28192ca96213739325547f0f9f7dae3e
|
|
| BLAKE2b-256 |
48528991329853a5be29e8b8e0f96506a7cacdada8ebf44bfc12da26feb8d551
|