What it looks like
A presentation with two slides:
---
theme: ./theme
transition: fade
session-time: 60min
track: AI
---
# AI Security
## The S in MCP stands for Security
::image::

<!-- These are your presenter notes -->
---
layout: default-aside
---
# ProbLLMs
<v-clicks depth="2">
- Environment <small>(Water & Electricity)</small>
- Cost <small>(GPUs, RAM, ...)</small>
- Revenue: <small><i>AI startups turn hundreds of millions into tens of millions</i></small>
- IP: Fair Use or Theft?
- Bias in training data gets amplified
- Explainability: <small>We're often not even sure why</small>
- Weaponization: <small>Hallucinating AIs autonomously firing weapons is exactly what we need</small>
</v-clicks>
- Frontmatter which can be picked up by the layout
v-click(s) as a tag or attribute so more text appears on click
::slot::s for inserting text in multiple places
A decade of theme regret
I gave my first tech talk for itenium at VISUG using a default PowerPoint theme. It looked exactly as good as you’d expect.
After that, every itenium talk used our internal theme. Three eras of it, actually:
- The ancient theme – from the company’s earliest days. It was OK-ish.
- The updated theme – it was a dark theme, and I actually liked this one :D
- The rebrand theme – A modern and on-brand theme
And now: a Slidev theme that matches the rebrand. Same fonts, same gradients, same h1/h2 “gadgets” we use on the website – except now they live in CSS instead of being stuck in .pptx.
I’m ready for our next rebranding!
Hey Claude, update the theme based on this pptx and the new itenium.be site!
Well, hoping it’s going to be just that one prompt is probably a bit optimistic ;)
How Claude did the heavy lifting
Here’s the best part: I didn’t learn Slidev. I didn’t refresh my rusty Vue. I didn’t have to dig into obscure CSS issues.
What I did was:
- Hand Claude our existing rebrand
.pptx template and ask it to extract the theme into a Slidev theme package.
- Point Claude at itenium.be and say “match these fonts, these h1/h2 gadgets, the in-between-slides feel.”
And that worked really well, but then, as usual, I got carried away…
How I got carried away (again)
Because now I could have cool things, like a <CountDown /> component on a “Break” slide – top priority, obviously!
---
layout: break
---
# ☕ Break
::timer::
<CountDown :minutes="10" />
::image::

But things started to get really off the rails after this prompt:
“Hey Claude, check my ./courses… And make me a markdown table with the presentations I should convert using MoSCoW”
For context, most itenium sessions are hands-on workshops – no slides worth publishing. The PowerPoint-heavy ones came out as:
Five Musts done. Two more queued for the next time I’m scheduled to give them. The Should / Could / Wish tail… maybe sometime :D
The Migration Skill
Probably the largest skill Claude has ever created for me.
Because converting a .pptx to Slidev while still keeping everything intact turned out to be not that super easy after all. At least not for the first two PowerPoints, after that I was sipping my coffee while admiring Claude do its thing.
- PPTX -> PDF -> HTML is what worked for me
- The HTML was too big to read in one go so it’s parsed in a separate file that was easier for Claude to work with
- Because of the “section slides”, slide numbers were mismatched between the old and new deck, causing a lot of confusion between Claude and myself
- Presenter notes and emojis were gone in the HTML, these needed separate parsing, another alternative representation was born
- Hidden slides were not present in the PDF, extra Skill rules were added to remedy this
- Images were not always present: what is a background image and what is an image it should take over…
So, well, in the draft for this blog post Claude said “just a weekend work”. Yeah right.
Adversarial review
As soon as the first conversion was done, I was like, wait a minute… These were talks I did between 2022-2025, maybe there have been some developments since then. People tell me that understanding tends to move in IT…
So after each conversion, I fired up an adversarial review which resulted in slides being moved around the deck, being expanded, obsolete stuff being marked as such or removed, new angles being added etc.
The Architecture KickOff deck got the biggest overhaul and feels a lot more… SOLID now ;) Added slides on coupling & cohesion, KISS / YAGNI / DRY, trade-offs, last responsible moment, accidental vs essential complexity, fitness functions, ADRs.
“In just one weekend”… Sure Claude, sure. The weekend turned into a week, then two.
The architecture-track decks are in much better shape now, definitely going to do these sessions again – no concrete dates yet.
All new talks ship as Slidev
Every new itenium talk now starts as a Slidev project, shipping to the public site on push.
Each talk lives in its own repo. Presentations is the index – a YAML listing which talks are published: true, aggregated into one site on push. The index itself is built with Astro, which I couldn’t tell you the first thing about – never had to glance at the code.
And we end up with a card like this!

Part of the migration skill is generating an “on-brand” Midjourney prompt for the cover image. And I absolutely love these!
Ten years of decks, finally in a format that respects how the rest of our work is done.
Conclusion
I’m so glad I finally got around doing this :)
This is the pattern we see all over the internet right now, “low priority work” that we would like to have but never get around doing because it’s too much learning, too much work – that just gets done now, because it’s become so easy!