Git proxy
Safe git operations — commits, pushes, branches, merges, and rebases with safety constraints enforced.From its SKILL.md
npx -y skills add bmaltais/skills --skill git-proxyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.6 KB, 558 tokens by cl100k_base, as published. Nobody here has run it
Git Proxy — all git operations with a safety net
Handle git operations consistently. The fences (constraints above) are
enforced by the pre_tool_call hook; this file tells the agent what good
behavior looks like within those fences.
Commit
- Stage specific files, not
git add -A(avoids capturing secrets). - Write messages that explain why, not what.
- Reference the task or issue if one exists.
Push
- Pull before you commit to any shared repo (including skills repos like
~/.copilot/skills,~/.claude/skills,~/.hermes/skills). Rungit pull --rebasefirst; if it fails due to unstaged changes, stash first (git stash && git pull --rebase && git stash pop). A push rejection after a commit is much harder to recover from than a pre-commit pull. - Run tests first. If tests aren't present, say so explicitly.
- Never force-push to a protected branch. The pre-call hook will block this even if you try.
- Prefer
--force-with-leaseover--forceon feature branches.
Diverged branch recovery
When a push is rejected because local and remote have diverged:
- Check what you have:
git log --oneline origin/HEAD..HEAD(your commits) andgit log --oneline HEAD..origin/HEAD(remote-only commits). - If your commits are small and isolated, prefer rebase:
git fetch origin && git rebase origin/main. Resolve conflicts, then push. - Do NOT use
git reset --hard origin/mainto "start over" — if your commits added new tracked files, the hard reset will delete them from the working tree. Usegit stash(or copy the files elsewhere) before any hard reset if you need to keep new files. - After a successful rebase/merge, push normally.
Branch / merge / rebase
- Rebase feature branches on
mainbefore opening a PR. - Resolve conflicts manually; do not
-X theirsor-X ourswithout thinking. - Merge via PR with review, not directly on the command line.
Self-rewrite hook
After every 5 uses, re-read KNOWLEDGE.md and the last 10 git-proxy
episodic entries. If a new failure mode has appeared, append a heuristic
to KNOWLEDGE.md. If a constraint was violated, escalate to LESSONS.md.
What ships with it: 1 file
418 B alongside SKILL.md
- KNOWLEDGE.md418 B