← ClaudeAtlas

commitlore-commitslisted

Use when about to make a git commit and there is decision context worth recording — a constraint that shaped the change, an alternative that was tried and dropped, a warning for whoever touches this next. Drives the CommitLore capture pipeline, which drafts a record from the session transcript and the staged diff, machine-checks every quote against them, and binds what survives to the commit it was prepared for. Applies to an ordinary commit request, not only to one that names CommitLore: most commits carry nothing worth recording and this skill is silent on them, so the cost of considering it is a judgement the agent makes and drops. Trigger phrases include "commit this", "commit these changes", "finish up and commit", "commit this with commitlore", "write a commitlore record for this change", "capture the decision context for this commit", "what should I record about why I ruled out X", "커밋해줘", "수정 완료하고 커밋해", "commitlore 기록 남겨서 커밋해줘", "이 변경 결정 맥락 커밋에 남겨줘".
MongLong0214/commitlore · ★ 15 · Code & Development · score 80
Install: claude install-skill MongLong0214/commitlore
# CommitLore commits A CommitLore record is the trailer block at the end of a commit message — ordinary git trailers, parsed by `git interpret-trailers`. It captures what the diff itself cannot show: the conditions that shaped the decision, the alternatives that were dropped and why, and warnings for the next agent or person who touches this code. Record through **capture**. It binds the record to a nonce, hashes the transcript and staged diff it was drafted from, and refuses any quote absent from those bytes — so a record citing something nobody said never reaches history. Hand-writing trailers skips all of that; it is the fallback at the end of this file, not the default. ## When to record, and when not to Trivial commits — typo fixes, formatting, a rename with no behavior change — get no trailers. A record costs a future reader attention, and spending that on noise is worse than recording nothing. Record only a real constraint, a real alternative that was seriously considered and rejected, or a real warning worth leaving. Answering `{"records": []}` is correct, and common. ## Capture This skill is the host-side initiator when the host selects it for a commit request. The `prepare-commit-msg` hook that `commitlore init` installs only attaches an already staged transaction; an ordinary `git commit` never starts capture because it has no session transcript. Without the hook, nothing staged reaches a commit message. Stage the change first — capture hashes `git diff --cac