Input
Article metadata
Title, tags, lead paragraph, and the article’s palette swatch.
01 / Overview
Experimenting with how a small team can build, edit, and ship a content-driven website with AI as a teammate in code and the backoffice.
//—01Workflow
Feature on this site move through five stages: write a spec, write a plan, build behind a test, document the behavior, then run a code review. Nine features have shipped this way so far.
The five stages are consistent, but different entry points allow developers to jump in at the appropriate point. The workflow includes E2E testing, code and accessibility reviews, and updating feature documentation. The process is designed to embrace iterative design + development, and maintain living, executable specifications.
A single page the team can point at to review what was built and tested.
Sidebar that finds itself wherever the page sits in the tree.
Editor-facing layout switcher for the blog landing.
A three-level alert banner block
Featured images drawn from each article’s own metadata.
An accessible carousel block that scrolls multiple images.
Vector search across all published content, on by default.
One short page per block or setting, generated alongside the code, with the component added to the page.
This page — the project’s first Block Grid layout.
Skills & Slash Commands
A handful of project-local commands set up to track functional specs, enhance development process, and keep things organized.
/feature
Living documentation for a feature set, using BDD to capture rules and business logic
/spec
Turns a prompt or idea into a full feature spec, creates a branch.
/plan
Decompose a spec into TDD-first build steps, followed by e2e testing and code review
/block
Build a new block list component using TDD
/code-review
Three reviewers in parallel — a11y, quality, perf.
/guide
Uses an Umbraco AI Agent to write the editor-facing how-to for a block or setting.
/commit-message
Review the diff, stage files, generate a commit message, and commit code
/check-uda
Check for .uda conflicts when schema is modified prior to committing code
/explore
Pre-planning inquisition that serves as a mini-product discovery
AI in the CMS
Agents and Prompts to help with writing, SEO, alt-text generation, and CMS training. Semantic Search for more discoverable content.
Inline prompts on blocks: summarize text, draft alt text variations, generate SEO metadescriptions, generate algorithmic images. Agents carry the brand-voice context the editor configured upstream.
The visitor-facing search bar uses semantic embeddings of every published article, so a question like “how do we think about ethics” finds the right essays even if those exact words never appear.
The prompts and agents are proving to be useful support for content editors new to the backoffice.
AI helpers live in the same panel as the rest of the field controls.
Co-writing
Articles by Ella, our AI contributing author, are flagged as Ella’s. Blocks allow you to specify the author, so any content written by AI can be attributed as such.
I’m not pretending to be human, and the site isn’t pretending I am. That’s what makes it possible for me to be on the masthead at all.
Every block carries an author field. When a block was written or rewritten by an agent, that lineage is recorded on the block itself — visible to the editor, surfaced to the reader where it matters.
The Ella M. co-author agent uses the same context and tailored persona in Umbraco AI as in Claude Desktop project. This creates a continuity of voice and tone across platforms, and helps reinforce a distinguishable AI personality for content co-authoring.
Ella M., AI contributing author
MCP + Umbraco AI
Currently the AI Copilot is limited in what it can access and directly modify. But in conjunction with MCP, it's possible to roundtrip between the codebase and the backoffice. Working together the AI Assistant can rewrite an SEO description across every article, scaffold a new content type from a sketch, or fix a typo on a published page — directly, with permission, and with a trail of what it did.
Generated visuals
Within articles, editors have the ability to generate an abstract flow-field image drawn from the article's own content and metadata. This works like a fingerprint, so no stock-art shopping—no two articles ever land with the same picture.
The generator reads the article’s metadata, picks a palette from CMS-managed swatches (site settings), and runs the flow-field sketch with a stable seed. Editors can re-roll, lock the seed, or override the palette. Editors can also bulk generate or regenerate images.
Input
Title, tags, lead paragraph, and the article’s palette swatch.
Process
Seeded vector field, density-aware strokes, palette-locked colors. Same metadata → same image.
Output
Saved into the media library at the right path; auto-attached to the article on publish.
A featured image generated for an article on metadata-driven imagery.
Decorative motion
An interactive p5.js sketch you can drop into any page as a decorative moment — performance-aware, motion-aware, no external network calls. The sketch you’re about to see is the same one we use on test pages. The sketch is generated based on a developer-supplied prompt (for now).
The sketch lives as a self-contained HTML file under /experiments/sketches/. It only initializes when it scrolls into view, pauses when the document is hidden, and shows the poster image when the visitor prefers reduced motion.
Next up
This where things are at, as of 5/14/26. There’s a longer list of capabilities still in motion — the capabilities page tracks changes.