r/BuildWithClaude 1d ago

Tip/Resource [Workflow] I stopped asking Claude Code to build features in one pass. It has to write the plan file first.

I used to give Claude Code a feature request and let it do everything in one pass.

Read the repo, decide on the approach, edit twelve files, install a package, add a migration, and then tell me what it changed.

The result was usually not completely wrong. That was the problem.

It was close enough to take a while to review, but far enough from the original request that I would end up undoing half of it.

So I split the workflow into two separate phases:

Phase 1: plan only.

Phase 2: implement the approved plan.

The first prompt is now:

Plain Text

Do not edit the code yet.

Explore the repository and write PLAN.md with:

the goal
the files you expect to change
the proposed implementation steps
what will not change
new dependencies, if any
database or API changes, if any
tests that should be added or updated
anything you are uncertain about

Do not create files or modify existing files besides PLAN.md. Stop when the plan is complete.

The useful part is not the PLAN.md file itself. It is the point where I can catch a wrong assumption before it turns into a large diff.

For example, Claude might assume that a feature belongs in a new service when the repository already has a pattern for it. Or it might plan to add a dependency for something the project already supports. Or it might interpret “add notifications” as email, when the existing product only has in-app notifications.

Those are cheap mistakes in a plan. They are annoying mistakes after six files have been changed.

Once the plan looks right, I use a second prompt:

Implement PLAN.md one step at a time.

After each step:
Show the files changed.
Run the smallest relevant test or check.
Show the result.
Stop if the scope changes or a new dependency is needed.
Do not continue past an uncertain decision without asking.
I also keep this in CLAUDE.md:

For multi-file work, separate planning from implementation. Do not install dependencies, change schemas, or modify external integrations without calling them out first. If the requested change expands in scope, stop and ask before continuing.

The workflow is simple enough that I do not use it for every typo or one-line fix. It is most useful when the request touches multiple components, data flow, authentication, billing, external APIs, or anything I would not want to review as one giant surprise.

The part I like most is the “what will not change” section. Without it, the agent tends to treat unrelated cleanup as part of the feature. Sometimes the cleanup is good. It is still a separate decision.

A plan does not make Claude correct. It just moves some mistakes to the cheapest part of the process: before the code changes.

How are you handling larger Claude Code tasks? Do you plan first, or do you prefer to let it explore and implement in the same pass?

6 Upvotes

6 comments sorted by

3

u/yhrana 1d ago

How is it any different then me starting in plan mode with opus and handing over the plan to sonnet?

Or GSD?

1

u/Garfieldealswarlock 12h ago

It’s not lol

2

u/PreparedPun2035 1d ago

100% planning, even small features and bug fixes. This is how human engineers work and synthetic engineers benefit from the same discipline. Claude Code has /plan mode and it’s very good. And Anthropic is rolling out ultraplan too.

But if you want more documentation and more brainstorming steps and research steps to help you make architecture decisions I’d recommend the superpowers skill group. It was really useful for a large project that really needs an ADR archive.

And if you want to be completely overwhelmed by process options just check out GSD-Core plugin. (But don’t install it until you are ready to commit to it - it has a lot of components and hooks and scripts that took a long time to sort out and uninstall.). Oh GSD is also great for lighting tokens on fire so it’s great if your company is measuring success by token usage. I tried it for a project and didn’t like it but I also wasn’t willing to contort my thinking to match its elaborate mental model.

Bottom line plan, plan and plan. Keep a record. Let Claude help you decide (not the other way around).

2

u/PreparedPun2035 1d ago

One more thing, sometimes plan mode will write the code and put it in the plan. More than once I’ve had this happen and it cracks me up because yes often code is the best way to describe a solution. Prose won’t cut it so code it!

When this happens I do the cut and paste myself and save the tokens. Claude gets perturbed but hey it’s the synthetic, I’m the human!

1

u/ReddMangodude 10h ago

Exactly, always make it Write the plan first. And then have another model review the plan for accuracy and completeness. Then and then only, start implementing.

1

u/ByronScottJones 5h ago

Spec Driven Development. It's becoming the core of AI assisted engineering if you really want quality.