MCPInstall

git-commit-helper

Use when the user needs help with conventional commits, semantic versioning, changelog generation, or commit message quality improvement. Triggers: user says "commit", "version bump", "changelog", "commit message", staging changes for commit, preparing a release.

Installs
80
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/pixel-process-ug/superkit-agents --skill git-commit-helper
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads git-commit-helper automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Git Commit Helper

Overview

Enforce conventional commit standards, guide semantic versioning decisions, generate changelogs, and ensure commit message quality. This skill provides a structured approach to version control communication that enables automated tooling and clear project history.

Phase 1: Analyze Changes

Analyze the staged diff to understand what was changed:

git diff --cached --stat
git diff --cached
  1. Identify the files and modules affected
  2. Determine the nature of the change (new feature, bug fix, refactoring, etc.)
  3. Check if the change is breaking (API changes, removed features, changed contracts)

STOP — Do NOT write a commit message until you understand the full scope of changes.

Phase 2: Classify and Compose

Commit Type Decision Table

TypeWhen to UseVersion BumpExample
featNew feature for the userMINORfeat(auth): add OAuth2 login flow
fixBug fix for the userPATCHfix(api): handle null response in user endpoint
docsDocumentation only changesNonedocs(readme): update installation steps
styleFormatting, missing semicolons, etc.Nonestyle(lint): fix trailing whitespace
refactorCode change with no behavior changeNonerefactor(utils): extract date formatting helpers
perfPerformance improvementPATCHperf(query): add index for user lookup
testAdding or correcting testsNonetest(auth): add login failure scenarios
choreMaintenance, deps, toolingNonechore(deps): update typescript to 5.4
ciCI/CD configuration changesNoneci(github): add Node 20 to test matrix
buildBuild system or external dependenciesNonebuild(webpack): optimize chunk splitting

Conventional Commit Format

<type>(<scope>): <description>

[optional body]

[optional footer(s)]

Scope Guidelines

Scope should identify the area of the codebase affected:

Scope StrategyExamplesWhen to Use
By moduleauth, billing, dashboard, apiFeature-organized codebases
By layerdb, ui, middleware, configLayer-organized codebases
By package@app/core, @app/sharedMonorepos
Generaldeps, ci, lint, typesCross-cutting changes

Rules:

  • Lowercase, kebab-case
  • Keep consistent within a project
  • Optional but recommended for projects with 10+ files changed regularly
  • Omit scope for truly cross-cutting changes

Description Rules

  • Use imperative mood: "add" not "added" or "adds"
  • No capital first letter
  • No period at the end
  • Maximum 72 characters (type + scope + description combined)
  • Describe WHAT changed, not HOW

Phase 3: Write the Commit Message

Body Guidelines

feat(cart): add quantity update functionality

Users can now change item quantities directly in the cart
without removing and re-adding items. The quantity selector
supports values from 1 to 99 with real-time price updates.

Closes #234
  • Wrap at 72 characters
  • Explain WHY the change was made (motivation)
  • Explain WHAT changed at a high level
  • Use blank line to separate from description and footer

Breaking Changes

feat(api)!: change user endpoint response format

BREAKING CHANGE: The /api/users endpoint now returns a paginated
response object instead of a plain array. Clients must update
to read from the `data` field.

Migration guide:
- Before: const users = await fetch('/api/users').json()
- After:  const { data: users } = await fetch('/api/users').json()

Two ways to indicate breaking changes:

  1. ! after type/scope: feat(api)!: description
  2. BREAKING CHANGE: footer (provides space for migration details)

Both trigger a MAJOR version bump.

STOP — Present the commit message to the user for approval before committing.

Phase 4: Assess Version Impact

Semantic Versioning (SemVer): MAJOR.MINOR.PATCH

ComponentIncrement WhenExample
MAJORBreaking changes (incompatible API changes)1.0.0 -> 2.0.0
MINORNew features (backward compatible)1.0.0 -> 1.1.0
PATCHBug fixes (backward compatible)1.0.0 -> 1.0.1

Version Bumping Rules

Commits since last release:
  fix(auth): handle expired tokens       -> PATCH
  feat(search): add fuzzy matching       -> MINOR (overrides PATCH)
  fix(ui): correct button alignment      -> already MINOR
  feat(api)!: change response format     -> MAJOR (overrides MINOR)

Result: MAJOR bump (highest wins)

Pre-Release Versions

1.0.0-alpha.1    -> Early testing
1.0.0-beta.1     -> Feature complete, testing
1.0.0-rc.1       -> Release candidate
1.0.0            -> Stable release

Initial Development (0.x.y)

  • 0.1.0: First usable version
  • 0.x.y: API is not stable; MINOR can include breaking changes
  • 1.0.0: First stable release; SemVer rules fully apply

