Rebase Commit Skill
SkillDev toolsRebase all non-pushed commits and uncommitted changes into clean logical feature commits.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Rebase Commit Skill skill
What this skill tells your AI
The instructions your AI receives, as published by jvm-skills/jvm-skills in .junie/skills/rebase-commit/SKILL.md and read by ahel’s review.
Rebase all non-pushed commits and uncommitted changes into clean logical feature commits.
Steps
- Run
git statusandgit diff(staged + unstaged) to understand uncommitted changes - Find the remote tracking branch and list non-pushed commits:
git log @{upstream}..HEAD --oneline(if no upstream, fall back to the default branch — checkreferences/project.mdfor the base branch name; defaults toorigin/main) - Read the diffs of all non-pushed commits:
git diff <last-pushed-commit>..HEAD - Combine non-pushed commits + uncommitted changes: analyze all changes and group by logical feature/intent.
Vertical-slice rule: preserve vertical slices (feature + tests in one commit). If the original commits represent incremental phases/slices of a feature (e.g. "user registration", "profile page", "settings"), keep them as separate commits — do NOT merge them into one giant feature commit. Each slice should be independently reviewable with its own tests. Only merge commits that touch the same slice (e.g. a phase commit + its bugfix later). If a bugfix commit touches multiple slices, split its hunks across the relevant slice commits using
git add -p. Infra/tooling grouping: non-feature commits (tooling, config, skills, CI) CAN be grouped by concern since they don't follow the vertical-slice pattern. git reset --soft <last-pushed-commit>to unstage everything back to the last pushed state- Stage any previously uncommitted files too (
git addrelevant files) - For each logical group, stage only the files belonging to that group and commit using a HEREDOC with a concise, action-oriented message (e.g. "Add X", "Fix Y", "Refactor Z"). No conventional commit prefixes. Append:
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> - Repeat step 7 until all changes are committed
- Run
git log @{upstream}..HEAD --oneline(or<base-branch>..HEAD) to show final commit list - Report the resulting commits
Project Customization
Read references/project.md in this skill's directory if it exists. It provides project-specific context:
- Base branch name (e.g.
main,master,stage,develop) for fallback when no upstream is set - Any other project-specific patterns
Signals
- GitHub stars
- 138
- Forks
- 26
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
rebase-commit- Source
- github.com/jvm-skills/jvm-skills