commitlisted
Install: claude install-skill Saturate/agents
# Commit
## Progress Checklist
- [ ] Read the diff (staged changes only)
- [ ] Detect project commit conventions
- [ ] Auto-detect scope from changed files
- [ ] Scan diff for secrets
- [ ] Link work items if detectable
- [ ] Write message and commit
## Step 0: Detect Project Conventions
Check for existing conventions before assuming Conventional Commits:
```bash
# Check for commitlint config
ls .commitlintrc* commitlint.config.* 2>/dev/null
# Check recent commit history for patterns
git log --oneline -20
```
- If commitlint or similar config exists, follow that format
- If history shows Conventional Commits (`feat:`, `fix:`, etc.), use that
- If history shows a different pattern, match it
- Default: Conventional Commits (`type(scope): description`)
## Step 1: Read the Diff
Only look at what's actually being committed. Not the conversation, not the session history.
```bash
git diff --cached --stat # Overview of changes
git diff --cached # Full diff
```
If nothing is staged, check `git status` and suggest what to stage.
## Step 2: Auto-Detect Scope
Determine scope from the changed files:
- If all changes are in one directory/component, use that as scope: `feat(auth): ...`
- If changes span multiple areas, use the primary area or omit scope: `feat: ...`
- Common scopes: component name, package name, service name, directory name
## Step 3: Secret Scanning
Before committing, scan the diff for secrets:
```bash
git diff --cached | grep -iE '(api[_-]?ke