Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add rsurasin/claude-code-toolkit --skill "commit-message"
Install specific skill from multi-skill repository
# Description
>
# SKILL.md
name: commit-message
description: >
Generate git conventional commit messages from staged changes or diffs. Produces
structured commit messages with type, optional scope, subject, and body.
Use when committing code or when asked to write a commit message.
Commit Message Skill
Generate commit messages following the Conventional Commits specification.
Format
For most commit messages:
<type>(<scope>): <subject>
<body>
For breaking changes & deprecation:
<type>(<scope>)!: <subject>
<body>
Types
| Type | When to use |
|---|---|
feat |
New feature or capability |
fix |
Bug fix |
refactor |
Code change that neither fixes a bug nor adds a feature |
style |
Formatting, whitespace, missing semicolons (no logic change) |
docs |
Documentation only changes |
test |
Adding or updating tests |
chore |
Build process, dependency updates, tooling |
perf |
Performance improvement |
ci |
CI/CD configuration changes |
Scope
Derive the scope from the area of the codebase changed. Examples:
feat(auth): add refresh token rotationrefactor(api): extract error handling middlewaredocs(api): update authentication endpoint descriptionschore(deps): bump express to 5.1.0
Use ! for breaking changes and deprecation:
feat(api)!: migrate from firebase database integration to supabase
If changes span multiple areas, use the primary area or omit scope.
If the project uses task IDs in a roadmap, or Jira ticket ID include them:
- feat(2.1.2): add table migration
- feat(AE-11458): add new oauth provider
Subject Line Rules
- Imperative mood: "add" not "added" or "adds"
- No period at the end
- Max 72 characters
- Lowercase first letter after the colon
- Should complete the sentence: "If applied, this commit will ___"
Body Rules
- Blank line between subject and body
- Wrap at 72 characters
- Explain WHAT changed and WHY, not HOW (the diff shows how)
- Reference related issues or tasks if applicable
- For breaking changes, add
BREAKING CHANGE:footer
Process
- Read the staged diff (
git diff --staged) or the diff provided by the user - Identify the primary type of change
- Determine the scope from the files/modules changed
- Write a clear subject line
- If the change is non-trivial, add a body explaining the motivation
Examples
Simple feature:
feat(api): add new oauth provider
Adds Google OAuth 2.0 provider to allow users to sign-in with their Google accounts.
Bug fix:
fix(auth): clear tokens on 401 before redirect
The onUnauthorized callback was redirecting to sign-in before
clearing the auth store, causing a brief flash of the previous
authenticated state on the sign-in screen.
Dependency update:
chore(deps): upgrade react-native-reanimated to 3.17.1
Fixes the shared value crash on Android API 34 reported in #142.
Multi-file refactor:
refactor: extract validation utils from form components
Moves inline validation logic from checkout-form.tsx
and register-form.tsx into utils/validation.ts. No behavior change β
all validation rules are identical to before.
Anti-Patterns (never do these)
fix: stuffβ too vagueUpdated filesβ not conventional commits formatfeat: add new feature for the dashboard screen that lets users...β too longfix(bug): fix bugβ scope and subject are redundantWIPortempβ never commit these
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.