Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.
Installation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
feat(auth): add JWT authentication
Implement JWT-based authentication system with:
- Login endpoint with token generation
- Token validation middleware
- Refresh token support
Bug fix:
fix(api): handle null values in user profile
Prevent crashes when user profile fields are null.
Add null checks before accessing nested properties.
Refactor:
refactor(database): simplify query builder
Extract common query patterns into reusable functions.
Reduce code duplication in database layer.
Analyzing changes
Review what's being committed:
# Show files changed
git status
# Show detailed changes
git diff --staged
# Show statistics
git diff --staged --stat# Show changes for specific file
git diff --staged path/to/file
Commit message guidelines
DO:
Use imperative mood ("add feature" not "added feature")
Keep first line under 50 characters
Capitalize first letter
No period at end of summary
Explain WHY not just WHAT in body
DON'T:
Use vague messages like "update" or "fix stuff"
Include technical implementation details in summary
Write paragraphs in summary line
Use past tense
Multi-file commits
When committing multiple related changes:
refactor(core): restructure authentication module
- Move auth logic from controllers to service layer
- Extract validation into separate validators
- Update tests to use new structure
- Add integration tests for auth flow
Breaking change: Auth service now requires config object
Scope examples
Frontend:
feat(ui): add loading spinner to dashboard
fix(form): validate email format
Backend:
feat(api): add user profile endpoint
fix(db): resolve connection pool leak
Infrastructure:
chore(ci): update Node version to 20
feat(docker): add multi-stage build
Breaking changes
Indicate breaking changes clearly:
feat(api)!: restructure API response format
BREAKING CHANGE: All API responses now follow JSON:API spec
Previous format:
{ "data": {...}, "status": "ok" }
New format:
{ "data": {...}, "meta": {...} }
Migration guide: Update client code to handle new response structure