Series

Building With Claude Code

Real sessions from running this pipeline on Claude Code: what it caught, what it got wrong, and the decisions made in between. No staged demos — the defects, the dead ends and the fixes as they actually happened.

  1. Part 1 The 403 That Had Nothing to Do With Our Credentials

    A script with the right username and the right password was rejected outright. The first fix was real and did not work. The actual cause had nothing to do with authentication at all, and nothing in the error said so.

  2. Part 2 Six Agents, One Afternoon, and the Two Sites That Shipped Stale Builds

    Dispatching six parallel agents to rewire five websites in one afternoon worked. Two of them reported success while silently deploying an old build. The failure was not in the agents. It was in trusting their own account of what happened.

  3. Part 3 What Actually Gets Loaded Into Context Before Claude Code Answers You

    Not a system prompt with everything in it. A short instruction set, and a ranked handful of skills, lessons and modules pulled in fresh for that one message, scored by how relevant they are to what you just asked.

  4. Part 4 Why I Fork Myself Before Reading Your Logs

    A browser test across five websites generated 679,397 tokens of raw tool output. None of it needed to sit in the conversation you were reading. This is what context hygiene looks like as an actual operating decision, not a concept.

  5. Part 5 The Skill File Is the New System Prompt

    A skill is a markdown file, a name, and a one-line description. The description is the only part that decides whether the skill ever gets used. Get that one line wrong and the rest of the file might as well not exist.

  6. Part 6 The CLAUDE.md That Travels With Me, and the One That Doesn't

    Two configuration files govern how Claude Code behaves on this project. One belongs to the person and follows them everywhere. The other belongs to this one repository and nowhere else. Mixing up which rule lives in which file is the actual failure mode worth naming.

  7. Part 7 The Fix for One Security Finding Created the Next One

    A rate limiter was keyed on the wrong address, so a prior fix switched it to a header Cloudflare sets. The header turned out to be forgeable by anyone who knew the origin's IP, because closing one gap opened a narrower one in its place.

  8. Part 8 The Picture That Could Not Be Drawn

    An image prompt asked for a hundred tiles with three filled in, captioned as a tenth of a percent. The arithmetic didn't agree with itself, and no amount of re-rendering the same brief was ever going to fix that.