Monday's meeting, Wednesday's session: Claude asks \"what is this project about?\"
If you use Claude Code, you know the pattern. You left a half-finished plan, discussed architecture, revised review materials three times - all still there, except the context. Claude starts every session as a blank slate. It's smart, but it doesn't remember.
I manage 25 projects (training programs, hospital collaborations, talent reviews, plus a few technical ones). For a non-developer like me, the most expensive thing was never compute - it was re-explaining context every single time.
I tried everything: stuffing project lists into global config, pasting background before each session, building document trees. None of it worked - either too much maintenance, or Claude simply never read it.
Then I realized the problem: Claude isn't forgetful, I never gave it a memory system. It auto-loads CLAUDE.md from the project directory every session - a native memory interface I was completely ignoring.
The structure: a registry + per-project logs
Two pieces:
~/projects/
PROJECTS.json # registry: every project registered
<project>/
README.md # for humans: background & scope
CLAUDE.md # for AI: status, decisions, todos, next steps
PROJECTS.json is a list - one line per project: sequence, key, name, status, created date. 25 projects, one glance.
CLAUDE.md is the core. A markdown file auto-loaded by Claude Code every session, holding five sections: current status, decision log, todos, known issues, next actions.
The structure itself is cheap. The value is in the four disciplines below.
Discipline 1: Every decision records WHY
My old project notes only said what happened: revised the plan three times, added two features. Months later I couldn't answer why.
The rule: every decision must record its reason - no reason, no record.
- [done] 2026-08-08 - Single-version open-source strategy (why: forking creates permanent sync burden; expected: zero maintenance cost)
Reason mandatory, expected outcome optional. Writing it takes seconds; three months later it answers the question you'd otherwise lose forever.
This also built a habit: record major decisions immediately. When a discussion lands on \"let's go with plan X\", Claude asks \"log this as a decision?\" - before the reasoning evaporates. Minor decisions get batch-recorded at save time.
Discipline 2: Session resume - from recollection to continuation
The real cost of Claude's amnesia was re-explaining. Now opening a project triggers three automatic steps:
- Read the project's CLAUDE.md
- Summarize last progress: \"last session finished the member module, CRM integration in progress\"
- List prioritized next steps, ask where to continue
Three days or three weeks later, it's one sentence to get back up to speed. Session resume (last progress + next actions) - once you have it, there's no going back.
The key habit: on save, Claude updates CLAUDE.md with this session's progress, decisions, todos - then commits to git. Five seconds, and every future session starts with full context.
Discipline 3: Attribution - a \"why\" that traces back
Project reviews always hit the same question: \"why did we cut that feature?\"
Without records, the answer is always \"I forgot\".
Now: say \"why X\" and Claude lists the relevant decisions in chronological order - each with its reason, status (executed / superseded / shelved), and downstream impact. The decision chain is visible.
This matters most for business work. You adjusted a quote, changed a collaboration boundary - months later when someone asks \"how was this negotiated?\", you can answer instead of asking around.
Discipline 4: Health checks and rollback
25 projects inevitably contain zombies: marked \"in progress\", untouched for three months. A content-level check flags them: status contradictions, staleness, todo backlog, unimplemented decisions. Checks are proactive and bring relevant decisions along.
Mistakes get rollback: everything is in git, CLAUDE.md has rotating backups. Say \"rollback\" - diff, confirm, restore. Rollback itself is backed up first - you can undo an undo.
Why this works for non-developers
I designed this for technical projects initially, but business projects benefit the most:
- Business projects run for months - cross-session probability is near 100%
- Business context is negotiation positions, plan versions, approval progress - easier to lose than code
- Non-developers are worst at rebuilding context, because the original discussion lives in chat history
Code can be rewritten. A negotiation position, once lost, is gone.
The tool
I packaged this into an open-source Claude Code skill called project-registry:
- Install:
npx skills add SUNQSHENG/project-registry(or/plugin marketplace add SUNQSHENG/project-registry) - Repo: github.com/SUNQSHENG/project-registry
- Chinese-first UI, but every trigger works in English
- Docs, examples and demo screenshots in the README
Try the methodology even if you skip the tool - every decision records why and every save leaves next steps are habits that make any AI assistant better.
Star the repo if it saves you a re-explanation - issues welcome.
Top comments (0)