Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Dev-first branching model for the Squad project: feature work branches from dev, issue branches follow a naming rule and parallel issues use git worktrees.
$ npx skills add microsoft/waza --skill git-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/waza git-workflow --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/waza.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.copilot/skills/git-workflow .claude/skills/git-workflow && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "git-workflow" agent skill from https://github.com/microsoft/waza/tree/main/.copilot/skills/git-workflow into .claude/skills/git-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/waza/tree/main/.copilot/skills/git-workflowType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/waza --skill git-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/waza git-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/waza.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.copilot/skills/git-workflow .agents/skills/git-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "git-workflow" agent skill from https://github.com/microsoft/waza/tree/main/.copilot/skills/git-workflow into .agents/skills/git-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/waza --skill git-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/waza git-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/waza.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.copilot/skills/git-workflow .cursor/skills/git-workflow && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "git-workflow" agent skill from https://github.com/microsoft/waza/tree/main/.copilot/skills/git-workflow into .cursor/skills/git-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/waza.git --path .copilot/skills/git-workflow--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/waza --skill git-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/waza git-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/waza.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.copilot/skills/git-workflow .gemini/skills/git-workflow && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "git-workflow" agent skill from https://github.com/microsoft/waza/tree/main/.copilot/skills/git-workflow into .gemini/skills/git-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/waza git-workflowInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/waza --skill git-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/waza.git skills-src && mkdir -p .github/skills && cp -r skills-src/.copilot/skills/git-workflow .github/skills/git-workflow && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "git-workflow" agent skill from https://github.com/microsoft/waza/tree/main/.copilot/skills/git-workflow into .github/skills/git-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/waza --skill git-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/waza git-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/waza.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.copilot/skills/git-workflow .opencode/skills/git-workflow && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "git-workflow" agent skill from https://github.com/microsoft/waza/tree/main/.copilot/skills/git-workflow into .opencode/skills/git-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
git-workflowDev-first branching model for the Squad project: feature work branches from dev, issue branches follow a naming rule and parallel issues use git worktrees.
The skill documents a three-branch model. The main branch holds released, tagged code that is published to npm on a tag, dev is the integration branch where all feature work lands and publishes a preview tag on merge, and insiders is an early-access channel synced from dev. Issue branches must be named squad, then the issue number and a kebab-case slug, such as squad/195-fix-version-stamp-bug.
The issue workflow runs in steps: branch from dev after pulling it, mark the issue in progress with a gh label, open a draft pull request against dev that closes the issue, do the work with commits referencing the issue, push and mark the PR ready, then update dev and delete the local branch after the merge. For several simultaneous issues in one repo it uses git worktrees, one per issue in a sibling directory named after the repo and issue number, each with its own working directory and index but a shared object store. Work across multiple repos uses separate sibling clones.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 774df00. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitnpmghpipgoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, npm, gh and pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Squad Git Branching Workflow loads about 1.5k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 547 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/waza at commit 774df00, republished under its MIT licence (© microsoft). 547 words, ~1,529 tokens.
.claude/skills/git-workflow/SKILL.md (or your agent's skills folder).Squad uses a three-branch model. All feature work starts from dev, not main.
| Branch | Purpose | Publishes |
|---|---|---|
main | Released, tagged, in-npm code only | npm publish on tag |
dev | Integration branch — all feature work lands here | npm publish --tag preview on merge |
insiders | Early-access channel — synced from dev | npm publish --tag insiders on sync |
Issue branches MUST use: squad/{issue-number}-{kebab-case-slug}
Examples:
squad/195-fix-version-stamp-bugsquad/42-add-profile-apiBranch from dev:
git checkout dev
git pull origin dev
git checkout -b squad/{issue-number}-{slug}Mark issue in-progress:
gh issue edit {number} --add-label "status:in-progress"Create draft PR targeting dev:
gh pr create --base dev --title "{description}" --body "Closes #{issue-number}" --draftDo the work. Make changes, write tests, commit with issue reference.
Push and mark ready:
git push -u origin squad/{issue-number}-{slug}
gh pr readyAfter merge to dev:
git checkout dev
git pull origin dev
git branch -d squad/{issue-number}-{slug}
git push origin --delete squad/{issue-number}-{slug}When the coordinator routes multiple issues simultaneously (e.g., "fix bugs X, Y, and Z"), use git worktree to give each agent an isolated working directory. No filesystem collisions, no branch-switching overhead.
| Scenario | Strategy |
|---|---|
| Single issue | Standard workflow above — no worktree needed |
| 2+ simultaneous issues in same repo | Worktrees — one per issue |
| Work spanning multiple repos | Separate clones as siblings (see Multi-Repo below) |
From the main clone (must be on dev or any branch):
# Ensure dev is current
git fetch origin dev
# Create a worktree per issue — siblings to the main clone
git worktree add ../squad-195 -b squad/195-fix-stamp-bug origin/dev
git worktree add ../squad-193 -b squad/193-refactor-loader origin/devNaming convention: ../{repo-name}-{issue-number} (e.g., ../squad-195, ../squad-pr-42).
Each worktree:
squad/{issue-number}-{slug} branch from dev.git object store (disk-efficient)Each agent operates inside its worktree exactly like the single-issue workflow:
cd ../squad-195
# Work normally — commits, tests, pushes
git add -A && git commit -m "fix: stamp bug (#195)"
git push -u origin squad/195-fix-stamp-bug
# Create PR targeting dev
gh pr create --base dev --title "fix: stamp bug" --body "Closes #195" --draftAll PRs target dev independently. Agents never interfere with each other's filesystem.
The .squad/ directory exists in each worktree as a copy. This is safe because:
.gitattributes declares merge=union on append-only files (history.md, decisions.md, logs).squad/ files in a worktree — append onlyAfter a worktree's PR is merged to dev:
# From the main clone
git worktree remove ../squad-195
git worktree prune # clean stale metadata
git branch -d squad/195-fix-stamp-bug
git push origin --delete squad/195-fix-stamp-bugIf a worktree was deleted manually (rm -rf), git worktree prune recovers the state.
When work spans multiple repositories (e.g., squad-cli changes need squad-sdk changes, or a user's app depends on squad):
Clone downstream repos as siblings to the main repo:
~/work/
squad-pr/ # main repo
squad-sdk/ # downstream dependency
user-app/ # consumer projectEach repo gets its own issue branch following its own naming convention. If the downstream repo also uses Squad conventions, use squad/{issue-number}-{slug}.
Closes #42
**Depends on:** squad-sdk PR #17 (squad-sdk changes required for this feature)Before pushing, verify cross-repo changes work together:
# Node.js / npm
cd ../squad-sdk && npm link
cd ../squad-pr && npm link squad-sdk
# Go
# Use replace directive in go.mod:
# replace github.com/org/squad-sdk => ../squad-sdk
# Python
cd ../squad-sdk && pip install -e .Important: Remove local links before committing. npm link and go replace are dev-only — CI must use published packages or PR-specific refs.
These compose naturally. You can have:
hotfix/{slug}, PR to dev, cherry-pick to main if urgent© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .copilot/skills/git-workflow of microsoft/waza.
Open the folder on GitHubat commit 774df00
We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in microsoft/waza, which our catalogue first saw on October 7, 2026.
Squad Git Branching Workflow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Squad Git Branching Workflow this skillmicrosoft/waza | 1.4k | 4 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| AionUi Version BumpiOfficeAI/AionUi | 33k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Clean Complete Branchesjtenniswood/espcontrol | 1.1k | — | ~820 | Automated safety check: Pass | Custom licence | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Markbind Typescript MigrationMarkBind/markbind | 158 | — | ~2k | Automated safety check: Pass | MIT |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
iOfficeAI/AionUi
Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.
jtenniswood/espcontrol
Clean up completed Git branches and worktrees for this repository both locally and on GitHub.
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
MarkBind/markbind
Complete guide for migrating JavaScript files to TypeScript in the MarkBind project, including the two-commit strategy, import/export syntax conversion, and best practices.
andymai/brepjs
This skill should be used when committing, pushing, branching, or merging in the brepjs repository — when a task involves "pre-commit hook failed" (which tier ran, how to bypass), "commit rejected…
microsoft/waza
Shows a categorized, interactive menu of common Squad operations, such as install, upgrade and team management, and collects arguments before running anything.
microsoft/waza
Shared collaboration rules for a team of squad agents covering worktree awareness, writing decisions to an inbox, cross-agent requests and reviewer lockout.
microsoft/waza
Walks through releasing a new version of the waza azd extension: changelog from commits, semver bump with your confirmation, and a release PR.
microsoft/waza
Evaluates agent skills with a Go CLI that runs YAML-defined benchmarks, compares runs and scores the quality of SKILL.md frontmatter.
microsoft/waza
Reviewer rejection workflow and strict lockout semantics. An agent skill from microsoft/waza.
microsoft/waza
Walks you through creating, running and reading waza evals for an agent skill, then proposes concrete fixes when tasks fail or the score is low.
Categories
Dev-first branching model for the Squad project: feature work branches from dev, issue branches follow a naming rule and parallel issues use git worktrees. The skill documents a three-branch model. The main branch holds released, tagged code that is published to npm on a tag, dev is the integration branch where all feature work lands and publishes a preview tag on merge, and insiders is an early-access channel synced from dev.
Squad Git Branching Workflow fits situations like: starting work on a Squad issue and choosing the right base branch; opening a draft pull request that targets dev; running several issues at once with one git worktree per issue.
Run `npx skills add microsoft/waza --skill git-workflow -a claude-code`. Or copy the skill folder (.copilot/skills/git-workflow in microsoft/waza) into .claude/skills/git-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/waza --skill git-workflow -a codex`. Or copy the skill folder (.copilot/skills/git-workflow in microsoft/waza) into .agents/skills/git-workflow in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/waza --skill git-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/git-workflow, .gemini/skills/git-workflow, .github/skills/git-workflow and .opencode/skills/git-workflow in your project.
Going by SKILL.md and its folder, Squad Git Branching Workflow needs the command-line tools its instructions call (git, npm, gh, pip and go). Our summary lists: Git and the GitHub CLI.
SKILL.md contains no URLs. Its commands use git, npm, gh and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Squad Git Branching Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Squad Git Branching Workflow: Finishing a Development Branch (obra/superpowers, 296k stars), AionUi Version Bump (iOfficeAI/AionUi, 33k stars), Clean Complete Branches (jtenniswood/espcontrol, 1.1k stars) and ZCF Release Automation (UfoMiao/zcf, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/waza, which has 1,400 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 6, 2026.
Source: microsoft/waza on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.