Tales from the AEM Migration Trenches

Three years ago, a simple Product request: make migrating a website to AEM Edge Delivery Services fast enough that it stops blocking deals. The request is simple. The problem is not — HTML, CSS, and JavaScript are individually permissive and constantly evolving; combined, they are infinite. No static parser catches them all.

This talk traces how one small team got there, across four complete reinventions of the same tool. We start in 2024 with a 1,300-line Bash script and a timid first LLM call, bolted on as an optional block-styling step. We continue through an 18-repository constellation on Azure, where every agent was a small HTTP service with declared tools and callback endpoints — the function-calling and async-callback shape we hand-rolled a year before any SDK formalized it. We arrive at the conversational era, where a single commit in October 2025 — renaming agents/ to skills/ — quietly changed how we built everything afterwards. We detour through a Chrome extension that was 95% ready for the Chrome Web Store before we threw it away. And we land, in spring 2026, inside Slicc — an AI agent runtime that lives in your browser — where the whole migration pipeline (filesystem, shell, skills, Claude calls) executes without a single server.

Three things you'll walk out with:

Everything we show — the skills, the prompts, the page-import tool — runs on Claude Code and Slicc, both open source. You'll leave with running code, not a product demo. We'll close with a live, in-browser migration of a real site in under five minutes.