commitkit
commitkit
Turn the current changes into one or more clean commits with Conventional Commits messages inferred from the diff itself, not from a guess. The message describes what actually changed, in the imperative mood, with a correct type and scope. In a coding session the default is multiple commits, one per feature group or logically related change, never a single catch-all commit.
When this fires
The user asks to commit ("commit this", "make a commit", "/commitkit", "commit my changes"). A request for the message only ("draft a commit message", "what should the message say") takes the Message-only route, which never stages, commits, or pushes. A caller that wants the commits without the push says no-push ("commit only, do not push"); see Commit each group. A commit request that defers the review of a doc ("we'll review later"), or a report that a doc is reviewed, takes the Review stamp before the procedure.
This skill is built for AI coding sessions where the user hands off with a bare "commit". In that mode you are expected to work autonomously: stage this session's files yourself, group the work into as many commits as it deserves, commit them, push them, and report back a table of what you created, without stopping to ask at each step. The one planned question is the branch, when a branch-workflow repo has you on the base branch.
Scope
A run commits this session's changes, not every change in the tree. One branch or worktree often carries several fixes at once, made by other agents or in other sessions, and a run leaves that work exactly as it found it. Resolve the scope before you group anything, taking the first rule that matches:
all(/commitkit all, "commit everything", "commit all changes"). The scope is every change in the tree.- A named scope ("commit the auth fix", a list of paths). The scope is the changes that match it.
- The session set. The scope is every path you created, edited, deleted, or renamed in this session, by any tool. It includes the files a command you ran changed as part of the work, such as a lockfile from a dependency install or the output of a code generator.
- No session set, because the session is fresh or the work has left your context. Stop, list the changed paths, and ask which to commit. Name
/commitkit allas the way to take everything.