Once upon a time, an LLM Luddite
I’m a perennial AI skeptic. I’m of the opinion that, assuming Artificial General Intelligence (AGI, or “True, sentient AI” like you’d see in movies) is even possible, that LLMs are a dead end and are not the pathway to sentient machines. The hallucination problem is a fundamental flaw baked into the underlying technology that I don’t believe can ever truly be solved except by a change of architecture deep down. With that said, I still use “AI” all the time, it’s just that I have never really been a bleeding-edge adopter of anything AI. I think Model Context Protocol (MCP) is mostly just context pollution, for example. Until last summer, I was still using ChatGPT in the web-based chat interface! It’s not that I’m change-averse so much as I was slow to trust “agentic” “AI” not to go on a killing spree across my disk, and I preferred the feeling of control that comes from manually copy-pasting snippets or aapplying patch diffs rather than just letting an agent run amok.
But no longer, Frodo
These days I happen to use claude code, but I’m sure you could do this with antigravity or opencode just as easily. Whether I’m starting a new project or making changes to an existing codebase, I create a file, project.md, that describes the project itself. Like an initial prompt, this is detailed enough to get maybe 80% of the way there.
Then, I ask Claude (or whichever model) to ingest the project.md and the rest of the codebase, if any, and come up with plan.md which describes the changes it intends to make. I’ll edit plan.md and go back and forth with the model a bunch until things look right. Then I tell it to create a detailed todo list and concat that to the end of plan.md, offer it a last chance to ask me any clarifying questions, and then I tell it to implement the todo list and not bother me until complete.
Conclusion
I take no credit for coming up with this methodology. I saw jedberg of Reddit fame mention it on HN a while back in a comments section. As soon as I encountered this idea I knew, instantly, that it was a great fit for how I like to work. I still get to review the proposed changes like you might with a junior engineer, but I don’t actually have to ruin my pinky finger typing curly braces and stuff.