| name | repo-setup |
| description | Refresh /workspace/repo and prepare the correct branch. Load this before any situation skill. |
| license | Apache-2.0 |
| metadata | {"audience":"autonomous-agents"} |
Repository Setup
The target repository is already cloned by the container runtime at
/workspace/repo. Work directly in that checkout — do not create git
worktrees or clone a second copy of the target repo. Each issue/PR gets its
own container, so /workspace/repo is already isolated.
Steps
-
Enter the repository and refresh refs:
cd /workspace/repo
git fetch --all --prune
-
Determine the branch name:
-
Preserve in-progress follow-up work. If /workspace/repo is already on
the intended branch and has uncommitted changes, keep them and skip branch
reset/checkout. The previous event may have left in-progress changes that the
current follow-up event needs to continue. If there are uncommitted changes
on a different branch, stop and inspect before switching — do not risk
carrying changes to the wrong branch or discarding work.
git status --short
git branch --show-current
-
Prepare the branch in /workspace/repo if step 3 did not already find
the right branch with in-progress changes:
-
New issue — create or reset the issue branch from the default branch:
DEFAULT_BRANCH=$(gh repo view --json defaultBranchRef --jq .defaultBranchRef.name)
git switch -C <branch> "origin/$DEFAULT_BRANCH"
-
Existing PR — check out the PR branch:
gh pr checkout <number>
If gh pr checkout fails, fall back to:
git fetch origin "$BRANCH:$BRANCH" 2>/dev/null || true
git switch "$BRANCH"
git pull --ff-only origin "$BRANCH" 2>/dev/null || true
-
Run all subsequent commands from /workspace/repo.
Important
- Never push to or force-push the default branch.
- Never
git reset --hard or git clean -fd when there are uncommitted
changes unless the situation skill explicitly determines those changes are
disposable.
- Multi-repo investigation may clone other repositories under
~/dev/...,
but the target repo for this issue/PR stays /workspace/repo.