Repolode
icip-cas

icip-cas/PPTAgent

An agentic framework that generates editable PowerPoint decks from text, with reflective visual review of the rendered slides.

Open-source alternative to:Microsoft PowerPoint

Stars
5,141
Forks
604
Open issues
18
Last commit
3 days ago

What is it?

PPTAgent is a Python framework for producing PowerPoint presentations with LLM agents. Instead of emitting a plain outline, it drafts slides, renders them, and reviews the visual result so it can revise layout and content before delivering the file.

The project has moved from its original template-based research pipeline (EMNLP 2025) to a newer DeepPresenter runtime and a PPTAgent Skill for Claude Code, Codex CLI and OpenCode. The skill creates, revises and exports an editable answer.pptx, keeps HTML sources and previews in a task folder, and can use an external vision model as a reviewer in text mode.

Setup requires Linux or macOS, uv, npm and LibreOffice, with Playwright Chromium for rendering. Pinned v0.2.0 and v1.1.38 tags are provided for reproducing the papers.

Key features

  • 01Generates editable PPTX files from a text request.
  • 02Renders slides and reviews them visually before delivery.
  • 03Works as a skill in Claude Code, Codex CLI and OpenCode.
  • 04Supports text mode with an external OpenAI-compatible vision model for review.
  • 05Keeps editable HTML sources, previews and a review report in the task folder.
  • 06Offers MCP server support in earlier versions.

Use cases

  • Drafting a slide deck for a team presentation from a written brief.
  • Revising an existing deck by asking an agent to restructure slides.
  • Reproducing the PPTAgent or DeepPresenter research results using pinned tags.

Quick start

  1. 1

    Install system dependencies (Debian/Ubuntu)

    sudo apt-get install npm libreoffice-impress
  2. 2

    Clone the repository

    git clone https://github.com/icip-cas/PPTAgent.git
  3. 3

    Create a virtual environment and install the skill's Python dependencies (run inside PPTAgent/skills/pptagent)

    uv pip install --python .venv/bin/python -r requirements.txt
  4. 4

    Register the skill with Claude Code (run inside PPTAgent/skills/pptagent)

    .venv/bin/python scripts/install.py --client claude

Things to know

  • Supported only on Linux (including WSL) and macOS, and it needs LibreOffice and uv.
  • Visual review of slides needs a separate multimodal vision model API token.
  • It works as a skill for coding agents (Claude Code, Codex CLI, or OpenCode), so you need one of those installed.

Topics

FAQ

What is PPTAgent?
An agentic framework that generates editable PowerPoint decks from text, with reflective visual review of the rendered slides. PPTAgent is a Python framework for producing PowerPoint presentations with LLM agents. Instead of emitting a plain outline, it drafts slides, renders them, and reviews the visual result so it can revise layout and content before delivering the file.
Is PPTAgent free to use? What license does it have?
PPTAgent is open source under the MIT license. Check the license terms before using it in commercial products.
Is PPTAgent still maintained?
Actively maintained. The last commit to PPTAgent was on Oct 19, 2026.
What can I use PPTAgent for?
Drafting a slide deck for a team presentation from a written brief. Revising an existing deck by asking an agent to restructure slides. Reproducing the PPTAgent or DeepPresenter research results using pinned tags.
How do I install PPTAgent?
Install system dependencies (Debian/Ubuntu): sudo apt-get install npm libreoffice-impress Clone the repository: git clone https://github.com/icip-cas/PPTAgent.git Create a virtual environment and install the skill's Python dependencies (run inside PPTAgent/skills/pptagent): uv pip install --python .venv/bin/python -r requirements.txt Register the skill with Claude Code (run inside PPTAgent/skills/pptagent): .venv/bin/python scripts/install.py --client claude
Where can I get PPTAgent?
The source code and installation instructions are on GitHub: https://github.com/icip-cas/PPTAgent

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects