git-commitlisted
Install: claude install-skill erclx/toolkit
# Git Commit
Before generating a commit message, read from the project root:
- `standards/commit.md`: format, types, scopes, and constraints
- `standards/versioning.md`: phase label vs semver discipline
Follow them exactly.
## Context
Run these commands in parallel to gather git context:
- `git diff --cached --name-status 2>/dev/null || echo "NO_STAGED_CHANGES"`
- `git diff --cached -- . ':(exclude)*.lock' ':(exclude)*-lock.json' 2>/dev/null || echo "NO_DIFF"`
## Guards
- If staged files output is `NO_STAGED_CHANGES`, stop and output:
`❌ No staged changes. Stage files first with git add before committing.`
## Response format
### Preview
- **Files:** <if ≤3 list all, if >3 show first 3 + "+N more">
- **Message:** `<type>(<scope>): <subject>`
- **Length:** <count>/72
After outputting the preview, execute the final command immediately. Claude Code's tool permission dialog is the confirmation gate. Do not wait for user input.
### Final command
```bash
git commit -m "<type>(<scope>): <subject>"
```
## After execution
Respond with exactly one line:
`✅ Committed: <type>(<scope>): <subject>`
Do not add any other text.