git-commit-messages
Generates consistent git commit messages following project conventions. Use when committing changes, creating PRs, or when asked to write commit messages.
When & Why to Use This Skill
This Claude skill automates the creation of standardized Git commit messages based on specific project conventions. By enforcing rules such as imperative mood subjects, scope derivation from file paths, and categorized change types (feat, fix, refactor, etc.), it ensures a clean, readable, and professional version control history that enhances team collaboration and repository maintainability.
Use Cases
- Standardizing Version Control: Automatically generate consistent commit messages that adhere to strict team formatting rules, reducing manual effort and cognitive load.
- Streamlining Pull Requests: Create clear and structured summaries of code changes to facilitate faster peer reviews and better project documentation.
- Managing Multi-Scope Refactoring: Intelligently handle complex changes across multiple directories by automatically deriving or omitting scopes based on file paths.
- AI Development Tracking: Use specialized 'ai' tags to distinguish changes in prompts, skills, and agent configurations from traditional software engineering tasks.
- Automated Change Logging: Ensure every commit includes a past-tense body description, making it easier to generate automated changelogs and release notes.
| name | git-commit-messages |
|---|---|
| description | Generates consistent git commit messages following project conventions. Use when committing changes, creating PRs, or when asked to write commit messages. |
Git Commit Message Generator
Format
type(scope): subject in imperative mood
- Body bullet in past tense with period.
- Another change description.
Types
| Type | When to Use |
|---|---|
feat |
Added new functionality |
fix |
Fixed a bug |
refactor |
Restructured code, no behavior change |
chore |
Dependencies, tooling, configs |
docs |
Documentation |
test |
Tests |
cicd |
CI/CD pipelines, deployment |
ai |
AI/Claude configurations |
Rules
- Subject: Imperative mood, lowercase after colon, no period, max 72 chars
- Scope: Derived from path. When changes span multiple scopes, omit the scope entirely
authz– Authorization stack and FGA modelsinfra– Kraftfiles, Dockerfiles, deployment configsnix– Flake and Nix configuration
- Body: Past tense, capital start, period at end
- No attribution: Never include "Co-Authored-By", "Generated with", or any AI/author attribution
- AI-only changes: When changes are exclusively AI-related (skills, prompts, Claude configs), always use
aitype—neverrefactor,chore, or other types - Preview before commit: Always show the proposed commit message to the user for confirmation before executing the commit
Examples
feat(authz): add task permissions with list inheritance
refactor(authz): split monolithic model into modules
- Separated projects.fga and tasks.fga into distinct files.
- Created fga.mod manifest to declare included modules.
chore(nix): update flake inputs to latest versions
- Bumped nixpkgs to 2025-12-21.
- Updated unikraft-nur to v0.12.5.
feat(infra): add Caddy reverse proxy for Unikraft deployment
- Added Kraftfile and rootfs for Caddy unikernel.
- Configured TLS termination and playground proxy.
docs: restructure README for improved clarity
chore: update dependencies and documentation
- Bumped openfga-cli to v0.7.8.
- Updated AGENTS.md with README references.
ai: secure Claude settings by restricting dangerous permissions