The Meowgorithm Dotfiles, Collectors’ Edition
name: commit description: Stage and commit changes with a Conventional Commits message. Invoke with /commit "optional scope hint". Inspects the diff, picks an appropriate type and scope, writes a concise message, and commits. Does not push. user-invocable: true disable-model-invocation: true allowed-tools: Bash(git status:), Bash(git diff:), Bash(git add:), Bash(git commit:), Bash(git log:*) argument-hint: "[optional scope or context]"
/commit
Stage everything currently modified and untracked, then commit with a Conventional Commits message inferred from the diff.
Workflow
- Run
git statusandgit diff --staged(plusgit difffor unstaged) to see what's actually changing. If nothing is changing, stop and say so. - Read
git log -10 --onelineto match the repo's existing commit style — some repos usefeat(bubbles): ..., others usebubbles: ..., others use sentence case. Match what's there, don't impose Conventional Commits if the repo doesn't use it. - Pick a type:
feat,fix,refactor,docs,test,chore,perf,build,ci,style,revert. If$ARGUMENTSis non-empty, treat it as a scope or context hint, not as the full message. - Write a subject line ≤ 72 chars, imperative mood ("add", not "added"). If the change is non-obvious, add a body paragraph explaining the why — not the what (the diff already shows the what).
git add -Athengit commit -m "...". Show the resultinggit log -1and stop. Do not push.
Rules
- One commit per invocation. If the diff spans unrelated changes, stop and tell the user to stage selectively instead of guessing.
- Never amend, force, or rewrite history from this skill — those are separate, dangerous operations and belong in their own skill.
- Never add Claude as co-author or include "Generated by" footers unless the repo's existing log shows that pattern.
- If pre-commit hooks fail, surface the failure and stop. Don't
--no-verify.
Examples
/commit on a diff that touches internal/tui/textarea/buffer.go: →
feat(textarea): add gap buffer backing store
/commit "rollback" on a diff that reverts a flag default: →
revert: restore default --color=auto behavior