Phase 5: Generate Changelog (if applicable)

CHANGELOG.md Format

# Changelog

## [1.2.0] - 2025-03-15

### Added
- Fuzzy search matching for product catalog (#234)
- Bulk export functionality for reports (#245)

### Fixed
- Handle expired authentication tokens gracefully (#230)
- Correct button alignment on mobile viewports (#232)

### Changed
- Update TypeScript to 5.4 (#240)

## [1.1.0] - 2025-02-28
...

Commit Type to Changelog Section Mapping

Commit TypeChangelog Section
featAdded
fixFixed
perfPerformance
refactorChanged
docsDocumentation
BREAKING CHANGEBreaking Changes (top of release)
chore, ci, build, style, testTypically excluded

Automation Tools

ToolUse Case
conventional-changelogGenerate changelog from git history
semantic-releaseFully automated versioning + publishing
changesetManual changeset files for monorepos
release-pleaseGoogle's release automation

Commit Message Quality Checklist

Must Pass

  • Uses conventional commit format (type(scope): description)
  • Type is from the allowed list
  • Description uses imperative mood
  • Description is under 72 characters total
  • No period at end of description
  • Breaking changes are clearly marked

Should Pass

  • Scope accurately identifies the affected area
  • Body explains WHY, not just WHAT (for non-trivial changes)
  • References issue/ticket number (Closes #123, Refs #456)
  • Single logical change per commit (atomic commits)
  • No "WIP" or "temp" commits in main branch history

Commit Splitting Guide

When to Split Decision Table

ConditionAction
Changes to different modules/featuresSplit into separate commits
Refactor combined with feature additionSplit: refactor first, then feature
Test additions for existing code + new featureSplit: tests first, then feature
Config changes + code changesSplit into separate commits
Single logical change across multiple filesKeep as one commit

How to Split

# Interactive staging for partial commits
git add -p                    # Stage hunks interactively
git add path/to/specific/file # Stage specific files

# Example: split refactor + feature
git add src/utils/date.ts
git commit -m "refactor(utils): extract date formatting helpers"

git add src/components/DatePicker.tsx src/components/DatePicker.test.tsx
git commit -m "feat(ui): add date range picker component"

Anti-Patterns / Common Mistakes

Anti-PatternWhy It Is WrongWhat to Do Instead
fix type for a new featureMisleads version bump automationUse feat for new functionality
Squashing meaningful historyLoses context of development processKeep atomic commits, squash only WIP
Using --no-verify to skip hooksBypasses quality gatesFix the hook failure instead
Amending published/pushed commitsBreaks other developers' historyCreate new commit instead
Empty or "." commit messagesZero information for future readersWrite a descriptive message
Mixing formatting with logic changesCannot revert one without the otherSeparate into distinct commits
"change X to Y" duplicating the diffAdds no information beyond the diffDescribe WHY the change was made
Huge commits touching 20+ filesImpossible to review or bisectSplit into logical atomic commits

Integration Points

SkillIntegration
finishing-a-development-branchSquash commit message follows conventional format
code-reviewCommit quality is part of review checklist
deploymentVersion bumps trigger release pipelines
planningCommit scoping aligns with plan task granularity
verification-before-completionVerify tests pass before committing

Skill Type

FLEXIBLE — Conventional commit format is strongly recommended but can be adapted to existing project conventions. Version bumping rules are deterministic when conventional commits are used. Changelog sections map directly from commit types.

FAQ

What does the git-commit-helper skill do?

Use when the user needs help with conventional commits, semantic versioning, changelog generation, or commit message quality improvement. Triggers: user says "commit", "version bump", "changelog", "commit message", staging changes for commit, preparing a release.

How do I install git-commit-helper?

Run npx skills add https://github.com/pixel-process-ug/superkit-agents --skill git-commit-helper in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/git-commit-helper/ (personal) or .claude/skills/git-commit-helper/ (project).

Which AI agents can use git-commit-helper?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is git-commit-helper safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains git-commit-helper?

It is published by pixel-process-ug in pixel-process-ug/superkit-agents. It has 80 recorded installs.

More from pixel-process-ug/superkit-agents

View all →

ui-ux-pro-max

pixel-process-ug/superkit-agents

Use when the user needs full UI/UX design intelligence — styles, palettes, fonts, UX guidelines, chart selection, and accessible, performant implementation across any supported stack. Triggers: user says "design", "UI", "UX", "color palette", "typography", "accessibility", "responsive design", "chart type", "style guide", building any user-facing interface.

Frontend & Design1.2K installs

frontend-ui-design

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

Frontend & Design117 installs

reverse-engineering-specs

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

107 installs

canvas-design

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

90 installs

autonomous-loop

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

88 installs

clean-code

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.