Git Rebase
Use this skill to reimplement the current branch on a new branch with a clean, narrative-quality git commit history suitable for reviewer comprehension.
Steps
-
Validate the source branch
- Ensure no uncommitted changes or merge conflicts
- Confirm it is up to date with
main
-
Analyze the diff
- Study all changes between source branch and
main - Form a clear understanding of the final intended state
- Study all changes between source branch and
-
Create the clean branch
- Create a new branch off of
mainusing the new branch name - Use the
{source_branch}-cleanname unless another name is provided by the user
- Create a new branch off of
-
Plan the commit storyline
- Break the implementation into self-contained logical steps
- Each step should reflect a stage of development, as if writing a tutorial
-
Reimplement the work
- Recreate changes in the clean branch, committing step by step
- Each commit must:
- Introduce a single coherent idea
- Include a clear commit message and description
- Follow best practices for the message as outlined by the
git-commitskill
- Use
git commit --no-verifyfor all intermediate commits- Pre-commit hooks check tests, types, and imports that may not pass until the full implementation is complete; do not waste time fixing issues in intermediate commits that will be resolved by later commits
-
Verify correctness
- Confirm the final state exactly matches the source branch
- Run the final commit without
--no-verifyto ensure all checks pass
Rules
- Do not add yourself as an author or contributor
- Do not include "Generated with ...", "Co-Authored-By: ...", or any AI attribution
- The end state of the clean branch must be identical to the source branch