After six weeks, my Claude Code workflow has settled into a consistent pattern. Here's exactly what I do, from task to commit.
Before starting
- Write the task to tasks/current-task.md before starting the session. What exactly needs to change, what files are in scope, what done looks like.
- Check CLAUDE.md is up to date. If I fixed a problem in the last session, that fix is in CLAUDE.md.
- If it's a new area of the codebase I haven't worked in, ask Claude to read the relevant files and summarize them before touching anything.
Starting the session
"Read tasks/current-task.md. Then read [relevant files]. Tell me what you understand the goal to be and what you plan to change before making any changes."
This step catches misunderstandings early. Better to spend 30 seconds clarifying than to review a diff that solved the wrong problem.
During the task
- Review mode until Claude's approach is confirmed correct, then auto-accept for mechanical work.
- Check git diff periodically on longer tasks. Catch drift before it compounds.
- Update tasks/current-task.md at natural pause points.
Before committing
- Run commit-check (or manually scan for debug statements, hardcoded values, skipped tests).
- Read every changed file in the diff. Not skim — read.
- Run the test suite. Confirm it passes.
- Write a specific commit message: what changed and why.
After committing
If anything went wrong or I learned something, add it to CLAUDE.md. "Claude tends to X in this codebase — rule to prevent it: Y."
This compounds. The 30 seconds of updating CLAUDE.md prevents the same problem in the next session.
What this adds up to
More front-loading than I used to do. More review discipline. Less going back. The per-task overhead is maybe 5 minutes. The time saved on rework is larger.
Top comments (0)