- How to build agents with filesystems and bash - demonstrates how agents are really good at navigating filesystems, so you should represent your data in the file system
Matt Pocock
How I use Claude Code for real engineering was how I got started using Claude Code with plan mode and a custom CLAUDE.md. I refer to it as a lightweight form of spec-driven development. He details his approach to plan mode in this X article.
I use plan mode for everything, even when I'm confident I could code it faster myself. Three reasons:
- These tools keep improving. Speed is one of the main areas they're getting better at. Every time I use plan mode, I build intuition about what AI can handle and how to communicate requirements to it. That skill compounds.
- Less mental fatigue. Focusing on high-level decisions uses fewer brain cycles than fixing syntax errors and chasing type mismatches. I get more done with less exhaustion.
- AI is the best rubber duck I've ever had. It understands codebases instantly and is available 24/7. Plan mode forces me to articulate what I want, which makes me better at building software. Both my code quality and output have gone up since I started using it.
He also has concise, expertly explained videos on context windows and tokens. He has a video on the the differences between agents and workflows, which is essentially that agents run in a loop and workflows don’t; I’m not convinced that having two terms is an effective distinction to make given how (as he shows) there is a spectrum between the two.
Justin Welch
In Teaching Claude to Design Better Improving Anthropic's Frontend Design Skill, Justin Welch reworks the frontend-design skill through “metacognitive scaffolding”:
the idea that you can dramatically improve model outputs by giving them structured frameworks for thinking through problems.
He notices that the improved skill has a more dramatic effect on the faster models (it improved best on Haiku, then Sonnet, then Opus), providing us an interesting takeaway:
If this is right, it has interesting implications for prompt engineering generally. The more capable the model, the less your prompt matters, at least for tasks within its competence. But for smaller, faster, cheaper models, careful prompting can close a meaningful portion of the capability gap.