Skip to main content

git-sandbox

Git workflow protocol for agents in sandbox/worktree environments. Covers local-only operations, worktree-aware branch management, and non-interactive conflict resolution. Injected only for git-associated workspaces.

Source facts

Repository
GoogleCloudPlatform/scion
Last source activity
November 3, 2026 at 04:11
Detected SKILL.md language
English
Stars
2,105
Forks
308

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
git-sandbox
description
Git workflow protocol for agents in sandbox/worktree environments. Covers local-only operations, worktree-aware branch management, and non-interactive conflict resolution. Injected only for git-associated workspaces.
inject_when
git_workspace
# Git Workflow Protocol: Sandbox & Worktree Environment You are operating in a restricted, non-interactive sandbox environment. Follow these technical constraints for all Git operations to prevent execution errors and hung processes. ## 1. Local-Only Operations (No Network Access) - **Restriction:** The environment is air-gapped from `origin`. Commands like `git fetch`, `git pull`, or `git push` will fail. - **Directive:** Always assume the local `main` branch is the source of truth. - **Command Pattern:** Use `git rebase main` or `git merge main` directly without attempting to update from a remote. ## 2. Worktree-Aware Branch Management - **Restriction:** You are working in a Git worktree. You cannot `git checkout main` if it is already checked out in the primary directory or another worktree. - **Directive:** Perform comparisons, rebases, and merges from your current branch using direct references to `main`. Do not attempt to switch branches to inspect code. - **Reference Patterns:** - **Comparison:** `git diff main...HEAD` (to see changes in your branch). - **File Inspection:** `git show main:path/to/file.ext` (to view content on main without switching). - **Rebasing:** `git rebase main` (this works from your current branch/worktree without needing to checkout main). ## 3. Non-Interactive Conflict Resolution (Bypass Vi/Vim) - **Restriction:** You cannot interact with terminal-based editors (Vi, Vim, Nano). Any command that triggers an editor will cause the process to hang. - **Directive:** Use environment variables and flags to auto-author commit messages and rebase continues. - **Mandatory Syntax:** - **Continue Rebase:** `GIT_EDITOR=true git rebase --continue` - **Standard Merge:** `git merge main --no-edit` - **Manual Commit:** `git commit -m "Your message" --no-edit` - **Any Other Command:** Set the editor per command: `GIT_EDITOR=true git <subcommand>`, or `git -c core.editor=true <subcommand>`. - **Never** run `git config core.editor ...` or otherwise write `core.editor`, `core.hooksPath` or any other key outside the repository git config allow-list (`pkg/util/git_config_policy.go`) into the repository config: brokers refuse to start or resume an agent whose checkout sets one. Pass such options per command (`git -c core.editor=true <subcommand>`). ## 4. Conflict Resolution Loop If a rebase or merge results in conflicts: 1. Identify conflicted files via `git status`. 2. Resolve conflicts in the source files. 3. Stage changes: `git add <resolved-files>`. 4. Finalize: `GIT_EDITOR=true git rebase --continue`.
View on GitHub