re0-git
Installation
SKILL.md
Rewrite a finished commit message so the log hands off on its own — in the author's own voice, not an imposed one.
Goal
Repeated amends and momentum commits leave a message bloated, stale, or padded with trivia. re0-git rewrites the message into a clean version that lets a fresh session continue from git log alone, without reading the diff. It refines what the author already writes. Only the message moves — and timestamps, per the date rule below; the tree never changes.
It is user-invoked — run it once you've decided to commit. A commit-cleanup tool in the agent's reach would bias it toward committing when it shouldn't.
Workflow
- Scope the target — usually
HEAD, sometimes a short unpushed range. - Read the change (
git show --stat,git diff) and any documented commit rules. Then sample nearby non-target messages: start with 10, stop earlier if the convention is obvious, or expand only until the convention is clear. - Resolve mixed logs in this order: documented project rules, nearby commits touching the same area, then same-author commits within that convention. Do not average incompatible styles or let one author's habits override the repo.
- Rewrite the message to the commit-economy (below): keep only durable handoff facts, fold supporting edits into the change they serve, and cut anything the diff or tag already proves. Give trivia no bullet of its own.
- Re-commit signed, dates per the rule below. For the tip (
HEAD):git commit --amend -S --date=now— the--date=nowis what moves the author date to now; a bare--amendresets only the committer date and leaves the author date stale. For an older commit, keeping its dates: rebuild it —GIT_AUTHOR_DATE/GIT_COMMITTER_DATE git commit-tree <tree> -p <parent> -S -m "<new message>"— then replay every descendant onto the rebuilt commit (a non-tip rewrite is a rebase, not a ref move), or you orphan them. - Verify and report.