by paulmil11
Agent-first slide decks: comment under a slide, and your coding agent (Claude Code or Codex) makes the change and replies on the slide.
# Add to your Claude Code skills
git clone https://github.com/paulmil11/decksSee how decks compares with popular alternatives.
decks is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by paulmil11. Agent-first slide decks: comment under a slide, and your coding agent (Claude Code or Codex) makes the change and replies on the slide. It has 61 GitHub stars.
decks's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/paulmil11/decks" and add it to your Claude Code skills directory (see the Installation section above).
decks is primarily written in HTML. It is open-source under paulmil11 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh decks against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Make slides by commenting on them. You leave a comment under a slide, your coding agent (Claude Code or Codex) changes the deck, and it replies on the slide: what it did, a question for you, or why it left something alone.

I teach people consulting skills and a big part of my work is getting people to make better and more compelling decks in PowerPoint. I made most of my slides in PowerPoint too. Of course I did, I'm a former consultant.
With Astra and Opus 5.5, we've reached a tipping point. I think that bulky software like Google Slides and PowerPoint increasingly doesn't make sense, especially for a solo operator like me. Handling basic formatting is trivial now and you can play project manager or partner, with the latest models as your Senior Associate. While I assume this may continue to evolve and I'm sure Claude's slide project may eventually kick my ass, for now, I am putting this out there as a simple harness that you can open in Claude or Codex and work in iteratively.

Decks is built that way. You say what should change, your agent changes it, and it tells you on the slide what it did and why. I have a tab, Checks, that offers some of the tests I teach to teams and also still run on my own slides: five- and ten-second tests, title tests, and horizontal and vertical flow. You can use AI as both a doer and a teacher, so you learn the method and apply it at the same time, on your own work.
When I make slides now, this is my daily driver and harness. I'm not sure I'll ever align boxes in PowerPoint again.
Decks is built on the ideas I teach at StrategyU, and the agent follows them every time it writes or fixes a slide:
Most of these are one keypress away in Checks. The agent's version of the method is
in .claude/skills/decks/SKILL.md, and the full one is in my
strategy-slides skill.
I use Decks in the Claude and Codex apps, with the deck open in the app's built-in browser, so the agent and I look at the same page. Models: Opus 5.5 or Sol 6.1. I haven't tried others yet.
Each deck is one HTML file in its own folder, with its own git history. It opens in any browser, presents full screen, and prints to PDF. Decks runs on your machine and keeps nothing anywhere else (your agent sends what it reads to its model provider, as it does with any file). When you need to send a deck, Client copy gives you one file with only the slides.
You need Python 3.9 or newer, Node.js 18 or newer, and git (optional, but decks get version history with it). macOS and Linux.
git clone <this repository> decks
cd decks
./setup.sh
python3 server.py
Open http://localhost:8790/. The first start makes ~/slide-decks/ with the deck
registry (decks.json) and a demo deck to practice on.
The server needs only Python. Screenshots, the audit, PDF export, and dashboard
thumbnails use Node.js and a headless Chrome. setup.sh installs playwright-core into
tools/ and, if it can't find a usable Chrome, Playwright's Chromium (about 150 MB, in
~/Library/Caches/ms-playwright on macOS or ~/.cache/ms-playwright on Linux). On
Linux, if screenshots or PDFs fail, Chrome is missing system libraries:
(cd tools && sudo npx playwright-core install-deps chromium).
Decks has numbered versions. CHANGELOG.md says what changed in each, and the
dashboard footer shows the version you're running. When a new version is out, the dashboard
says so. To update, run git pull here and restart the server. To hear by email, watch the
repository on GitHub (Watch › Custom › Releases).
To know about new versions, the server asks GitHub once a day which release is newest: one
small request, read from a redirect. GitHub sees your IP address and that a check happened.
Nothing about your decks is sent. To turn it off, set "check_updates": false in
config.json, or SB_CHECK_UPDATES=0.
Defaults: port 8790, listening on 127.0.0.1, decks in ~/slide-decks. To change them,
copy config.example.json to config.json, or set environment variables (they win):
| Setting | config.json |
Environment |
|---|---|---|
| Port | port |
SB_PORT |
| Address to listen on | host |
SB_HOST |
Decks folder (also holds decks.json and settings.json) |
decks_dir |
SB_DECKS_DIR |
Ask GitHub once a day for new versions (true) |
check_updates |
SB_CHECK_UPDATES |
| A different config file | SB_CONFIG |
|
Where sb finds the server |
SB_URL |
|
| Chrome for the headless jobs | SB_CHROME |
python3 server.py --port 8799 changes the port for one run.
decks
skill installed, you can just say "process changes".sb comments
and sb edits, changes the deck file, and answers each comment on its slide with
sb reply. You see "Claude working" on the slide while it goes.Each slide keeps its history in the side panel: every comment, the agent's reply, and how it ended.

Press C, or a number key from any view to run that check on the slide you're on. Not sure which? Help me choose asks what you want to know and opens the check that answers it.
5-second test. Can you get the point of the slide at a glance?
10-second test. Can a reader take it in, in the time they'll give it? A miss on either timed test (M) leaves a comment on the slide for the next round.
Horizontal flow. The titles alone, in order, as paragraphs or one per line. They should tell the whole story. You can edit them right there.
Vertical flow. The title first, with the body hidden. Say what the slide has to prove, then press Space and check that it does. It finds the title wherever your layout puts it, even inside a column or panel.
Guides. Four basic rules drawn on every slide, with a list of the slides that break one:
They're guidelines. They flag problems and never block you. Ask Claude to fix adds
what a slide breaks to its comment (Comment on all does every flagged slide), and
the agent fixes it next round. sb audit runs the same check, plus overflow and
overlapping labels.
You can comment from any check except the timed tests: the comment box stays under the slide.

Four views, each with the slides on the left and the notes on the right: