
The Latest
Everything published on the site, day by day, newest first: guides, analysis, essays and quick thoughts in one running log. The shelves for browsing are elsewhere; this is where you see what is new.
The log
Entries 21–40 of 57
Make a Hook Prove Its Failure Behavior
A hook that succeeds on good input may still let bad work through. Test its failure path before making it part of your workflow.Quick thoughtclaude-codehooksTreat an MCP Tool List as an Access Review
A connector can expose more operations than the task needs. A tool that reads a customer record may sit beside another that updates or deletes one.Quick thoughtclaude-codemcpCheck What a Permission Rule Actually Allows
A permission rule is easiest to assess with two small examples: one operation you intend to allow and one nearby operation you intend to deny.Quick thoughtclaude-codepermissionsTest the Build Your Customer Will Receive
A development server passing its tests does not establish that a production bundle behaves the same way.Quick thoughtclaude-codeverificationTrace One Failed Request Through the Logs
A page can fail after three services have each logged something that looks successful. Start with one request identifier, not the loudest error message.Quick thoughtclaude-codedebuggingPreview Every Rename Before Moving Files
Renaming two hundred client documents is easy to request and surprisingly hard to undo when two names collapse into one.Quick thoughtclaude-codefile-operationsGive Claude a Broken Example Before a Fix
A useful bug report contains an input that fails and the result you expected. That gives Claude Code something firmer than “the report looks wrong.” Suppose a…Quick thoughtclaude-codetestingGive the Agent an Inspectable Check
You ask if it's done. It says yes. You check, and it isn't. A completion claim needs evidence you can inspect.Quick thoughtclaude-codeverificationWhat Claude Code Actually Costs — and Which Dials Move It
Your lunch break has a token price. The model remembers nothing between turns, so every request re-sends the whole conversation — which means cost scales with context carried, not work requested. Here is the cost function, the dials that matter, and the ledger line worth keeping.17 min readclaude-codeharness-engineeringYour Claude Code Permissions Are Your Org Chart
Anthropic measured it: users approve about 93% of permission prompts. A gate that opens 93% of the time is a doorbell. Here is what the permission system actually enforces, what it cannot, and the standing rules worth adopting before you delegate anything that matters.18 min readclaude-codeharness-engineeringAfter Repeated Corrections, Rebuild the Task Context
The agent repeats the wrong approach after two corrections. My rule of thumb is to stop adding conversational patches and restate the task from the evidence.Quick thoughtclaude-codecontextThe Content Kit: Every Block, and When to Use It
A working reference for the eleven content blocks this site can render. Each one is shown live and paired with the case it is for. If a block below looks broken, it is broken.6 min readhouse-noteswritingTest Whether a Shorter CLAUDE.md Helps
Three hundred lines of instructions and it still breaks your conventions. So you add more rules. It gets worse.Quick thoughtclaude-codecontextDelegate Discovery With an Evidence Handoff
An authentication investigation can touch dozens of files before identifying the two interfaces that matter.Quick thoughtclaude-codecontextKnow What Rewind Can Restore
Before a refactor, decide what you would need to restore. Claude Code's rewind can recover tracked edits and conversation state; it cannot undo every effect…Quick thoughtclaude-codepracticeUse an Interview to Expose Gaps in the Brief
The stakeholder asks for a useful assistant. Before choosing a framework, find out which result they would accept and which mistake they cannot tolerate.Quick thoughtclaude-codepracticePut Repeatable Checks in Command Hooks
Your acceptance criteria say the linter must run after an edit. Putting that sentence in the agent's instructions still leaves execution to the model.Quick thoughtclaude-codeverificationMake Completion Checks Explicit, and Test Their Limits
The session says the feature is complete, but the build is red. A defined completion check gives you better evidence than that summary.Quick thoughtclaude-codeverificationGive the Reviewer a Fresh View of the Change
The session that wrote your rate limiter has already seen the argument for its design. For a useful second look, give a fresh session the diff, acceptance…Quick thoughtclaude-codeverificationContinued on the next page.
To browse rather than follow: topics, all articles and all thoughts. To learn in order: courses and the book.


