How I Use Claude Code
/blogs6 December, 2025
I use Claude Code a lot, especially when I'm moving fast and shipping features. It's insanely powerful, but if you're not careful, it can also turn your codebase into a complete mess. After breaking things enough times, I found one workflow that consistently keeps things clean and under control.
The Three-Phase Workflow
The single most important tip that has helped me escape the massive code mess it sometimes creates is this: for every feature I want to implement, I follow three phases.
Phase 1: Discussion & Design
In the first phase, I describe my idea and what I want Claude to execute, ask it to skim through the relevant sections of the codebase, and then have a deep discussion about implementing the feature and ask for its POV. After having a detailed discussion and understanding all the aspects of the feature and it's implementation, I finally decide upon the exact process of the implementation, but this time I have more clarity and any misconceptions that I had initially is cleared.
This step alone filters out a lot of bad design decisions before they ever touch the code.
Phase 2: Documentation & Planning
Then I ask Claude to generate a #feature_plan.md file which contains detailed documentation of the feature. I use a prompt like:
"Now we are going to implement the feature as discussed, write a detailed documentation for my AI engineer, divide the plan into phases and add a test at the end of each phase. Also include relevant files and code snippets that have to be created or updated."
In this manner, there is a well-documented feature plan that can be executed manually or agentically because all the code snippets and files are present. You also get way more control over what is happening, and everything gets verified by tests.
At this point, you have complete control over what is happening and you can make changes whenever the AI goes out of track or loses context.
Phase 3: Implementation & Testing
The third phase is simply following the doc and asking Claude to implement Phase 1 from the #feature_plan.md and test it with the test case.
I don't really like to use the agent mode, because the manual way of accepting changes on the go allows me to review the code changes/updates for each file and believe me - this has saved me a lot of time spent on refactoring unnecessary code additions/deletions.
Final Thoughts
That's it. These are the 3 phases that I follow and felt need to be shared. And yeah, don't forget to use version control as and when you feel the updates are as you desired and all the tests have been passed.
Happy Coding!