Every premium and members-only resource for $9.99/month, as a no-commitment subscription. See the plans

PalateKit

Menu

Request a resource

Describe the resource you are missing in one sentence. We will email you when it is published.

0 / 280

Unlock PalateKit

Unlock everything

Plan

Paying means accepting our terms of sale.

Secure payment by Stripe. Receipts and invoices sent by email.

Welcome back

Sign in to install, download or save this resource. A free account is enough for free resources.

Making presentations with a coding agent

HTML slides, PDF or PowerPoint export, libraries and pptx skills: how to produce a slide deck with your agent, and when a dedicated presentation tool is the better choice.

Updated on

A coding agent does not draw slides: it writes files. That leaves two routes. The first produces slides in HTML or Markdown, which you present in a browser or export to PDF. The second generates a .pptx file directly. Which one fits depends on what you will do with the deck afterwards.

Route 1: HTML or Markdown slides

You describe the content, the agent writes the code, and you check the result in the browser. Changes take one sentence ("move the title to the top, shorten the text on slide 4"), and the deck stays plain text that you can version with the project.

Three common libraries:

  • reveal.js: an HTML presentation framework.
  • Marp: you write Markdown, and the tool outputs HTML, PDF and PowerPoint.
  • Slidev: built for developers, it exports to PDF, PPTX, PNG or Markdown.

Name the library in your request. Otherwise the agent picks one, and the rest of the conversation builds on that choice.

Exporting to PDF

PDF is the safest format for sending a deck: the layout does not move.

With reveal.js, open the presentation with ?print-pdf at the end of the address, start the browser's print dialog (Ctrl or Cmd + P), then set the destination to "Save as PDF", the layout to landscape and the margins to none, and enable background graphics. The reveal.js documentation says this method requires Chrome or Chromium.

With Marp, one command is enough:

npx @marp-team/marp-cli@latest deck.md --pdf

With Slidev, slidev export produces a PDF. playwright-chromium must be installed in the project.

Exporting to PowerPoint

There are two approaches, and they do not give the same file.

Converting existing slides

Marp converts with --pptx, Slidev with slidev export --format pptx. In both cases the file is mostly made of images: Slidev states that the text is not selectable, and Marp that the content cannot be edited in PowerPoint. Presenter notes are carried over. This suits a deck you project as it is, not a file someone else will have to rework.

Both tools offer an editable variant (--pptx-editable for Marp, --format pptx-editable for Slidev). Marp describes its option as experimental: it requires LibreOffice Impress, can fail or give an incomplete result with complex styles, and does not support presenter notes. Test it on your own deck before relying on it.

Generating a real .pptx file

To get text boxes, tables and images that can be edited in PowerPoint, the agent writes a script with a library:

  • PptxGenJS (JavaScript, MIT license) runs in Node, in the browser, or in a React or Vite project.
  • python-pptx (Python) creates, reads and updates .pptx files: slides, text boxes, images, tables, shapes and charts.

A minimal PptxGenJS example, as its documentation presents it:

import pptxgen from "pptxgenjs";

let pres = new pptxgen();
let slide = pres.addSlide();
slide.addText("Hello from PptxGenJS", { x: 1, y: 1, color: "363636" });
pres.writeFile();

The agent runs the script and you get the file. You can also have it open an existing template (with python-pptx) to follow your company's brand.

pptx skills

A skill for the .pptx format replaces instructions you would otherwise repeat in every request: how to create slides, edit them, analyze an existing deck. Anthropic provides a pre-built PowerPoint skill, available on the Claude API, claude.ai and other surfaces. On the API it runs in the code execution tool.

In Claude Code or another coding agent, you can install a community skill of the same kind from the catalog. Read its files before installing it, as with any resource.

When a dedicated tool is better

An agent is quick for a first draft and for repetitive decks: monthly reports, presentations generated from data. It is less suited when the result has to be polished by hand.

SituationBetter choice
First draft from a text or dataCoding agent
Deck regenerated every periodCoding agent, with a script or a skill
Deck versioned alongside codeMarkdown or HTML slides
Fine layout work by several peoplePowerPoint, Keynote or Google Slides
Strict brand template imposedDedicated tool, or a .pptx template given to the agent

A common workflow: let the agent produce the first draft, then finish by hand in the tool.

Catalog resources

In the skills catalog, filter on the "slides" output to find skills that produce decks. A DESIGN.md also gives the agent your brand's colors, fonts and spacing, which avoids generic slides. Prompts help for a one-off request. To install a resource, follow the getting started article.

Tips for good results

  • Give the outline before the styling: one idea per slide, a title that states that idea.
  • Supply the source text, not just the topic: the agent should not invent your figures.
  • State the output format and the library in your first request.
  • Open the final file and go through every slide: overflowing text, a missing image and fallback fonts show on screen, not in the code.

Sources

Frequently asked questions

Can my agent produce a .pptx file directly?

Yes, in two ways: by writing a script with a library such as PptxGenJS (JavaScript) or python-pptx (Python), or by relying on a skill built for the format. Anthropic offers a pre-built pptx skill, available on the API, claude.ai and other surfaces.

Is a PowerPoint exported from HTML or Markdown slides editable?

Usually not. Marp and Slidev export each slide as an image by default, so the text can be neither selected nor edited. Editable options exist but are limited (Marp calls its option experimental).

When should I open PowerPoint, Keynote or Google Slides instead?

When other people need to touch up the deck by hand, or when layout matters more than speed of production.

Was this article helpful?

Report a problem
  • What is an Agent Skill?

    An Agent Skill is a folder with a SKILL.md file that your coding agent loads on demand. The format, where it comes from, which agents read it, and what PalateKit adds around it.

  • Install your first resource

    Pick a PalateKit resource, install it in your coding agent in a minute, then check that the agent uses it.