git-commit-standard

cpa03's avatarfrom cpa03

Generates conventional commits based on file changes. Analyzes diffs and creates properly formatted commit messages.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 9, 2026

When & Why to Use This Skill

This Claude skill automates the generation of standardized Git commit messages by analyzing staged or unstaged file changes. By strictly adhering to the Conventional Commits specification, it ensures your version control history is clean, professional, and machine-readable, which is essential for modern DevOps workflows and team collaboration.

Use Cases

  • Standardizing Team Workflows: Enforce a consistent commit message format across a development team to improve repository maintainability and searchability.
  • Automated Changelog Generation: Create structured commit logs that allow CI/CD tools to automatically generate release notes and version updates based on commit types like feat, fix, and chore.
  • Improving Code Review Context: Generate detailed commit bodies that explain the 'what' and 'why' of code changes, providing reviewers with immediate context before they dive into the diff.
namegit-commit-standard
descriptionGenerates conventional commits based on file changes. Analyzes diffs and creates properly formatted commit messages.

Git Commit Standard Skill

Generate Conventional Commits based on staged changes.

Procedure

  1. Check current status:

    git status
    
  2. View staged changes:

    git diff --staged
    
  3. If nothing staged, view all changes:

    git diff
    
  4. Analyze changes and determine commit type:

    • feat: New feature
    • fix: Bug fix
    • docs: Documentation only
    • style: Formatting, no code change
    • refactor: Code change that neither fixes nor adds feature
    • perf: Performance improvement
    • test: Adding or correcting tests
    • chore: Build process, tooling, etc.
  5. Generate commit message format:

    type(scope): subject
    
    [optional body]
    
    [optional footer]
    

Rules

  • Subject line max 72 characters
  • Use imperative mood ("add" not "added")
  • No period at end of subject
  • Separate subject from body with blank line
  • Body should explain WHAT and WHY

Example Output

git commit -m "feat(auth): add OAuth2 support for Google login

- Implemented Google OAuth2 flow
- Added token refresh mechanism
- Updated login page UI

Closes #123"