git-commit-trailers

Structured key-value metadata at the end of commit messages. Trailers drive release-please automation, attribution, and issue linking.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "git-commit-trailers" with this command: npx skills add laurigates/claude-plugins/laurigates-claude-plugins-git-commit-trailers

Git Commit Trailers

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.

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:

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:

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

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

git-commit-workflow

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

git-branch-pr-workflow

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

workflow-checkpoint-refactor

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

finops-workflows

No summary provided by upstream source.

Repository SourceNeeds Review