Generate a conventional commit message for the current changes.
Process
- Run
git log --oneline -10to match the existing commit style. - Run
git diff --cachedfor staged changes, orgit diffif none are staged. - Generate the message per the rules below.
Format
<type>(<scope>): <description>
<body>
Rules
Types: fix, feat, docs, style, refactor, test, chore, spelling, rename
Scope: Infer from changed file paths. If changes span multiple scopes, only commit changes relevant to the users' original intent for the session.
Body: Include a body when the change is non-trivial. Explain why, not what. Separate from a blank line. Wrap at 72 characters.
Breaking changes: If the change is breaking, add ! after the scope and a BREAKING CHANGE: footer:
feat(sdk)!: rename updateSnapshot to updateProject
BREAKING CHANGE: updateSnapshot removed, use updateProject(projectId, { snapshotId }) instead.
Conforms to the Agent Skills specification: https://agentskills.io/specification