gcmlisted
Install: claude install-skill usrrname/agent-skills
Generate a conventional commit message.
## Process
1. Run `git log --oneline -10` and match the existing commit style.
2. Run `git diff --cached` for staged changes and `git diff` for unstaged changes. If both exist, use both.
3. If the changes span multiple concerns, offer one commit per concern (stage/commit each on approval).
4. Generate the commit message following the rules below.
## Commit-message rules
Format: `<type>(<scope>): <subject>`
- **Type** — `feat`, `fix`, `chore`, `docs`, `style`, `refactor`, `test`, or `perf`. Renames and file reorganization → `refactor`.
- **Scope** — the area the change affects (e.g. `nixos`, `nvim`, `claude`, `hosts`). Omit when the change is global or the scope is unclear.
- **Subject** — imperative mood, ≤ 50 chars, no trailing period.
- **Body** — present tense; explain what and why. Omit for trivial one-liners. Wrap at 72 chars; keep to 3-5 lines or under 400 chars.
- **Breaking changes** — add `!` after the scope and a `BREAKING CHANGE:` footer.
## Additional context
$@