Skip to content
Back to skills

Remove Claude Commits

ASecurity

Remove Co-Authored-By lines from git history. Use when cleaning Claude Code co-author signatures from commits.

  • 4 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 12, 2026
toolsbashgit

Works with

  • claude code

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill remove-claude-commits --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Remove Claude Commits?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Remove Claude Commits
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-remove-claude-commits/badge)](https://www.skillsdirectory.com/skills/aibot88-remove-claude-commits)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: remove-claude-commits
description: Remove Co-Authored-By lines from git history. Use when cleaning Claude Code co-author signatures from commits.
---

# Remove Co-Authored-By

Strip `Co-Authored-By` trailers from git commit messages using `git-filter-repo`.

## Tool

Location: `~/.local/bin/remove-claude-commits`

Dependencies: `bun`, `git-filter-repo`

## Usage

```bash
remove-claude-commits --dry-run   # preview affected commits
remove-claude-commits             # rewrite history
```

## Flags

- `--dry-run` / `-n` — list affected commits without modifying anything

## Preconditions

- Must be inside a git repository
- Working tree must be clean (no staged or unstaged changes)

## Behavior

1. Scans all branches for commits containing `Co-Authored-By`
2. In dry-run mode, lists affected commits and exits
3. In normal mode, uses `git-filter-repo --message-callback` to strip the lines
4. Reports how many lines were removed

## Side Effects

- `git-filter-repo` removes the `origin` remote after rewriting (safety measure)
- All commit hashes from the first affected commit onward will change
- Rewriting invalidates existing commit signatures
- Requires `git remote add`, re-signing, and `git push --force` after running

## Workflow

1. Ensure working tree is clean
2. Run `remove-claude-commits --dry-run` to preview
3. Note existing tags and their commit messages: `git tag -l | xargs -I{} git log --format="{} %s" -1 {}`
4. Push current state to a backup remote if needed
5. Run `remove-claude-commits`
6. Re-sign all commits: `git rebase --root --exec 'git commit --amend --no-edit -S'`
7. Re-tag: for each tag, find the new commit by message and `git tag -f -s <tag> <new-hash>`
8. Re-add remote: `git remote add origin <url>`
9. Fetch remote: `git fetch origin`
10. Diff local against remote: `git diff origin/main..HEAD --stat` to verify only commit messages changed (no file diffs)
11. If branch is protected, temporarily remove protection: `codeberg-settings unprotect <branch>`
12. Propose force push to the user: `git push --force`
13. Force push tags: `git push --force --tags`
14. Re-apply branch protection: `codeberg-settings apply`

Files in this skill

  • SKILL.md2.1 KB
  • source.json647 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.