commitlisted
Install: claude install-skill rvanbaalen/skills
# Commit Changes
Commit the current changes using micro commits with conventional commit messages.
## Mode Selection (MUST be first — no git commands before this)
**Do NOT run any git commands, read any files, or spawn any agents before the mode is selected.** The very first action in this skill is always mode selection — nothing else.
Check `$ARGUMENTS` first:
- If `$ARGUMENTS` is `i` → use **Interactive** mode
- If `$ARGUMENTS` is `ni` → use **Non-interactive** mode
- Otherwise, use `AskUserQuestion` to ask the user:
**Question:** "How would you like to commit?"
**Options:**
- **Interactive** — propose each commit for approval
- **Non-interactive** — commit in the background (you can keep working)
## Session-scoping (runs in BOTH modes, before anything else)
The point of this skill is to commit *the work we just did together*, not whatever else happens to be dirty in the working tree (a half-edited file from before the session, a stray local config tweak, etc.). Always scope to session-touched files first, then explicitly opt extras in.
Do this in the parent conversation **before** dispatching any background agent — the parent is the only one with the session context needed to know which files were touched.
### 1. Build the session-touched set
From the current conversation, list every file path that was modified in this session via:
- `Edit`, `Write`, `NotebookEdit` tool calls
- `Bash` commands that wrote to files (e.g., `mv`, `cp` into a tracked path, code gene