About commit
A structured skill for creating and verifying Git commits. It controls the selected changes, message style, hooks, and trailers, and never pushes.
Key features
- 01Lock selected changes by hash
- 02Draft messages from diff evidence
- 03Control hooks and trailers
- 04Verify commit against snapshot
- 05Report status without pushing
Use cases
- 01Commit staged changes with a checked message
- 02Commit tracked unstaged changes safely
- 03Diagnose blocked commits or verification mismatches
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ prathamdby/ skills --skill commitAfter installing, type/commitin Claude Code to confirm it loaded.
Bundled filesREFERENCE.md
Details
From the project READMECommit
Options
Default: staged, conventional, trailers denied; hooks off only where host policy permits bypass, otherwise hooks on. "Unstaged work" requires an empty index; untracked files stay excluded. "Plain subject"/"simple message" selects simple. "Run hooks"/"do not skip hooks" selects on. Explicit identity-trailer requests opt in only to those trailers. Conflicting scopes/styles or missing needed values block; hook failure does not change the chosen policy.
1. Lock
Read status and the selected diff (cached for staged, worktree for unstaged).
Empty → NO_CHANGES, naming other layers without switching. Hash selected bytes
with git hash-object. For unstaged, block if index is nonempty.
Record scope | style | hooks | requested trailers | hash | paths | message | command | SHA | terminal.
Done when intended bytes and out-of-scope work are fixed.
2. Draft and trace
Load the selected style and rejection check in REFERENCE.md.
Draft only from locked hunks, not session/ticket/plan/branch/reviewer context
or a prior review-follow-up draft. Map every message line to proving hunks.
Rewrite unproved copy and all rejected forms. Use one subject -m and at most
one body -m, not an editor, HEREDOC, -F, -a, or an argument per bullet.
Done when style, clean-room trace, and requested-trailer policy pass.
3. Commit
Rehash immediately before mutation; movement restarts Lock. For unstaged, stage only locked tracked paths and require cached bytes equal the snapshot. Use separate literal argv values for subject/body; shell variables must preserve quotes, backticks, dollars, backslashes, and newlines. Run hooks when required/chosen; bypass only if both recorded policy and host permit it. Done when one commit exists; errors/interruption are BLOCKED with stderr and any index mutation, never silently changing hook policy.
4. Verify
Compare commit diff/paths and %B to the locked snapshot/message, check command
shape/hook policy and preservation of unrelated work. Mismatch blocks with SHA
and exact difference. For denied trailers always apply Trailer hygiene in
REFERENCE.md; with opt-in, apply it when an unrequested banned line appears.
Keep the REPL strip and unpublished/run-owned-HEAD checks; a clean -m is not
proof of clean HEAD. Done when commit and message match after any safe amend.
Report SHA, subject, scope, hooks/trailers, trace, amend status, and remaining tracked/untracked work. Terminals: SUCCESS, NO_CHANGES, BLOCKED. Never push.