commitlisted
Install: claude install-skill chanmuzi/git-claw
## Gather Context
If the current changes are already known from the conversation context (e.g., you just edited the files), skip these commands.
Otherwise, run them to understand the current state:
1. `git status` — check current status and untracked files
2. `git diff HEAD` — review all changes
## Flag Detection
| Flag | Effect |
|------|--------|
| `--amend` | Amend the last commit instead of creating a new one |
Parse `$ARGUMENTS` for flags before proceeding. Natural language equivalents: "amend해줘", "직전 커밋에 합쳐줘", "마지막 커밋 수정" → `--amend`.
## Amend (opt-in only)
> Skip this section if any of the following is true:
> - `--amend` is NOT set
> - The last commit is a merge commit (`git rev-parse --verify HEAD^2 2>/dev/null` succeeds)
When `--amend` is set, amend the last commit with the current changes.
**Step 1 — Check push status:**
```bash
git log @{u}..HEAD --oneline 2>/dev/null
# - Command fails (no upstream): NOT pushed
# - Non-empty output: NOT pushed (unpushed commits exist)
# - Empty output: already pushed → force push required after amend
```
**Step 2 — Execute amend:**
- Stage the relevant files and run `git commit --amend`.
- Use `--no-edit` if the change is a minor fix within the same intent AND the existing message contains no em-dash (—) or en-dash (–). If the existing message contains either, amend with an edited message that replaces them (colon, parentheses, or comma) instead of `--no-edit`.
- Update the commit message if the scope or meaning has