Simon Willison released two small tools this week that both solve the kind of problem you don’t notice until you’ve hit it yourself.
The first is commit-rewriter, a web app that lets you edit commit messages in bulk. Willison built it while preparing security releases for Datasette. The problem: his initial commits were full of what he calls “coding agent cruft” and references to issue IDs from a private repository. None of that belonged in public commit history.
You run it with uvx commit-rewriter path/to/repo, or just uvx commit-rewriter if you’re already in the directory. It opens a web interface where you can edit messages, then rewrites the git history when you submit. It’s the kind of tool that’s obvious in hindsight but easy to overlook when you’re trying to ship a security fix.
The second release is shot-scraper 1.12, which adds WebP support to Willison’s screenshot automation tool. You can now run shot-scraper https://simonwillison.net -o screenshot.webp --quality 80 and get a significantly smaller file than the JPEG or PNG equivalent. Without the quality flag, it saves a lossless WebP.
The timing matters here. Willison needed commit-rewriter for actual release work, built it, then immediately shipped shot-scraper with a feature he’d clearly been thinking about. Both tools are available via uvx, which means you can try them without installation ceremony.
This is what productive tool-building looks like. Not grand visions or elaborate frameworks, just noticing friction and removing it. Willison’s been doing this for years with projects like Datasette and LLM, his command-line tool for working with language models. The pattern is consistent: encounter a problem while building something else, solve it properly instead of working around it, release the solution.
commit-rewriter fills a gap that git itself doesn’t handle well. Sure, you can use interactive rebase to edit commit messages, but doing it in bulk through a web interface is faster when you’re cleaning up a dozen commits before a public release. The tool is particularly relevant now that coding assistants generate verbose commit messages with implementation details that don’t belong in permanent history.
shot-scraper’s WebP support is straightforward but valuable. WebP has better compression than JPEG and PNG for most web screenshots, which matters if you’re automating documentation or testing visual changes. The tool already handled JavaScript execution and custom selectors, so adding modern image format support makes sense.
Neither tool is revolutionary. Both are useful. That’s the point.
This kind of rapid tool development used to be notable. Now it’s table stakes for developers who use AI coding assistants effectively. Willison has been public about using Claude and other models to speed up development, and these releases show what that looks like in practice.
The interesting bit isn’t that he used AI to build faster. It’s that he’s still solving real problems he personally encounters, not building tools because he can. The difference between “I needed this while shipping a security release” and “wouldn’t it be cool if” is the difference between software people actually use and software that languishes in GitHub.
Both tools are open source and available via Python’s uvx runner, which handles dependencies and installation automatically. If you’re shipping Python tools in 2026 and not supporting uvx, you’re making users work too hard.
One email at dawn. The five stories that mattered, with the bits removed and the meaning kept. Free, for now.