Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

rewrite-history

verified

Rewrite branch into clean, narrative-quality commits. Creates backup, reimplements on fresh branch, verifies byte-identical, then replaces original branch history.

View on GitHub

Marketplace

claude-code-plugins-marketplace

doodledood/claude-code-plugins

Plugin

vibe-extras

development

Repository

doodledood/claude-code-plugins
9stars

claude-plugins/vibe-extras/skills/rewrite-history/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/doodledood/claude-code-plugins/blob/main/claude-plugins/vibe-extras/skills/rewrite-history/SKILL.md -a claude-code --skill rewrite-history

Installation paths:

Claude
.claude/skills/rewrite-history/
Powered by add-skill CLI

Instructions

Rewrite the current branch's history into clean, narrative-quality commits suitable for code review.

## Goal

Transform messy development history into a logical story reviewers can follow commit-by-commit. Original branch is rewritten; backup preserved for rollback.

## Arguments

`$ARGUMENTS` = optional flags (`--auto` skips interactive approval)

## Preconditions

Abort with clear error if:

- On main/master branch
- Uncommitted changes exist
- No commits to rewrite (branch matches main)

## Execution

1. **Create backup branch**: `{branch}-backup-{timestamp}` — permanent until manually deleted
2. **Analyze the diff** between current branch and main—understand the complete change set
3. **Create temp branch** from main for clean reimplementation
4. **Plan the narrative**—structure changes into logical, self-contained commits (foundations → features → polish)
5. **Reimplement** by recreating changes commit-by-commit with conventional commit messages; use `--no-verify` for intermediate commits
6. **Verify byte-identical**: `git diff {original-branch}` MUST be empty—abort if any difference
7. **Replace original branch**: point original branch to clean history (final commit runs hooks normally)
8. **Offer to push** with `--force-with-lease`

## Verification Requirement

The byte-identical check is non-negotiable. If `git diff {backup-branch}` shows ANY difference after reimplementation:

- Abort immediately
- Report exactly what differs
- Leave backup branch intact for recovery

## Constraints

- Analyze the complete diff only—ignore original commit history
- One concern per commit—atomic, independently revertible
- Conventional commit messages: `type(scope): description`
- Never add "Co-Authored-By" or "Generated with Claude Code"
- Always use `--force-with-lease` for push (never `--force`)

## Interactive Mode

Unless `$ARGUMENTS` contains `--auto`:

- Present proposed commit plan before execution
- Allow adjustment or cancellation

## Rollback

If anything goes wr

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2107 chars