Blog

Thoughts on AI, building systems, and lessons from the trenches.

Claude Code Hooks Just Moved Inside the Process

September 20, 2026 · 5 min read

A Mod is a Claude Code hook that moved inside the process. Three diagrams, one twelve-line mod, and by the end you can read what any mod can touch before you install it.

Read →

Claude Code Rewrote 314k Tokens for a Two-Line Recap

September 19, 2026 · 5 min read

A cold Claude Code cache turned a two-line recap into a $6.28 write at API list rates. cache-tax shows the price at send time or keeps selected sessions warm.

Read →

Claude Code Plugins Can Now Run Inside Claude Code. 14 of 31 Can Run Commands on Your Machine.

September 15, 2026 · 7 min read

Claude Code has a new kind of plugin that runs TypeScript inside Claude Code. I scanned 31 with Claude Code's own validator. 14 can run commands on your machine, and 4 can reach the network.

Read →

Switching Effort Nuked My Prompt Cache. The Next Day It Didn't.

September 4, 2026 · 6 min read

Claude Code stopped me with a warning that switching effort re-reads the full conversation. Fixed upstream three days earlier, shipped dark in the client, and switched on in 2.1.260 while I was writing this. The mechanism, the binary archaeology, and the day the dialog died.

Read →

The Model Is Banned From Math

August 13, 2026 · 7 min read

An ITR-filing skill went from 37 to 628 GitHub stars off one stranger's tweet. The design rule that earned it: the LLM reads your documents and interviews you, but every rupee comes from tested Python. The one-in-350,000 rounding bug the fuzzer caught, and the statute bug it never could.

Read →

How to Write Loops with Claude Code

July 20, 2026 · 23 min read

I read the first 182 replies to “can you share ‘loops’ you regularly use?” One linked a loop you could actually run. Seven copy-paste loops in the order to learn them: /goal, /loop, the bounded Ralph, Stop hooks, dynamic workflows, cloud routines, and the full stack, with the termination checks and guardrails that keep them from burning $6,000 overnight.

Read →

Anatomy of a $5 “Good Morning”

July 8, 2026 · 13 min read

My most expensive API requests ever are an acknowledgment, a menu choice, and a parade of good mornings. Receipts from 12,992 real Claude Code requests: the 60-minute cache cliff, the subagent meter, and why your bill tracks what the harness re-establishes, not what you type.

Read →

Prompt Caching Doesn't Cache Prompts

July 7, 2026 · 12 min read

Prompt caching is the single biggest cost lever for LLM agents. But it doesn't cache your prompt. Here's what it actually caches, why prefixes must match exactly, and the rules that turn a $4.50 agent run into $0.62.

Read →

You're Slower Than You Think: The 4 Levers of AI-Era Speed

May 19, 2026 · 9 min read

AI made optimizing your own workflow nearly free. The bottleneck moved from whether it's worth it to whether you even notice. Four levers (Connect, Encode, Teach, Parallelize), each with a tell you can catch yourself in.

Read →

The 2-Minute Claude Code Upgrade You're Probably Missing: LSP

February 28, 2026 · 13 min read

Every Claude Code user is running without LSP. That means 30-60s grep searches instead of 50ms precise answers. A deep dive into enabling it: setup, real performance data, and undocumented discoveries.

Read →

Claude Code's Most Underrated Feature: Hooks

January 25, 2026 · 8 min read

Hooks are Claude Code's most underrated feature. From the event logger to safety hooks that block dangerous commands and protect secrets, plus a complete guide with ready-to-use code.

Read →