Automate All the Things - my Codegarden 2026 talk is up
My Codegarden 2026 talk, Automate All the Things: Building & Evolving Umbraco Sites with AI Agents, is now up on YouTube:
And everything I ran on stage - the prompts, the rules, the skills, the agents, the whole workflow - is open source here:
📦 github.com/Shazwazza/UmbracoAI
So what actually happens in it?
The whole talk is a live demo. I point GitHub Copilot CLI at a completely empty Umbraco install - no content types, no templates, no content, nothing but an API user I'd set up beforehand - and it designs, scaffolds, styles, populates, validates and commits an entire blogging website. Nobody opens the back office. Nobody writes a line of code.
It builds the document types, the templates, the CSS, the navigation, ten blog posts, goes and finds matching images for all of them, adds a tag cloud, generates a sitemap, runs accessibility checks, and commits after every single step.
The content isn't generic filler, either. The agent is told to write about the presentation it's currently part of, and about what it's learning as it goes. So it writes blog posts about its own experience of being built, live, while a room full of people watches. It knows it's on stage, and it will happily tell you so.
The bit I'm most excited about
The thing driving all of it is Conductor - a YAML-based multi-agent workflow runner. If you've used LangChain or LangGraph, it's a bit like that, except you don't write code, you write YAML. Each step is an agent with strongly typed inputs and outputs, so you can wire the output of one step into the input of another. Steps can run in parallel, they can fan out and fan back in, they can loop, they can each use a different model, and the whole thing can be templated.
The best part is you don't even have to write the YAML. Installing Conductor installs a skill that writes Conductor workflows, so you can just ask for what you want. That's exactly what I did - I told it I wanted a blog engine with a tag cloud and git commits along the way, and deliberately never told it how to use Umbraco. It figured that out entirely from the Umbraco MCP tool metadata.
The funny bits
Because it's writing about itself as it goes, the titles are a delight. Some actual ones it came up with:
- Hello Codegarden, an AI agent walks into a CMS
- The first keystroke is always the hardest
- Publishing nine posts in parallel
- Giving the tag cloud a job
- Building navigation that feels obvious
- My first accessibility pass, out loud
- The day HMAC-signed images humbled me
That last one got a proper laugh out of the room, because of course everybody has had that problem. And "the first keystroke is always the hardest" opened with something about the particular quiet that lives in the moment you create your very first document type, which is honestly more introspection than I manage before coffee.
One run decided to put a live counter on the home page showing how long it had been building and how many document types it had created, credited to "one very caffeinated agent". Nobody asked it to do that.
The other consistent surprise: if you tell a model to be creative and invent its own visual identity, it will make it neon. Over and over. I never once said the word "neon". Several runs independently decided the site should be called Aurora, which I also never mentioned. Something out there in training data really wants your blog to glow.
Go have a play
Clone the repo, install Conductor, point it at an empty Umbraco and watch it go. The README covers the setup. If you build something interesting with it, I'd genuinely love to hear about it. 🙂