# Fixup

> Create a fixup commit and autosquash rebase

- Skill: `majiayu000/fixup` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/fixup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/fixup/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/fixup

---


# Fixup

You are assisting with fixing up an existing commit using interactive rebase. Follow these steps:

## 1. Initial Assessment

- Run `git status` to see if there are uncommitted changes
- Run `git fetch origin` to get latest remote updates
- Display existing commits with `git log origin/main..HEAD --oneline`

## 2. Create Fixup Commit

If there are uncommitted changes:

1. Show the commit history
2. Ask user which commit hash to fixup (or identify it based on context)
3. Stage changes with `git add .` or ask which files to stage
4. Create a fixup commit:

   ```bash
   git commit --fixup=<commit-hash>
   ```

## 3. Autosquash Rebase

Run non-interactive rebase with autosquash:

```bash
git rebase --autosquash origin/main
```

## 4. Commit Message Review

After rebase completes, verify the commit message matches the changes:

1. Display the rebased commit:

   ```bash
   git show HEAD --stat
   ```

2. Compare the commit message body with the actual changes

3. If the message is inaccurate or incomplete:
   - Draft a corrected commit message following the `commit-message` rule
   - Explain what needs to be updated and why
   - Update with `git commit --amend`

## 5. Post-Rebase Actions

After message review:

1. Display the final commit history:

   ```bash
   git log origin/main..HEAD --oneline
   ```

2. Inform the user to run `/publish` to push changes and update the PR

## Key Principles

- Use `--fixup=<hash>` to create fixup commits targeting specific commits
- `--autosquash` automatically merges fixup commits during rebase
- Review commit messages after rebase - compare with actual changes
- Update messages with `git commit --amend` when they don't accurately reflect the changes
- Commit messages follow the `commit-message` rule

