Back to Skills

git-amend

verified

Safely amend commits with HEAD verification and push checks

View on GitHub

Marketplace

claude-code-cat

cowwoc/claude-code-cat

Plugin

cat

Repository

cowwoc/claude-code-cat
11stars

plugin/skills/git-amend/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/cowwoc/claude-code-cat/blob/main/plugin/skills/git-amend/SKILL.md -a claude-code --skill git-amend

Installation paths:

Claude
.claude/skills/git-amend/
Powered by add-skill CLI

Instructions

# Git Amend Skill

**Purpose**: Safely amend the most recent commit with proper verification checks.

## Safety Rules

### Only Amend When ALL Conditions Are Met

1. **HEAD commit was created by you** in this session
2. **Commit has NOT been pushed** to remote
3. **You intend to modify HEAD** (not an earlier commit)

```bash
# Check if pushed:
git status
# Look for: "Your branch is ahead of 'origin/main' by X commits"
# "up to date" = already pushed (amending creates divergent history)
```

## Quick Workflow

```bash
# 1. Verify HEAD is the commit you want to amend
git log --oneline -1

# 2. Verify not pushed to remote
git status  # Must show "ahead of origin"

# 3. Make your changes (edit files, stage new files)
git add <files>

# 4. Amend the commit
git commit --amend

# Or with new message:
git commit --amend -m "New message"

# Or keep same message:
git commit --amend --no-edit
```

## Common Use Cases

### Fix a typo in the last commit
```bash
# Edit the file
vim file.txt

# Stage and amend
git add file.txt
git commit --amend --no-edit
```

### Add forgotten file to last commit
```bash
git add forgotten-file.txt
git commit --amend --no-edit
```

### Change commit message only
```bash
git commit --amend -m "Better commit message"
```

## Dangerous Situations

```bash
# Only amend unpushed commits
git push origin main
git commit --amend  # Creates divergent history!

# Only amend your own commits
git pull  # Pulls teammate's commit
git commit --amend  # Rewrites their work!

# If you must amend after push (with explicit permission):
git commit --amend
git push --force-with-lease  # Safer than --force
```

## Amending Earlier Commits

To modify a commit that's NOT at HEAD, use interactive rebase:

```bash
# 1. Start interactive rebase
git rebase -i <commit>^  # Parent of commit to edit

# 2. Change 'pick' to 'edit' for the target commit

# 3. Make changes when rebase stops
git add <files>
git commit --amend

# 4. Continue rebase
git rebase --continue
```

## Error

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2333 chars