The kit I never announced
Every post on this site since May has been written, in part, with claude-project-kit in the loop. It’s the scaffold I use to keep AI-assisted work grounded across a pile of repos: a private working folder next to each project with a context file and a session log, per-project memory for how I like to work, and lifecycle slash commands that load all of it before anything gets touched. I’ve linked it, listed it, and never actually written about it. 1.6.0 is a decent excuse.
Two sources of truth is one too many
The kit keeps the rules in two places on purpose. The working folder’s context file says how this project works — branch base, merge strategy, commit shape, what the tracker is. Auto-memory says how I work, across every project. Most of the time they agree.
When they don’t, the assistant doesn’t notice. It reads both, picks one, and proceeds with
total confidence. I found this the way you find everything: a repo whose default branch is
master, a memory file that says main, and a CI fix titled “push changelog to master not
main” that should never have been necessary.
So 1.6.0 adds a convention-drift check. It reads the context file and the memory
files, compares the claims they both make, and reports the disagreements. It runs as a
step in /session-verify, and there’s an optional git hook if you’d rather be told before
the commit than after. It’s a small script. It’s caught three real conflicts in the first
week.
Log on merge, not on “end”
The other change is subtler. The session log used to be written at the end of a session.
Sessions don’t end cleanly — the context window fills, the laptop lid closes, the
conversation just stops. One project of mine had a ten-day hole in its log where the
context file and the checklist stayed current (a later session rebuilt them by reading
main) but everything that only lived in conversation was gone. Nothing detected it. A
missing entry is invisible until someone goes looking.
The trigger is now the PR merge. A merge is a real event with a real timestamp, it happens in the middle of a session rather than at a hypothetical end, and if the log entry isn’t there the next session can see the gap between the last entry and the last merge. Log what shipped, when it shipped.
What it isn’t
It’s not a plugin, it doesn’t replace CLAUDE.md, and it isn’t a tracker. It’s templates,
a bootstrap script, eleven commands, three starter agents, and now a lint — with a Bats
suite and CI behind it because a workflow tool that isn’t tested is a superstition.
MIT-licensed. Take it, strip out what
doesn’t fit how you work, keep the rest.