Name
openshift-developer:git-commit-format
Synopsis
/openshift-developer:git-commit-format
Description
Applies conventional commit formatting rules when generating commit messages. This skill is loaded as context for other skills and workflows — it defines the commit message format, required footers, and validation rules.
Implementation
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
Required Footers
Signed-off-by
ALWAYS include Signed-off-by footer with name and email.
Get credentials in this priority order:
- Environment variables:
$GIT_AUTHOR_NAMEand$GIT_AUTHOR_EMAIL - Git config:
git config user.nameandgit config user.email - If neither configured, ask user to provide details
Commit-Message-Assisted-by
ALWAYS include when Claude assists with creating or generating the commit message:
Commit-Message-Assisted-by: Claude (via Claude Code)
Gitlint Validation Rules
- Run
make run-gitlintto validate commit messages (if the repo has a gitlint target) - 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
Return Value
- Commit message: A conventional commit message with type, scope, description, body, and all required footers
Examples
Simple commit:
docs: correct spelling of CHANGELOG Signed-off-by: Jane Doe <jdoe@example.com> Commit-Message-Assisted-by: Claude (via Claude Code)With scope:
feat(azure): add workload identity support Signed-off-by: Jane Doe <jdoe@example.com> 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: John Smith Refs: #123 Signed-off-by: Jane Doe <jdoe@example.com> Commit-Message-Assisted-by: Claude (via Claude Code)
Arguments
- None. This skill provides formatting rules as context for other skills and workflows.
Quick Checklist
When creating commits:
- Use conventional commit format:
<type>(<scope>): <description> - Title under 120 characters
- Body lines under 140 characters
- Include
Signed-off-byfooter - Include
Commit-Message-Assisted-by: Claude (via Claude Code)footer - Validate with
make run-gitlintif available - Use "!" or
BREAKING CHANGEfor breaking changes
Reference
Conventional Commits Specification: https://www.conventionalcommits.org/en/v1.0.0/#specification