This week's tip of the week is Marp.

I’m on my third talk using Marp now, and I really don’t want to go back to building presentations in a traditional slide editor.

Marp lets you build slide decks with Markdown and CSS.

That alone is useful, but the killer feature for me is how well it works with coding agents.

I’m working on my GitHub Universe talk right now, and they provided a pretty complex PowerPoint template they want speakers to use. I basically handed it to my agent and said, “make this work in Marp.”

My agent converted the PowerPoint design to Marp, pulled down the required fonts, installed what it needed, and got me to a working deck.

From that point on, the presentation is basically source code.

---
marp: true
theme: conference
---

# Fine-grained authorization

OAuth gets us authentication.

But what should the agent actually be allowed to do?

---

# The problem

- User can merge PRs
- Agent acts as the user
- OAuth doesn't know the difference

Now I can ask my agent to tighten a few slides, reorganize a section, add speaker notes, or change styling and it just edits the Markdown and CSS.

I tried something similar with Google Slides and browser automation before this. It was slow, inaccurate, and at one point the agent started trying to script its way around the UI.

With Marp, there’s no UI to fight.

Even if you love Keynote or PowerPoint, I think this workflow is worth trying in the agentic era. Markdown and CSS are just a much better interface for an agent to work with.

You can see my recent Commit Your Code deck running here, along with the generated PDF and PowerPoint.

I’ve also put together an open-source Marp starter kit with the local dev server and PDF/PowerPoint builds already wired up. Clone it, run it locally, and start writing slides.

That's it! Short and sweet. Until the next one!