karanmrn/karanagentskills/squash-commits
Claude Code and agent skill by karanmrn/karanagentskills
- community
Checking that the SKILL.md file is still in the repository.
Reorganize messy branch commits into a small set of logical, meaningful commits without changing any content. Drops merge-from-main commits. Safe: creates a backup branch first.
Install
npx vskill@latest install karanmrn/karanagentskills/squash-commitsSKILL.md
Reorganize the commits on the current branch into a small number of logical commits. Do NOT change any file content — only the commit structure changes.
Instructions
1. Safety check
If there are uncommitted changes, stop and tell the user to commit or stash them first.
2. Inspect the branch
List every file changed vs main and every commit on the branch (excluding merge commits from main).
3. Create a backup branch
Tell the user the backup exists so they can recover if needed.
4. Soft-reset to main and unstage everything
All branch changes are now in the working tree, unstaged. No content has changed.
5. Plan the logical groups
Read the changed files and the original commit messages to understand what the work covers. Group related files into logical commits. Typical groups:
- Core feature or fix (new source files + modified core files)
- Secondary features or fixes (each as its own commit if distinct)
- Refactoring or renames
- Tests
- Changelogs / docs
Use the changelog files (if any) as a strong hint — each changelog entry often maps to one commit.
Present the proposed grouping to the user and ask for confirmation before committing.
6. Commit in logical groups
For each group, stage only the relevant files and commit with a clear message following the project's conventions:
Use conventional commit prefixes if the project uses them (feat:, fix:, refactor:, test:, chore:).
7. Verify
Confirm:
- Commit count is small and each message is meaningful
- The set of changed files vs
mainis identical to before - Working tree is clean
8. Remind about force-push
The branch history has been rewritten. Tell the user they will need to git push --force-with-lease when they are ready to update the remote. Do NOT push automatically.
Rules
- Never change file contents. If you find yourself editing a file, stop.
- Never skip the backup branch step.
- Never force-push without explicit user instruction.
- If any step fails or the result looks wrong, tell the user and suggest restoring from the backup:
git reset --hard backup/<branch-name>.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/squash-commits/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/karanmrn/karanagentskills/squash-commits)