commit-messagelisted
Install: claude install-skill netopsengineer/axiom
# Commit Message Generation
Read the staged diff, decide every field yourself using the rubrics below, and surface **one** assembled message for a single yes/no confirmation. Don't prompt field-by-field (a GUI extension can afford that; a chat turn can't), and don't short-circuit to a bare `git commit -m "fix stuff"` — if this skill loaded, run the full flow and never bypass hooks.
## Repo defaults
```text
Format: <type>(<scope>): <emoji> <subject>
Emoji style: Unicode glyph (e.g. 🐛 not :bug:)
Scope default: none (include only if the diff points clearly at one)
Co-Authored-By: off (this repo's history doesn't use the trailer)
Body default: skip unless the diff is non-trivial (>~10 lines, multi-file, or non-obvious why)
Footer default: skip; reserve for `BREAKING CHANGE:` or `Closes #N`
Subject limits: warn at >50 chars; hard cap at 72
Hooks: gitleaks runs pre-commit; do not bypass on failure
```
These are bootstrap defaults from this repo's history. In a different repo, re-detect during preflight (Phase 1 step 5) and adjust silently — observed in-repo history wins.
## When to ask the user
Only stop and ask in these cases — otherwise decide and continue:
1. **Nothing staged.** Offer to stage by filename (never `git add -A`/`-u`/`.`).
2. **On `master`, `main`, or detached HEAD.** Offer to create a new branch, move the staged changes there, then resume on that branch. Refuse to commit directly to master/main.
3. **Suspicious staged