Generate conventional, descriptive, and scoped commit messages from your git diffs — no more "fixed bug" or "updated files".
✅ USE this skill when:
❌ DON'T use this skill when:
Reads the git diff (staged, branch, or provided inline)
Analyzes what files changed, what functions/classes were affected, and the nature of each change
Constructs a Conventional Commits message: text
<type>(<scope>): <short summary>
<body>
<footer>
Explains the reasoning so you can review before committing
write:staged#Read git diff --staged and generate a commit message.
text
Write a commit message for my staged changes
→ Analyzes staged diff, outputs a formatted commit message with type, scope, description, and body.
write:diff#Read changes between the current branch and its base (main/master).
text
Summarize all changes in this branch as a commit message
write:range#Generate a changelog or multiple commit messages for a range of commits.
text
Generate conventional commit messages for commits HEAD~5..HEAD
write:provided#Given an inline diff or file list, generate a commit message.
text
Here's a diff: [...paste diff...]. Write a commit message.
rewrite:last#Improve the last commit message to follow conventions.
text
Rewrite my last commit message in conventional format
validate#Check whether a message follows Conventional Commits.
text
Validate this message: "fix(api): handle null pointer in user lookup"
→ Confirms it's valid, or explains what to fix.
TypeUsagefeatA new featurefixA bug fixdocsDocumentation only changesstyleFormatting, missing semicolons, etc. (no logic)refactorCode change that neither fixes a bug nor adds a featureperfCode change that improves performancetestAdding or correcting testschoreBuild, CI, dependencies, toolingciCI/CD configuration changes
User: "Write a commit message for my staged changes"
Assistant: (runs
git diff --staged, analyzes changes)text
feat(auth): add OAuth2 refresh token rotation - Implement refresh token rotation on every token refresh - Invalidate old refresh tokens immediately after use - Add TTL config for refresh tokens (default 30 days) - Update token endpoint to return rotated refresh token Closes: #452
git commit..gitignore — won't try to diff ignored files.