Series
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.
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.
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.
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.
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.
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.
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.
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.
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.