Most of what makes Claude Code work for me isn't prompting, it's a few files I wrote once: a plan-mode habit, a /simplify pass welded onto /commit, a hook that won't let me hand-write a commit, and a CLAUDE.md that's mostly scar tissue.
Porting a Claude Code safety tool from Linux to macOS turned into six weeks of discovering that nearly every failure mode on the new platform was silent, and that the tool's own adversarial test suite was the only reason I could see any of them.
Our template for new Shopify projects ships zero theme code, and the useful part turned out not to be the scaffolding at all but the taxonomy underneath it: which files the template owns, which the client owns, and which ones nobody should have shipped in the first place.
How our Shopify theme deploys went from someone running a push command on a laptop to one repo of reusable GitHub Actions workflows, and the backup-cleanup bug that had to get wrong three times before I stopped trying to be clever about it.
My VS Code settings file is mostly a list of things I've turned off, and the reasoning behind the unpopular ones (no tabs, no hover, no Copilot) is more coherent than it looks from the outside.
I promised in 2016 that I'd write this post again in 18 months when the noun had changed, and it's been five years, and the noun has changed, and the annoying thing is that this time the change is real.
A build broke on a Tuesday. The cause was four levels down the tree, in a package maintained by one person, which I had not chosen and could not have named.
Three people asked me last month what I use for something, and I gave three different half-answers from memory, so I've finally written the page, and the writing of it was more useful than the page.
We spent 40 minutes arguing about whether a 28 KB framework was too heavy for the project, on a site whose tag manager was pulling in 470 KB of other people's JavaScript that nobody in the room had ever measured.
For five years, the production version of every site I built was assembled on one MacBook in one room in San Diego. What finally moved me wasn't a disaster. It was noticing how much I was relying on not having one.
A static build is faster, cheaper, safer and better in almost every measurable way, and it keeps losing to a CMS on the one axis I don't get to measure, which is a person changing a price on a Tuesday afternoon.
A new package manager, three projects moved across, and the distinct feeling that I have written this post before under a different noun.
Spending all week on a tool just to save 11 seconds a run. Nobody does that math beforehand.