The Thin Skeleton Template
Start every project from a minimal template — agents copy its style far better than they follow prose instructions.
- Difficulty
- Easy
- Time to result
- ~days to results
- Steps
- 3
- Confidence
- 90%
A project-setup pattern that exploits how coding agents imitate existing patterns in a codebase. Rather than writing paragraphs of instructions in a config file, you start from a very thin skeleton — a single test, a little boilerplate, laid out exactly how you like — and agents pick up and stick to that style. A single example file is enough to steer them.
Origin
Described by Simon Willison as a pattern he plans to write a book chapter about; he maintains templates on GitHub for a Python library, a Datasette plugin, and a command-line tool.
Core principles
- 01Coding agents are phenomenally good at sticking to existing patterns in the code
- 02A single test or single file is enough for agents to pick up on your preferred style
- 03A thin skeleton often works better than a CLAUDE.md full of paragraphs describing how you like to work
- 04The template encodes your taste for how code should be laid out and structured
How to run it
- 1
Build a minimal template that reflects your taste
Create a starting template containing a single trivial test (e.g. asserting 1 + 1 = 2) plus a few bits of boilerplate, laid out exactly the way you like.
Pro tip Keep separate skeletons for each project type — Willison has one each for a Python library, a Datasette plugin, and a CLI tool.
- 2
Start new projects from the skeleton, not a blank page
Begin every new project from the template so the agent has a concrete example of your conventions to imitate from the first line.
- 3
Prefer the skeleton over long prose config
Instead of paragraphs in a CLAUDE.md describing how you work, let the thin template give just enough hints that the agent picks up your style and rolls with it.
In the wild
Willison starts every from-scratch project with a template containing a single test that just checks 1 + 1 = 2, plus a little boilerplate in his preferred layout. Give an agent a codebase with even one test and it will notice and write more in the same style.
→ He credits this as part of why he gets such strong results from agents — they stick to the established style automatically.
Common mistakes
Relying on paragraphs of config instructions
Long prose in a CLAUDE.md describing your preferences is less effective than a concrete thin template the agent can pattern-match against.
Starting from a blank page
With no example to imitate, the agent has nothing to anchor your style to and will drift from your conventions.
Is it for you?
Best for
Engineers who start many new projects and want consistent, on-style agent output
Not ideal for
One-off scripts or joining large existing codebases that already carry their own established patterns
From the transcript
“coding agents are phenomenally good at sticking to existing um patterns in the code”
“I start with a template that has a single test that just tests that 1 + 1 = 2 and it's laid out in the…”
“instead I start with a very thin skeleton that just gives it enough hints on how I like to work that it picks it up…”
From the episode
An AI state of the union: We’ve passed the inflection point, dark factories are coming, and automation timelines
Simon Willison