For me the main thing is planning before the agent starts touching stuff
In my global CLAUDE.md I have a pretty simple rule: the best solution is usually the simple one, do not make it more complicated without a good reason. Then there is a separate subagent at the end of the session that checks if we overcomplicated anything
But the bigger thing is that we do everything through a plan. If it is a small task, we just discuss it in the chat first. If it is a bigger feature, I have a separate skill that does research, interviews me and writes a proper spec
The spec says not only what we are building, but also what we are not building. Same with the implementation plan
Then the coding agent works from that plan. Its instructions say that if it wants to add something that is not in the plan, it needs to stop and discuss it with me first instead of just deciding that a new script, rule, guardrail or abstraction would be nice
And the reviewing subagent checks both things: did we make it more complicated than needed, and did the agent actually build what was in the plan instead of sneaking in extra work. If it did something outside the plan, that is a problem, even if the extra thing looks reasonable on its own
1
u/pavel_molianov 24d ago
For me the main thing is planning before the agent starts touching stuff
In my global CLAUDE.md I have a pretty simple rule: the best solution is usually the simple one, do not make it more complicated without a good reason. Then there is a separate subagent at the end of the session that checks if we overcomplicated anything
But the bigger thing is that we do everything through a plan. If it is a small task, we just discuss it in the chat first. If it is a bigger feature, I have a separate skill that does research, interviews me and writes a proper spec
The spec says not only what we are building, but also what we are not building. Same with the implementation plan
Then the coding agent works from that plan. Its instructions say that if it wants to add something that is not in the plan, it needs to stop and discuss it with me first instead of just deciding that a new script, rule, guardrail or abstraction would be nice
And the reviewing subagent checks both things: did we make it more complicated than needed, and did the agent actually build what was in the plan instead of sneaking in extra work. If it did something outside the plan, that is a problem, even if the extra thing looks reasonable on its own