commitlisted
Install: claude install-skill epicsagas/epic-harness
# Commit — Conventional Commits Generator
## When to Trigger
- User wants to commit, save, or check in changes
- User asks to commit after completing a task
- Code changes are ready and user signals completion
## Process
1. **Gather context** — run in parallel:
- `git status` — see what changed
- `git diff HEAD` — see the actual diff
- `git log --oneline -5` — match existing commit style
2. **Determine type**:
| Type | When |
|------|------|
| `feat` | New feature or capability |
| `fix` | Bug fix |
| `refactor` | Code change, no behavior change |
| `docs` | Documentation only |
| `test` | Adding or correcting tests |
| `build` | Build system or dependencies |
| `chore` | Maintenance task |
| `ci` | CI/CD configuration |
| `style` | Formatting, whitespace |
| `perf` | Performance improvement |
3. **Generate message**: `type(scope): description`
- Lowercase type, optional scope
- Imperative mood, no period, under 72 chars
- Breaking changes: append `!` before `:`
- Body only when diff needs extra context (max 3 bullet points)
4. **Stage and commit**:
- `git add <specific files>` — prefer explicit files over `git add -A`
- `git commit -m "type(scope): description"`
- Execute automatically — no confirmation needed
## Anti-Rationalization
| Excuse | Rebuttal | What to do instead |
|--------|----------|-------------------|
| "I'll just use a generic message" | Generic messages make git history useless. | Spe