commit-craftlisted
Install: claude install-skill Hahaknight/claude-skills-pro
# Commit Craft — Professional Git Commits
## Workflow
1. **Inspect before writing**:
- `git status` (or `git status --staged`) — know exactly what's changing
- `git diff --staged` (or stage explicitly first; if nothing staged, propose a grouping of the working tree changes and confirm)
- `git log --oneline -10` — match the repo's existing commit style (some repos don't use conventional commits; follow the local convention over this skill's default)
2. **Split before committing.** If the staged set mixes unrelated concerns (feature + refactor + formatting + lockfile noise), propose separate commits. Never batch a refactor into a feature commit.
3. **Pre-commit safety sweep** (always):
- Secrets: scan the diff for `AKIA`, `sk-`, `ghp_`, `Bearer `, `.pem`, passwords, private keys, connection strings with credentials. If found anywhere → STOP, unstage, tell the user.
- Large files or binary blobs added >1MB → flag.
- `.env`, `node_modules`, build output, editor dirs → must not be committed; if the repo lacks .gitignore rules, add them in the same commit.
4. **Write the message** (conventional commits default):
- `<type>(<scope>): <imperative summary ≤72 chars, lowercase>`
- Types: feat / fix / refactor / perf / test / docs / chore / build / ci
- Body (wrap at 100): what + **why** — the reasoning, trade-offs, links to issues. The diff already says what changed line-by-line; the message says the intent.
- `BREAKING CHANGE:` footer when APIs/config/be