Git Safety
DevOps & Securitygit-safetyGit Safety is an Agent Skill for devops & security published in the redis/RedisInsight repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Critical safety guardrails for protected branches: never commit, push, or force-push directly to main, latest, or release branches; no destructive history rewrites without explicit user approval. Use before any git operation that touches protected branches, before force-push, reset --hard, history rewrite, or branch deletion, or whenever the user asks about merging, pushing, or release branches.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/redis/RedisInsight/blob/HEAD/.ai/skills/git-safety/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/git-safety, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Git Safety Rules for AI Agents
🚫 CRITICAL: Protected Branch Rules
AI agents must NEVER commit to or push to protected branches under any circumstances.
Protected Branches
main- Primary production branchlatest- Latest stable releaserelease/*- Release branches (e.g.,release/v2.0.0)
This is a non-negotiable rule that applies to all scenarios:
Prohibited Actions
- ❌ Direct commits - Never run
git commitwhile on a protected branch - ❌ Direct pushes - Never run
git push origin <protected-branch>orgit pushwhile on a protected branch - ❌ Force pushes - Never run
git push --forceorgit push -ftargeting protected branches - ❌ Merging into protected branches locally - Never run
git merge <branch>while on a protected branch - ❌ Rebasing protected branches - Never run
git rebasewhile on a protected branch - ❌ Resetting protected branches - Never run
git resetwhile on a protected branch
Required Workflow
- Always create a feature branch before making any changes
- Verify current branch before any git operation using
git branch --show-current - Create Pull Requests for all changes - let the review process handle merging
Pre-Push Checklist
Before executing any push command, AI agents must:
- ✅ Confirm current branch is NOT a protected branch (
main,latest,release/*) - ✅ Verify the remote and branch target
Error Recovery
If accidentally on a protected branch with uncommitted changes:
- Stash changes:
git stash - Create new branch:
git checkout -b <appropriate-branch-name> - Apply changes:
git stash pop - Continue work on the new branch
Rationale
- Protected branches represent production-ready or release code
- All changes must go through code review via Pull Requests
- Direct pushes bypass CI/CD checks and team review
- Mistakes on protected branches can affect the entire team and deployment pipeline