Engineering
git-commit-formatter avatar

git-commit-formatter

Standardize git commits with conventional formatting, signatures, and automated context gathering for better project history.

Introduction

The git-commit-formatter is an essential engineering productivity tool designed to enforce consistency and clarity in Git repository history. It provides an automated, standardized workflow for generating commit messages that follow the Conventional Commits specification. By integrating directly into the Claude Code environment, this skill ensures that every commit includes a clear, imperative-mood summary, a detailed explanation of the 'why' behind the changes, and mandatory metadata signatures, which are critical for professional software development teams and open-source contributors.

  • Automatically analyzes staged and unstaged files using git status and git diff to provide relevant context for the message.

  • Enforces the Conventional Commits standard (feat, fix, docs, style, refactor, perf, test, chore) to maintain readable project logs.

  • Appends standardized Claude Code signatures to each commit, ensuring authorship and tool attribution are tracked reliably.

  • Implements a robust heredoc-based commit execution method to handle multi-line messages without escaping issues in shell environments.

  • Provides built-in safety mechanisms to prevent the accidental staging of sensitive data like .env files or credentials, and includes logic for handling pre-commit hook failures.

  • Interactive workflow that prompts the user to distinguish between different types of changes, facilitating the separation of concerns into distinct commits.

  • Ideal for developers who need to maintain strict commit history quality and ensure that all team members follow identical formatting standards.

  • Expected input includes the user's intent to commit and their changes; the skill outputs a structured, formatted git commit command ready for execution.

  • Always review the git diff suggested by the skill before confirming the commit to ensure that unrelated changes are not grouped together.

  • Keep the first line of the commit message under 72 characters to maintain compatibility with git log --oneline views.

  • Ensure that sensitive environment variables or large binary files are not included in the staging area before invoking this skill to maintain repository security.

Repository Stats

Stars
0
Forks
0
Open Issues
0
Language
TypeScript
Default Branch
main
Sync Status
Idle
Last Synced
May 3, 2026, 08:16 PM
View on GitHub