Prompts to Pipelines v1.5: Stop Vibing, Start Engineering
Self-contained HTML deck. Arrow keys, click, or swipe to navigate. A theme toggle lives in the top-right corner of the deck.
Abstract
Claude Code is powerful out of the box and terrible out of the box. The same session that ships a working patch in twenty minutes will confidently invent an API, lose its mind on compact, or yak-shave through a refactor that was never asked for. The fix is not a better prompt. The fix is a harness: a small set of files and primitives that convert the model from a clever autocomplete into something that behaves like a disciplined collaborator.
This is the iterated version of the talk, given after six months of running the harness across five shell projects and one platform site. It names the five plagues (context death, agent amnesia, yak shaving, quality erosion, the industry-data version of 'it works on my machine'), walks the four primitives that fix them (memory, hooks, subagents, settings), and ends with three drop-in fixtures you can steal: a CLAUDE.md starter, a settings.json starter, and an adversarial reviewer subagent.
The through-line is simple. The model is capable. The instructions are the product. Every rule in a well-worn CLAUDE.md is written in blood, and the gap between vibing and engineering is about thirty minutes of up-front work.
Key Takeaways
- Name the five failure modes before reaching for a fix. Context death, amnesia, yak shaving, quality erosion, and the industry-data version of 'it works on my machine' have distinct signatures.
- Treat CLAUDE.md as a compiler target, not a README. Elite CLAUDE.md files are dense, specific, and short; bloated ones read like a wiki and do worse than nothing.
- Memory, hooks, subagents, settings: four primitives, first-yes-wins. Most problems reduce to 'which of these four should hold this rule'.
- Adversarial reviewer subagents catch what the primary misses. Give one a copy of the spec, point it at the diff, and let it be mean.
- Prompt caching is not a performance toy. At team scale it is the difference between a harness that pays for itself and one that does not.
- You are not writing a framework. You are codifying the lessons you already learned the hard way, so the model doesn't have to relearn them every session.