When AI Writes the Code

Holiday Coding

March 24, 2026

Agenda

  • What is Holiday Coding?
  • Inspiration
  • Dive in!
  • Recap and Q&A

Holiday Coding

Play isn't the opposite of serious work.
Play is how you learn at the edge of your competence.

Holiday Coding is structured play on production systems.
You pick a direction, not a destination. You work on real code, but the path is yours.

Play Production Discovery

!Holiday Coding

Not a course. There's no curriculum. No certification.

Not a sprint. There's no backlog. No velocity.

Not a hack day. The goal isn't to ship. The goal is to understand.

The only deliverable is what you learned.

Inspiration and Hooks

These are lessons learned, not laws.

Ideas to spark your interest.

Maybe a provocative statement, or two.

AI Coding Is a Magnifier

Not a magic wand. A magnifier.

If your codebase is tight, the AI produces more tight software.

If your codebase is a mess, the AI accelerates you into a bigger mess.

Read the post

It's Never Been Easier to Clean Up

Agentic coding isn't just for building new features.

It's remarkably good at cleaning house.

Lots of people don't use it that way. They should.

Prune, Don't Just Refactor

Removing things. File by file, folder by folder.

Without it, you get high-speed rot.

What used to take months to become unwieldy now takes weeks.

Testing Goes from Checkbox to Survival

You need a test suite that operates on many different levels.

Unit tests, integration tests, smoke tests, end-to-end tests. The whole stack.

Your rate of change just went through the roof.

Crank testing up to twelve.

Dependencies Are a Multiplier of Noise

Two libraries that do similar things? The confusion bleeds into generated code.

Pick the one dependency. Let the AI migrate everything.

What used to be a tedious multi-sprint cleanup is now an afternoon's work.

Where Does the Rigor Go?

Engineering quality doesn't disappear when AI writes code.

It migrates — to specs, tests, constraints, and risk management.

The work isn't gone. It moved upstream.

ThoughtWorks Retreat Report (PDF)

Unbundling Code Review

Code review is being unbundled.

It was always four functions in a trench coat: mentorship, consistency, correctness, and trust.

Each one now needs a new home. Agents handle correctness. Hooks enforce consistency. Mentorship and trust stay human.

ThoughtWorks Retreat Report (PDF)

Cognitive Debt

Technical debt is becoming cognitive debt.

The system grows more complex than anyone can hold in their head.

And it's not just you — your users and customers carry that complexity too.

Specs vs. Constraints

Specifications describe what should change.

Constraints define what must not be touched.

Constraints limit blast radius and let agents work safely across domain boundaries.

When You Go Faster, Look Further Ahead

People treat AI as a speed boost for their existing workflow instead of rethinking what their workflow should be.

Speed is the easy part.

Staying in control at that speed is the hard part.

The Industry Is Noticing

ThoughtWorks Retreat

Deer Valley, Utah — February 2026.

ThoughtWorks hosted the Future of Software Engineering Retreat on the 25th anniversary of the Agile Manifesto.

What happens when AI takes over code production?

Read the report (PDF) | Martin Fowler's Reflections

Supervisory Engineering

A new middle loop emerges.

Not writing code. Not release management. Something in between.

Directing agents. Evaluating output. Calibrating trust.

Encoding standards and defining constraints within which agents can safely operate.

Know Your Customers — Intimately

If every cousin in this world can produce "average software," it's your job to deliver great software.

You can only do that if you deeply understand what problems you are solving for your customers.

True Agile Practices Are Back

Pair programming, ensemble development, continuous integration.

These create the tight feedback loops that agent-assisted development requires.

Some teams compressed sprint cadences to one week.

Tips for Code Quality in the Age of Agents

Code Proven to Work

Simon Willison:

Your job is to deliver code you have proven to work.

Untested AI-generated PRs are a dereliction of duty.

The job shifts from writing code to proving it works.

Read the post | Simon Willison's Blog — follow this man.

Don't Ship Slop

"AI Slop" — low-quality, mass-produced, algorithmically generated code that looks polished but lacks substance.

  • Bloated functions
  • Silent logic errors
  • Hallucinated imports
  • No tests
  • Three patterns where one should exist

The Slop Jar Rule

Get caught committing untested, unverified AI-generated code three times and you're buying the team lunch.

Name it. Shame it. Don't ship it.

Claude Code

Let's get practical.

MCP — The Universal Tool Belt

Model Context Protocol: an open standard for connecting AI agents to your tools.

10,000+ active servers. 97 million SDK downloads/month.

GitHub, Slack, Postgres, Google Drive, Jira, your internal APIs — all accessible through one protocol.

Claude Code + MCP = an agent that can read your tickets, query your database, check your monitoring, and commit the fix.

