name: git-operator description: Rules and procedures for Git operations (add, branch, commit, push). Use when performing git add, git commit, git push, or creating branches.
Git 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.
-
git rebaseoperations that rewrite history -
git reset --hardoperations that erase history - 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
-
feat: New feature -
fix: Bug fix -
docs: Documentation only changes -
style: Changes that do not affect the meaning of the code -
refactor: Code changes that neither fix a bug nor add a feature -
perf: Code changes that improve performance -
test: Adding or modifying tests -
build: Changes that affect the build system or external dependencies -
ci: Changes to CI configuration files or scripts -
chore: Other changes (not modifying src or test)
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
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!