Simon Willison
@simonwillison.net
37K followers 1.4K following 3.3K posts
Independent AI researcher, creator of datasette.io and llm.datasette.io, building open source tools for data journalism, writing about a lot of stuff at https://simonwillison.net/
Posts Media Videos Starter Packs
simonwillison.net
Genuinely thought this post was about the evil corporation called "Vought" from the TV show The Boys for a moment
simonwillison.net
Yeah I'd keep an eye on the /usage meters to make sure this doesn't blow through tokens too fast
simonwillison.net
I haven't used my own custom ones yet, I like the idea of one that can run and evaluate the results from tests
simonwillison.net
Claude Code tip: prompt "use sub-agents" and it will do exactly that, firing up multiple parallel sub-agents to achieve a task, each with a fresh context

"Write markdown documentation for the context passed to each of the templates in this project. Use sub-agents." simonwillison.net/2025/Oct/11/...


    ⏺ I'll help you write markdown documentation for the context passed to each template in this project. Let me start by exploring the codebase to understand the template structure and then use sub-agents to document them comprehensively.

    ⏺ Search(pattern: "**/*.html")
      ⎿  Found 47 files (ctrl+o to expand)

    ⏺ Search(pattern: "render.*template|render_template")
      ⎿  Found 16 files (ctrl+o to expand)

    [...]

    ⏺ Now let me launch sub-agents to analyze different template contexts in parallel:

    ⏺ Task(Document index template context)
      ⎿  Done (12 tool uses · 86.4k tokens · 1m 13s)

    ⏺ Task(Document database template context)
      ⎿  Done (15 tool uses · 55.4k tokens · 1m 41s)

    ⏺ Task(Document table template context)
      ⎿  Done (14 tool uses · 85.2k tokens · 1m 44s)

    ⏺ Task(Document query/row template contexts)
      ⎿  Done (17 tool uses · 78.7k tokens · 1m 55s)

    ⏺ Task(Document special template contexts)
      ⎿  Done (26 tool uses · 116.1k tokens · 1m 50s)
simonwillison.net
I feel like in many cases I am getting deeper into the problem space with LLMs than without, because I can knock out half a dozen exploratory prototypes with them before I commit to a design
simonwillison.net
It doesn't have to be like that, though: if you want to get well designed code out of an LLM you can do that by putting in extra work yourself, see simonwillison.net/2025/Oct/7/v... and mitchellh.com/writing/non-...
simonwillison.net
I don't think that's true: even a small bash script can take me 10-30 minutes to write by hand, compared with 1-2m with an LLM

Recent example, this uv-test script til.simonwillison.net/python/uv-te... - I actually had ChatGPT build that one on the spur of the moment while writing that article
Testing different Python versions with uv with-editable and uv-test
A quick uv recipe I figured out today, for running the tests for a project against multiple Python versions.
til.simonwillison.net
simonwillison.net
Each skill spells out a technique, like root cause debugging: github.com/obra/superpo...

The really clever part is that the coding agent is told to read that full documentation only when it actively needs to apply that skill, which saves a ton of tokens in the general case
simonwillison.net
I'm an expert, and I like that these tools amplify my expertise simonwillison.net/2025/Mar/11/...
simonwillison.net
I'm glad AI isn't replacing jobs, personally. I like AI that helps individuals get more done in a way that increases their value and gets them more opportunities, not less

I compare the current bubble to the railroads in the 1800s - plenty of wasteful investment but we still got useful technology
simonwillison.net
The "science" you're talking about here is that ONE study! There are plenty of other studies out there that find different results. Here's just one recent study I found credible: www.gov.uk/government/p...
AI coding assistant trial: UK public sector findings report
www.gov.uk
simonwillison.net
That study is interesting, but it's also very lonely. There's plenty of conflicting evidence that LLMs, used effectively, do indeed greatly accelerate developers who know how to use them
simonwillison.net
I trust those frameworks because their maintainers have earned that trust over many years, plus the code in the frameworks has been exercised by hundreds of thousands of other developers already
simonwillison.net
How sure are you about that? Have you tried comparing the energy needed to run a prompt with the energy electricity needed to power a laptop long enough for a human programmer to solve the same problem?
simonwillison.net
If Claude types code in 2 minutes that would have taken me an hour to type by hand I believe I can save more than the energy it used by shutting my laptop lid for that hour
simonwillison.net
Comparison with human coworkers is hard because you can trust a human in a way you can't trust a non-deterministic LLM - humans have agency, can deliberately improve and can take accountability for their work

But... you CAN improve LLMs by continually iterating on how you use them
But.you
simonwillison.net
I'm beginning to suspect that a key skill in working effectively with coding agents is developing an intuition for when you don't need to closely review every line of code they produce. This feels deeply uncomfortable!
simonwillison.net
TIL Claude's new code interpreter mode has a /mnt/skills/public/ folder full of prompt instructions and Python utilities for creating and manipulating pdf, docx, pptx, xlsx files - and you can ask Claude for a copy and learn a TON about working with those formats

simonwillison.net/2025/Oct/10/...
simonw/claude-skills
One of the tips I picked up from Jesse Vincent's Claude Code Superpowers post (previously) was this: Skills are what give your agents Superpowers. The first time they really popped …
simonwillison.net
simonwillison.net
I really enjoy being able to spin up custom visualization tools as part of writing up a short blog post like this, here's my new Graphviz URL-based DOT renderer, built as a Claude artifact in a couple of minutes tools.simonwillison.net/dot#digraph%... - transcript: claude.ai/share/2b78a9...
Screenshot of a page - title is DOT file renderer, then it says Paste your .dot file content here with a Load example link. Then a textarea with a digraph when_to_use { ... } DOT graph, and below it that graph rendered.
simonwillison.net
This is a wildly creative set of customizations for Claude Code, using the new plugin system they just released. There are SO many fascinating ideas in this! Strongly recommend reading it and then spending some time exploring the accompanying repo github.com/obra/superpo...