Official docs | MCP Protocol

CLAUDE.md — Your Project's Personality File

A persistent configuration file that Claude reads before every conversation.
Think .editorconfig for AI — it tells Claude who you are, how you work, and what matters.

Three-layer hierarchy:

  • ~/.claude/CLAUDE.md — personal preferences (your style, your tools)
  • ./CLAUDE.md — project conventions (check this into git!)
  • ./src/auth/CLAUDE.md — subdirectory overrides (domain-specific rules)

Most-specific wins. Loaded automatically. Every line costs context window budget.

Anthropic Blog | Official docs | Writing a Good CLAUDE.md

CLAUDE.md Forces Clarity

It forces teams to explicitly codify what everyone "just knows."

This might be the most valuable artifact a team creates.

More useful than most documentation.

You can give your agent a persona. A tone. Constraints. Domain vocabulary.

The context IS the prompt.

Skills — Executable Standards

A SKILL.md file with instructions Claude follows when invoked.

Not documentation nobody reads. Executable standards.

---
name: "tdd-writer"
description: "Write failing tests first, no implementation"
---
## Instructions here

Skills can spawn subagents, inject live data, restrict tools.

From static instructions to programmable agents.

Official docs | Anthropic Skills Repository

Hooks — Deterministic Guardrails

Shell commands that execute at specific points in Claude's workflow.

Not suggestions Claude might forget. Rules that always execute.

  • PreToolUse — approve or block before execution
  • PostToolUse — validate after completion
  • SessionStart — inject context before Claude sees anything

Auto-format after every edit. Run tests before commits. Block dangerous patterns.

Official docs

Modes — Calibrated Autonomy

Cycle with Shift+Tab:

  • Normal — asks permission for everything
  • Auto-Accept Edits — file edits proceed, risky ops still escalate
  • Plan Mode — read-only analysis, no modifications

Additional modes:

  • Bypass — no permission checks (isolated environments only)
  • Auto Mode (research preview) — Claude decides what needs approval based on risk

Official docs

Context Engineering

The discipline has shifted from prompt engineering to context engineering.

Context > Prompts

It's not about crafting the perfect prompt.

It's about giving the agent the right context: CLAUDE.md, skills, hooks, file structure, test suites, constraints.

The context IS the prompt.

Steal Like an Artist: System Prompts

Want to learn how the best AI products work? Read their system prompts.

Leaked system prompts for Claude, ChatGPT, Gemini, Cursor, Devin, Copilot — they're all online.

They're masterclasses in context engineering. How to give an AI a persona. How to set constraints. How to structure instructions.

Great inspiration for your own CLAUDE.md and skills.

System Prompts Collection | Awesome System Prompts

LLM as Judge

Use one LLM to evaluate the output of another.

"Thinking" models drastically outperform standard models as judges.

Use it to evaluate: code quality, test coverage, PR descriptions, documentation completeness.

Your test suite is already an LLM judge. Think about what else could be.

The Big Shift

BeforeAfter
Write codeProve code works
Prompt engineeringContext engineering
Code reviewSupervisory engineering
Style guidesExecutable skills
Best practices docsCLAUDE.md + Hooks
Optional testingTesting as survival
RefactoringPruning

Holiday Wanderings

Pick one. Go deep. Apply it on production code.

For Beginners

  • Install Claude Code. Run it on your project.
  • Write a CLAUDE.md for your repository. What does the team "just know"?
  • Ask Claude to explain your own code back to you.
  • Generate tests for a module that has none.

For the Curious

  • Try Plan Mode on a refactoring you've been putting off.
  • Set up a hook that auto-formats or runs tests after edits.
  • Write a skill that enforces your team's coding conventions.
  • Use Claude Code to do a security review of a service.
  • Go into plan mode, to see what different testing strategies could be for your full stack.
  • Do a full TDD loop: write failing tests, let Claude implement, iterate.

For the Adventurous

  • Prune. Pick a folder. Delete what's dead. Let Claude help you find it. Don't code! Just tell it what to do.
  • Agent to Agent: make 2 agents talk in the command line evaluating your architecture.
  • Connect using MCP to a product management tool — have Claude write specs, and afterwards implement the feature.

Skill Ideas

  • An accountant persona as Judge of UI changes.
  • Write incident reports based on commit logs.
  • Make a 2 slide presentation, including screenshots, for the changes of last week.

The Recipé

Power through Reality!

  • Wander and be inspired.
  • Pick a concept.
  • Apply it in full on production code.

Your Turn

60 minutes. Go.

Discussion Time

  • What inspired you?
  • Where did you wander?
  • What surprised you?
  • What frustrated you?

Thank You!

References

Links to everything mentioned.

Inspiration Posts

Claude Code

System Prompts & Context