GI

git-commit-format

Enforces conventional commit standards for the HyperShift project.

Install

mkdir -p .claude/skills/git-commit-format && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7665" && unzip -o skill.zip -d .claude/skills/git-commit-format && rm skill.zip

Installs to .claude/skills/git-commit-format

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Apply HyperShift conventional commit formatting rules. Use when generating commit messages or creating commits.
111 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Enforces commit message structure with scope and type
  • Validates breaking change syntax (! and FOOTER)
  • Injects required Signed-off-by footers
  • Appends mandatory AI attribution

How it works

Applies a linting and formatting rule-set to enforce specific character limits, mandatory footers, and conventional commit syntax.

Inputs & outputs

You give it
Raw commit description
You get back
Formatted commit message conforming to HyperShift standards

When to use git-commit-format

  • Generating formatted commit messages
  • Validating commit message structure
  • Adding mandatory sign-off footers
  • Documenting breaking changes in commits

About this skill

Git Commit Message Formatting Rules

Apply conventional commit format for all git commits in the HyperShift project.

Commit Message Format

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

[optional body]

[footers]

Commit Types

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation changes
  • style: Code style changes (formatting, etc.)
  • refactor: Code refactoring (no functional changes)
  • test: Adding/updating tests
  • chore: Maintenance tasks
  • build: Build system or dependency changes
  • ci: CI/CD changes
  • perf: Performance improvements
  • revert: Revert previous commit

Breaking Changes

With ! to draw attention

feat!: send email when product shipped

With BREAKING CHANGE footer

feat: allow config to extend other configs

BREAKING CHANGE: `extends` key now used for extending config files

Both ! and BREAKING CHANGE

chore!: drop support for Node 6

BREAKING CHANGE: use JavaScript features not available in Node 6.

Required Footers

Signed-off-by Footer

ALWAYS include Signed-off-by footer with name and email.

Get credentials in this priority order:

  1. Environment variables: $GIT_AUTHOR_NAME and $GIT_AUTHOR_EMAIL
  2. Git config: git config user.name and git config user.email
  3. If neither configured, ask user to provide details

Commit-Message-Assisted-by Footer

ALWAYS include Commit-Message-Assisted-by: Claude (via Claude Code) when Claude assists with creating or generating the commit message.

Commit-Message-Assisted-by: Claude (via Claude Code)

Gitlint Validation Rules

  • Run make run-gitlint to validate commit messages
  • Title line: 120 characters maximum
  • Body line: 140 characters maximum per line
  • Use conventional commit format
  • Include required footers (Signed-off-by)
  • No trailing whitespace

Examples

Simple commit

docs: correct spelling of CHANGELOG

Signed-off-by: Bryan Cox <[email protected]>
Commit-Message-Assisted-by: Claude (via Claude Code)

With scope

feat(azure): add workload identity support

Signed-off-by: Bryan Cox <[email protected]>
Commit-Message-Assisted-by: Claude (via Claude Code)

Multi-paragraph with footers

fix: prevent racing of requests

Introduce request ID and reference to latest request. Dismiss
incoming responses other than from latest request.

Remove timeouts which were used to mitigate racing but are
obsolete now.

Reviewed-by: Jane Doe
Refs: #123
Signed-off-by: Bryan Cox <[email protected]>
Commit-Message-Assisted-by: Claude (via Claude Code)

Quick Checklist

When creating commits:

  • Use conventional commit format: <type>(<scope>): <description>
  • Title under 120 characters
  • Body lines under 140 characters
  • Include Signed-off-by footer
  • Include Commit-Message-Assisted-by: Claude (via Claude Code) footer
  • Validate with make run-gitlint
  • Use "!" or BREAKING CHANGE for breaking changes

Reference

Conventional Commits Specification: https://www.conventionalcommits.org/en/v1.0.0/#specification

When not to use it

  • Projects using non-conventional commit formats
  • Quick local prototypes where history cleanliness is irrelevant

Prerequisites

gitmake

Limitations

  • Does not automate the content of the commit message
  • Strict validation can block commits if requirements are not met

How it compares

Standardizes the history of a project through rigid machine-enforced formatting instead of relying on developer memory.

Compared to similar skills

git-commit-format side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
git-commit-format (this skill)19moNo flagsBeginner
run-nx-generator53moReviewIntermediate
git-commit116moReviewBeginner
morph-search97moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry