skills/commit/SKILL.md
Semantic commit format and pre-commit checks
npx skillsauth add athal7/dotfiles commitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before reading further, confirm in this session you have:
If any of those is missing, stop now and verify first. A 30-day audit found 60% of commit-time sessions skipped this step despite the precondition being declared. The pattern is the agent skipping past preamble — this gate exists to interrupt that. Do not draft the commit message, do not run git add, do not continue past this section until verification has happened.
Run automatically without asking. Set the bash tool's workdir to the repo root rather than passing git -C <path>. Permission patterns like git push * match parsed argv starting with git push; git -C <path> push injects flags between git and the subcommand and bypasses those patterns silently.
git add -A.git check-ignore <files>. Do NOT stage files in ~/.config/git/ignore (e.g. .talismanrc).Co-Authored-By trailer naming the model used (e.g. anthropic/claude-sonnet-4-6):
Co-Authored-By: anthropic/claude-sonnet-4-6 <[email protected]>
type(scope): description
| Type | When |
|------|------|
| feat | New feature or capability |
| fix | Bug fix |
| refactor | Code change that neither fixes nor adds |
| docs | Documentation only |
| test | Adding or updating tests |
| chore | Build, CI, dependencies, tooling |
Scope — component/area (fix(auth): ...). Semantic, not ticket numbers.
Description — lowercase, no trailing period, imperative ("add" not "added"), focus on why, under 72 characters.
feat(auth): add password reset flow
fix(auth): prevent token refresh race condition
refactor(api): extract validation middleware
chore(deps): bump lodash to 4.17.21
Before first push: squash related commits — multiple feature attempts → single feat, fix+test for same issue → single fix. Keep unrelated changes separate.
After review feedback: add new commits, don't rewrite history. Each round gets its own commit(s) with an appropriate type (e.g. fix(auth): address review — validate token expiry). Never force-push pushed commits — reviewers lose context. Squashing at merge happens via the platform's squash-and-merge.
development
Zoom meeting captions — file locations and format
tools
macOS dictation custom vocabulary — sync knowledge base names and terms to the system spelling dictionary
testing
Look up people, projects, products, and decisions locally first: contact info (email, Slack ID, GitHub handle), titles and teams, project/product status, who works on what, and past decisions. Check before searching Slack, email, calendar, or GitHub — this is the first stop for any contact detail, project context, or decision-history question.
testing
Communication style, audience awareness, and AI-authorship markers for human-facing prose — load when composing chat messages, review comments, merge request descriptions, emails, doc bodies, or ticket descriptions