Behind the scenes: how the workshop works
In two hours you directed one agent through five Roles, from a copy of a repo to a live site. This chapter opens the system behind it: what each file does, how one small model plays five Roles, and how you build the same kind of system for your own work.
Three pages: how the workshop is built (this one), what each file in your repo does, and how to build your own AI system. The two-part boxes show a shortcut we took to fit two hours, next to what a professional project does instead.
The idea in one sentence
Your repo turns one small model into five specialists: rules, one skill per job, tools that check, files that remember, and you at the gates.
The model you picked in Setup, Gemini 3.8 Flash, is the smallest one. On its own, a small model guesses. In your repo it follows a path that was written down, checked by programs and tested before the workshop. These are the five parts:
- Rules
AGENTS.mdsays what is true in every chat: the five Roles in their order, one Role per chat, and every change read back before you accept it. - Skills
.agents/skills/has one folder per job: a skill for each of the five Roles, six helpers such ashelpandcheckpoint, and Modern Web Guidance, the Chrome team's guides to today's web. The agent sees each skill's name and description, and reads the whole skill when you ask for its job. - Tools
tools/has small programs the agent runs, such asnode tools/check-content.mjs. They check what a program checks better than a model: whether your content file has every field it needs, as its schema says, whether text and background have enough contrast, how fast the page loads. - Files that remember Each Role writes a file the next Role reads: the spec, the content file, the design brief. So every Role starts in a fresh chat and loses nothing.
- You at the gates Antigravity asks before it runs a command, and you accept or reject every change. A checkpoint brings anyone who fell behind to the end of the Block.
Inside your repo shows every file of the five parts and follows one prompt through all of them.
The system around the room
Four places work together. You saw three of them today.
- The Template repo,
fabkrum/portfolio-template - Public. What you copied at the start: the rules, the skills, the tools, a sample site and the checkpoints.
- The guide, the slides and the instructor guide
- Plain HTML pages in
fabkrum/guides. The guide fills in your GitHub username and the event. Every slide shows the Wi-Fi line at its foot, with the guide's address, so latecomers find it without asking. - The event builder
- Freezes one copy of the guide, the slides and the instructor guide per event, with that event's name and date, and publishes it on devfest.krumbholz.de. It builds only from what is merged, so unfinished edits never reach the room.
- The planning repo
- Private. The workshop's own words, each defined once in
CONTEXT.md, and seven decision records, one short file per decision, such as "GitHub Pages, not Firebase Hosting".
Two pieces connect your laptop to the room. The Install script installs Git and Node where they are missing, copies your repo to your laptop and opens it. The form on the Ops page sends your site's address to a shared sheet, and the slides read it for the gallery walk. The Feedback page sends your answers, without your name, to another sheet.
How I built it
I built the workshop in ten days, from 1 to 10 October 2026, with a coding agent, Claude Code. It wrote most of the code and the pages; I made the decisions and checked the results. The method matters more than the tool. I worked in five steps:
- Decide before you build. The planning repo started with a glossary of the workshop's words,
CONTEXT.md, and the first decision records. Seven decisions are recorded there, such as "No AI feature on the portfolio site". - A thin path first. The first feature was a tracer bullet: the thinnest working path from a copy of the Template repo to a live page. Everything else grew on that path, one GitHub issue at a time.
- Review every change. After each feature came a review, and its findings were fixed in commits of their own.
- Test the skills with a small model. A fresh agent on a small model, Claude Haiku 4.5 standing in for the smallest Gemini Flash, got only the template,
AGENTS.mdand the skills. It played a Block against scripted answers, in up to nine rounds. Each failure changed the instructions, not the model. Build your own shows what the rounds found. - Rehearse. The talk took 14 minutes in the rehearsal on 8 October. On the day of the workshop, a Setup run with fresh accounts moved the GitHub token from Setup to Ops.
In numbers: 117 commits in the Template repo, and 152 in the guide, the slides and the instructor guide, merged through 123 pull requests. The guide's frame, the machinery of the slides and the event builder came from an earlier workshop in Pristina.