~/blog/tag/tooling
Tooling
Tools, workflows and configuration that accelerate the development process.
What I write about here
Tools sit between what you mean and what gets done. That sentence sounds obvious until you watch a team adopt a tool that does the opposite, and ship worse code with more confidence.
The posts under this tag are mostly about tooling for working with AI. CLAUDE.md files. Hooks. Skills, plugins, the surrounding scaffolding that turns an agent from a clever autocomplete into something with rules and memory. Half of them are guides to specific patterns that have held up. The other half are critical assessments of tools that look impressive in a demo and fall apart when you put real work through them.
The test I keep applying is simple. Does this tool make my intent more explicit, or does it make the output feel more confident? Those are very different things. A tool that forces you to specify what you want is useful. A tool that paraphrases your vague prompt into fluent code is a liability, no matter how good the demo looked.
Read these posts expecting opinions on specific instruments. I name names. Some tools earn their stars. Some do not.
If you are just getting started with this tooling, the Agentic coding guide is the shortest route through the posts that matter.
best entry points
- Claude Code hooks: deterministic control over AI workflows
Where deterministic control over agent behaviour starts. The tool feature I lean on most heavily.
- The CLAUDE.md file: give your AI permanent memory
The simplest pattern with the biggest impact. Give the agent the context it cannot infer.
- Claude Code /doctor command: what it checks and fixes
The shortest way to find out what your setup is actually carrying. The health check turned into a context audit, and it itemises the bill nobody asked for.
Read-only database access for Claude: the role, the flag and Azure without passwords
Every SQL MCP server promises a read-only mode, and fourteen of them turned out to have a way around it. I ran the bypasses against a read-only role on Postgres and SQL Server, then looked at what passwordless Azure sign-in does to the same setup.
read- 0.00%mutation score on vitest 5
Stryker and Vitest 5: why every mutant suddenly survives
After upgrading to Vitest 5, StrykerJS reported every covered mutant as survived, with a green dry run and no error. How to tell a broken runner from a weak test suite in the report itself, what 10.1 fixed, and why the version to install is 10.1.1.
- 14checkouts with dependency instructions
Your dependencies ship a CLAUDE.md, and Claude Code reads it
I audited every instruction file that could steer Claude Code across 40 repositories on my machine. In 14 of them, the files nobody would think to check were written by package maintainers, sitting in node_modules and vendor, and Claude Code loads them the moment it reads a file next to them.
- 85%serving gross margin, h1 2026
The price cut was never a discount
OpenAI and Anthropic cut their prices by up to 80% in four months, and the obvious read is a land grab paid for with investor money. Anthropic's S-1 says otherwise: serving was already running at an 85% margin before the cuts, and a lower price per task is how the bill grows.
Claude Code changed files without asking: what git diff can't show you
Since auto mode became the default, an agent that asks before it edits is the exception by design. The final diff shows where the session ended up. It cannot show which changes were put to you, which ran in a subagent, or which work was done and undone before you looked.
Code quality guards for AI code: the whole setup, from hook to CI
The full quality setup for a project where an agent writes code: what belongs in Claude Code hooks, pre-commit, pre-push, CI and the weekly mutation run. And the one property every guard needs, which is that it can fail, with the evidence from three of my own repositories.
- 0.06%of tokens were output
Claude Code Superpowers: what subagent-driven development costs in tokens
I counted every token of a month of my own Superpowers runs: eleven plans, 407 subagent dispatches, 3.3 billion tokens. Writing code was 0.06% of it. The rest was contexts being read again, and the fresh subagent per task only stayed cheap while the task stayed small.
- 14.5%agent calls blocked
Claude Code auto mode: why your Agent allow rule does nothing
In a month of one repository, the Claude Code auto mode classifier blocked 86 of 594 subagent launches, mostly ordinary code reviews. Adding Agent to the allowlist changed nothing, because auto mode drops that rule on entry. Retrying the identical prompt went through 24 times out of 26.
- 56%extra cost, late correction
Steering Claude Code mid-task: Esc, queued messages and /btw
How to steer Claude Code while it works: what Esc keeps, when a queued message arrives, what /btw is for, and what a late correction costs. Measured over 40 runs of one task in two sizes.
- 117hours waiting on tools
Where Claude Code spends its time: a month of my own sessions, measured
Almost seven weeks ago I promised a number. I took a month of my own Claude Code transcripts and timed every step: 74 hours of the model working, 117 hours of it waiting on tools. Half of the shell time sits in 1.4% of the calls, and a fair share of the waiting was waiting for me.