What problem does it solve?
This Skill automates the process of cleanly integrating unstaged changes into existing commits on the current branch. It maps each changed file to its most recent commit, creates fixup commits, and enforces validation via build, tests, and lint before squashing changes via an autosquash rebase. It also handles staged/un-staged changes, orphan files, and prompts for user decisions when needed to maintain a clean, linear history.
Core Features & Use Cases
- Map changes to commits: associates modified files with their target commits for seamless fixups.
- Validation before commit: runs build, tests, and lint checks to ensure changes won't break the codebase.
- Autosquash rebase: squashes fixups into target commits to maintain a tidy history.
- Orphan handling: prompts for handling new or unrelated files that aren't tied to existing commits.
- Custom instructions: supports additional user instructions that influence the workflow at each step.
Quick Start
Run the /kramme:fixup-changes command to start the workflow. You can pass optional flags like --base=<branch> to specify the target base branch or --no-confirm to skip prompts.