From git
Guides git commits with best practices: selective staging via git add, templated messages from scratch dir, 1Password signing fixes, pre-commit autofixes, and git-duet hook cleanup.
How this skill is triggered — by the user, by Claude, or both
Slash command
/git:commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Preferences and best practices for interacting with a git repository.
Preferences and best practices for interacting with a git repository.
ALWAYS use git add with specific files that have been updated. NEVER use git add . or git add -A.
IF adding files that look like they are agent configuration, or adding planning documentation, ALWAYS prompt the user to confirm if they should be included or not.
PREFER writing out a commit message to the scratch/ directory, and save it to a name reflecting what is being commited. Then use use git commit -t scratch/path-to-message.txt
We have git commit signing setup. If it fails due to a message like:
error: 1Password: failed to fill whole buffer
fatal: failed to write commit object
... it is because the user was being prompted to authorize signing, and didn't see it or missed it. Do not try to fix or bypass it. Stop and prompt the user about either fixing it, or confirm bypassing it.
When git precommit checks fail, analyze what the failures are, and try to autofix when possible, otherwise think through how to fix it. Ask the user how to proceed when it's unclear if how to fix.
DO NOT follow sorbet's autocorrection advice. DO NOT skip verification without confirmation from the user.
If we see errors like:
git: 'duet-prepare-commit-msg' is not a git command. See 'git --help'.
it is because we previously were using git-duet. It uses a git template, with hooks that call git duet-prepare-commit-msg. We've sinced moved, but the files will still be present
In this case, check .git/hooks/ for references to these. Remove files that call it.
npx claudepluginhub technicalpickles/pickled-claude-plugins --plugin gitCreates semantic git commits with conventional commit format, stages changes safely, handles pre-commit hooks, and optionally pushes to remote.
Commits working-tree changes using Conventional Commits format. Stages changes in meaningful units, writes messages in English, and avoids agent attribution. Use when explicitly asked to create a real git commit.
Creates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.