git-commit-trailers
/git-commit-trailers
Git commit trailer conventions — BREAKING CHANGE, Co-authored-by, Signed-off-by. Use when composing messages with trailers or parsing via git interpret-trailers.
- Author
- laurigates ↗
- Repository
- claude-plugins ↗
- Licence
- MIT
- Last repository change
- 24.10.2026
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 24.10.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
Git commit trailer conventions — BREAKING CHANGE, Co-authored-by, Signed-off-by. Use when composing messages with trailers or parsing via git interpret-trailers.
Original author description
Git commit trailer conventions — BREAKING CHANGE, Co-authored-by, Signed-off-by. Use when composing messages with trailers or parsing via git interpret-trailers.
How it works
- When to Use This Skill
- When to Use
- Release-Please Trailers
- Attribution Trailers
- Decision Tree
- Detecting Project Conventions
- Composing Trailers with git interpret-trailers
- Agentic Optimizations
SKILL.md preview
--- created: 2026-03-05 modified: 2026-05-09 reviewed: 2026-04-25 name: git-commit-trailers description: "Git commit trailer conventions — BREAKING CHANGE, Co-authored-by, Signed-off-by. Use when composing messages with trailers or parsing via git interpret-trailers." user-invocable: false allowed-tools: Bash(git interpret-trailers *), Bash(git log *), Bash(git config *), Read, Grep, Glob --- # Git Commit Trailers ## When to Use This Skill | Use this skill when... | Use the alternative when... | |---|---| | Adding `BREAKING CHANGE:`, `Release-As:`, `Co-authored-by:`, or `Signed-off-by:` trailers | Use `git-commit-workflow` for the type/scope/subject portion of the message | | Driving release-please version bumps via trailer metadata | Use `release-please-configuration` to set up the manifest and changelog rules | | Parsing or programmatically adding trailers via `git interpret-trailers` | Use `github-issue-autodetect` to insert `Fixes #N` / `Closes #N` references | | Auditing existing commits for missing or malformed trailer keys | Use `git-commit-push-pr` for the end-to-end commit-to-PR macro | Structured key-value metadata at the end of commit messages. Trailers drive release-please automation, attribution, and issue linking. ## When to Use | Need | Skill | |------|-------| | Trailer lines in commits (this skill) | **git-commit-trailers** | | Commit message format (type/scope/subject) | **git-commit-workflow** | | Issue reference keywords (Fixes/Closes/Refs) | **github-issue-autodetect** | | Release-please config setup | **release-please-configuration** | ## Release-Please Trailers These trailers directly control version bumps and changelog generation. ### BREAKING CHANGE Triggers a **major** version bump. Both forms are recognized: ``` feat(api)!: redesign authentication endpoints BREAKING CHANGE: /v1/users endpoint removed. Use /v2/users instead. ``` | Approach | Example | When to Use | |----------|---------|-------------| | `!` suffix | `feat(api)!: remove endpoint` | Short, self-evident breaks | | Footer trailer | `BREAKING CHANGE: detailed explanation` | Needs migration context | | Both | `feat!:` subject + `BREAKING CHANGE:` footer | Maximum clarity | Both `BREAKING CHANGE:` and `BREAKING-CHANGE:` (hyphenated) are recognized. ### Release-As Force a specific version in the next release. Case-insensitive. ```bash git commit --allow-empty -m "chore: release 2.0.0" -m "Release-As: 2.0.0" ``` | Use Case | Example | |----------|---------| | Initial 1.0.0 from 0.x | `Release-As: 1.0.0` | | Calendar versioning | `Release-As: 2026.03.0` | | Skip version numbers | `Release-As: 3.0.0` | ### Multiple Changes in One Commit A single commit can produce multiple changelog entries via footer messages: ``` feat: add v4 UUID to crypto This adds support for v4 UUIDs to the library. fix(utils): unicode no longer throws exception BREAKING-CHANGE: encode method no longer throws. feat(utils): update encode to support unicode ``` Additional conventional commit messages must be at the **bottom** of the commit body. ### BEGIN_COMMIT_OVERRIDE Edit a **merged** PR body to override its changelog entry. Only works with squash-merge. ``` BEGIN_COMMIT_OVERRIDE feat: add ability to override merged commit message fix: correct typo in error message END_COMMIT_OVERRIDE ``` Use when a commit message needs correction after merge without reverting. ## Attribution Trailers | Trailer | Format | When to Use | |---------|--------|-------------| | `Co-authored-by` | `Name <email>` | Pair programming, AI-assisted work | | `Signed-off-by` | `Name <email>` | DCO compliance (Linux kernel, CNCF projects) | | `Reviewed-by` | `Name <email>` | Code review attribution | | `Tested-by` | `Name <email>` | Test verification | | `Acked-by` | `Name <email>` | Acknowledgment without full review | Issue references (`Fixes #N`, `Closes #N`, `Refs #N`) are also trailers — see **github-issue-autodetect** skill. ## Decision Tree ``` What trailers does this commit need? ├─ Breaking API change? → BREAKING CHANGE: <description> ├─ Force specific version? → Release-As: x.x.x ├─ AI-assisted code? → Co-authored-by: Claude <noreply@anthropic.com> ├─ DCO-required project? → Signed-off-by: Name <email> ├─ Fixes/closes an issue? → See github-issue-autodetect └─ None of the above → No trailers needed ``` **Detect DCO requirement:** ```bash git log -20 --format='%B' | git interpret-trailers --parse | grep -c "Signed-off-by" ``` ## Detecting Project Conventions Scan recent commits to discover what trailers a project uses: ```bash # Parse all trailers from recent commits git log -20 --format='%B' | git interpret-trailers --parse # List unique trailer types git log -20 --format='%B' | git interpret-trailers --parse | sort -u -t: -k1,1 # Count trailer usage git log -50 --format='%B' | git interpret-trailers --parse | cut -d: -f1 | sort | uniq -c | sort -rn ``` Always match existing project conventions before adding new trailer types. ## Composing Trailers with `git interpret-trailers` ```bash # Add a trailer to a message echo "feat(auth): add OAuth2" | git interpret-trailers \ --trailer "Co-authored-by: Claude <noreply@anthropic.com>" # Add multiple trailers echo "feat(auth): add OAuth2" | git interpret-trailers \ --trailer "Co-authored-by: Claude <noreply@anthropic.com>" \ --trailer "Signed-off-by: Dev <dev@example.com>" # Parse trailers from last commit git log -1 --format='%B' | git interpret-trailers --parse ``` ## Agentic Optimizations | Context | Command | |---------|---------| | Parse last commit trailers | `git log -1 --format='%B' \| git interpret-trailers --parse` | | Check DCO convention | `git log -20 --format='%B' \| git interpret-trailers --parse \| grep -c Signed-off-by` | | Detect trailer patterns | `git log -20 --format='%B' \| git interpret-trailers --parse \| sort -u -t: -k1,1` | | Count trailer usage | `git log -50 --format='%B' \| git interpret-trailers --parse \| cut -d: -f1 \| sort \| uniq -c \| sort -rn` |
Versions
The database has no other skills named git-commit-trailers.
Database snapshot: 13.11.2026 · package version 97341b7edc0c (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100commit-with-costs
Create a git commit with trailers for session cost metrics and Claude attribution. Use when the user asks you to commit changes to git. - 100conventional-commit
Write git commit messages following the Conventional Commits v1.0.0 specification. ALWAYS use this skill when committing code changes, writing commit messages, reviewing or validating commit message format — even when the user simply asks to "commit this" or "write a commit… - 100git-practices
Git conventions for branches, commits, and pull requests. Load this skill whenever creating branches, writing commit messages, or opening PRs. Trigger on any git workflow operation — commits, branches, pull requests, or merge operations. - 100git-commit-format
Apply conventional commit formatting rules. Use when generating commit messages or creating commits. - 100commit-style
This skill should be used when writing git commit messages, creating git commits, composing pull request titles and descriptions, or when the user asks to "commit", "git commit", "write commit message", "pull request", or "PR description". Provides conventions for subject lines,… - 100odoo-git
Odoo's git conventions: commit message format ([TAG] scope: header, a why-first body, reference trailers), which branch a change targets, branch naming, and pull request hygiene. Use when writing or amending a commit message, choosing the branch a fix or feature goes to, or…