About commit
commit is a skill that guides an agent through committing changes owned by the current request, for development workflows that need clear commits matching repository conventions. It preserves unrelated work, follows Conventional Commits, and addresses hook failures caused by the changes.
Key features
- 01Review status, diffs, and commit history
- 02Separate concerns into independent commits
- 03Preserve work outside the request
- 04Exclude credentials, keys, and environment files
- 05Follow Conventional Commits and repository hooks
- 06Report commit hashes and subjects
Use cases
- 01Commit code changes within the current request
- 02Split unrelated changes into independently revertible commits
- 03Inspect and fix hook failures caused by the current changes
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ toy-crane/ skills --skill commitAfter installing, type/commitin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlevals/control-trigger-evals.jsonevals.jsonheldout-trigger-evals.jsontrigger-evals.jsonDetails
From the project READMECommit changes
Commit the changes owned by the current request. Treat explicit invocation as authorization to create commits, while leaving the remote untouched.
Understand the current status, diff, and recent commit style before staging. Separate unrelated concerns into commits that can be understood, reverted, or cherry-picked independently; keep a behavior and the tests that establish it together when they form one change.
Preserve work outside the request. Leave pre-existing or ambiguously owned changes unstaged and ask only when their ownership prevents a safe commit. Exclude credentials, secrets, private keys, and environment files unless the user explicitly establishes that a particular file is safe and intended for version control.
Use Conventional Commit messages that describe the actual diff and fit the repository's history. Honor repository hooks and repair failures caused by the current change; a failed hook is evidence to address, not a check to bypass.
Finish when every in-scope change is committed, every remaining working-tree change is accounted for, and the user has the resulting commit hashes and subjects. If there is nothing to commit, report that state without creating an empty commit.