Claude-skill-registry git-operator
Rules and procedures for Git operations (add, branch, commit, push). Use when performing git add, git commit, git push, or creating branches.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/git-operator" ~/.claude/skills/majiayu000-claude-skill-registry-git-operator && rm -rf "$T"
skills/data/git-operator/SKILL.mdGit Operator
This skill defines rules and procedures for Git operations.
Prohibited Operations
The following operations must never be performed.
git commit --amend
Do not modify commits once created. Address issues with new commits.
# Prohibited git commit --amend git commit --amend -m "..."
git push --force
Force push is prohibited.
# Prohibited git push --force git push -f git push --force-with-lease
Other History-Rewriting Operations
The following operations are also prohibited.
operations that rewrite historygit rebase
operations that erase historygit reset --hard- Any other operations that modify pushed commits
These operations rewrite Git history and cause problems in collaborative work: other developers' work may be lost, history integrity may be compromised, and merge conflicts become more likely.
Once a commit is pushed, fix issues with new commits instead of modifying history.
Staging
Stage only task-related files. Do not use
git add . or git add -A without explicit confirmation.
git status # Run this first git add <file> # Stage specific files
Before staging, verify:
- No secrets (.env, credentials.json, API keys)
- No unrelated changes included
Branch Creation
Branch names must be in kebab-case.
Good:
add-user-authentication, fix-login-bug, update-readme
Bad: addUserAuthentication, Add_User_Auth, ADD-USER-AUTH
git switch -c <branch-name>
Commit
Follow Conventional Commits format.
<type>(<scope>): <description> [optional body]
Types
: New featurefeat
: Bug fixfix
: Documentation only changesdocs
: Changes that do not affect the meaning of the codestyle
: Code changes that neither fix a bug nor add a featurerefactor
: Code changes that improve performanceperf
: Adding or modifying teststest
: Changes that affect the build system or external dependenciesbuild
: Changes to CI configuration files or scriptsci
: Other changes (not modifying src or test)chore
Procedure
Analyse staged changes to create a message focusing on "why" rather than "what".
git diff --cached # Review staged changes git commit -m "<type>(<scope>): <description>"
Good example:
fix(auth): prevent session timeout on mobile Users reported being logged out after 5 minutes on mobile. Root cause was incorrect token refresh interval.
Bad example:
fixed bug
For multi-line messages, use HEREDOC:
git commit -m "$(cat <<'EOF' <type>(<scope>): <description> <body> EOF )"
Push
Pre-push Verification
Run these commands before pushing:
git log --oneline -5 # Verify recent commits git branch -vv # Verify current branch and tracking git status # Ensure working directory is clean
Proceed only after reviewing the output.
Procedure
For new branches:
git push -u origin <branch-name>
For existing remote tracking branches:
git push