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 --pruneDetermine the branch name:
- New issue:
issue-<number>-<slug>(e.g.issue-42-fix-login) - Existing PR: get the PR head branch with:
BRANCH=$(gh pr view <number> --json headRefName --jq .headRefName) - Operator chat (a
New operator chatturn — a repo but no issue/PR): there is nothing to branch from yet. Stay on the default branch for read-only exploration and answering questions. Only create a branch once the operator asks for a change that needs a PR, and name it for the work (e.g.chat-<slug>); don't invent anissue-*branch for a chat.
- New issue:
Preserve in-progress follow-up work. If
/workspace/repois 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-currentPrepare the branch in
/workspace/repoif 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 checkoutfails, 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 --hardorgit clean -fdwhen 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.