Key Takeaways
- Adopt TODO.md and AUDIT_LOG.md with CLAUDE.md.
- The audit log slashes repeat errors; the todo keeps Claude Code aligned with your roadmap.
Beyond CLAUDE.md: The 2 Files That Keep Claude Code on Track

You've got your CLAUDE.md dialed in — project rules, coding conventions, the works. But after a month of daily use, one developer on r/ClaudeAI discovered that two extra files make a bigger difference than any config tweak. Here's what they found and how you can steal it.
The Technique: TODO.md + AUDIT_LOG.md
The developer, u/annasfbi, keeps two persistent project files alongside CLAUDE.md:
- TODO.md — a running list of ideas, planned features, and future work.
- AUDIT_LOG.md — a development log documenting mistakes, their causes, fixes, and prevention strategies.
That's it. No fancy tooling. Just plain markdown files that Claude Code reads and updates.
Why It Works

Claude Code's context window (up to 1M tokens with Opus 4.6) means it can hold a lot, but it forgets between sessions. These files give it a persistent memory outside of CLAUDE.md.
- TODO.md keeps Claude Code aligned with your project's direction. When you start a new task, Claude reads the TODO and prioritizes accordingly — no more asking "what should I do next?" or drifting off-road.
- AUDIT_LOG.md is the real game-changer. By documenting what went wrong and how you fixed it, you're teaching Claude to avoid the same traps. The developer says it "reduced the same errors from coming up again" — that's fewer debugging cycles, less token burn, and faster shipping.
This works because Claude Code treats these files as reference material. When it hits a similar problem, it searches the audit log, finds the pattern, and applies the known fix. It's like giving your agent a post-mortem library.
How To Apply It
Create the files in your project root:
touch TODO.md AUDIT_LOG.mdSeed TODO.md with your current backlog. Be specific:
# TODO - [ ] Implement OAuth2 login flow (priority: high) - [ ] Refactor database queries for performance - [ ] Add unit tests for payment moduleStart AUDIT_LOG.md with any past mistakes you remember:
# Audit Log ## 2026-08-02: Race condition in auth - Cause: Missing await in async handler - Fix: Added proper promise resolution - Prevention: Always use async/await, never .then() in critical pathsTell Claude to use them in CLAUDE.md:
Always read TODO.md and AUDIT_LOG.md at session start. Update TODO.md when tasks are completed. Log any errors encountered in AUDIT_LOG.md with cause, fix, and prevention.Update them consistently — manually or ask Claude to do it. The developer updates both manually sometimes, but Claude also does it automatically when you prompt it.
The Payoff
- Fewer repeat errors — Claude learns from your history, not just its training.
- Better direction — Claude knows what's planned and what's done, reducing off-task work.
- Smoother handoffs — if you switch branches or machines, these files carry context.
Start with these two files. They're free, simple, and immediately actionable. Your future self (and your token budget) will thank you.
Source: reddit.com









