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.
Manage git branch mixes and run mixdowns using ggmx and ggmxd.
$ npx skills add aspiers/git-config --skill git-branch-mixer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aspiers/git-config git-branch-mixer --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/aspiers/git-config.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/git-branch-mixer .claude/skills/git-branch-mixer && 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-branch-mixer" agent skill from https://github.com/aspiers/git-config/tree/master/.agents/skills/git-branch-mixer into .claude/skills/git-branch-mixer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-branch-mixer", 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/aspiers/git-config/tree/master/.agents/skills/git-branch-mixerType 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 aspiers/git-config --skill git-branch-mixer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aspiers/git-config git-branch-mixer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aspiers/git-config.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/git-branch-mixer .agents/skills/git-branch-mixer && 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-branch-mixer" agent skill from https://github.com/aspiers/git-config/tree/master/.agents/skills/git-branch-mixer into .agents/skills/git-branch-mixer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-branch-mixer", 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 aspiers/git-config --skill git-branch-mixer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aspiers/git-config git-branch-mixer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aspiers/git-config.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/git-branch-mixer .cursor/skills/git-branch-mixer && 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-branch-mixer" agent skill from https://github.com/aspiers/git-config/tree/master/.agents/skills/git-branch-mixer into .cursor/skills/git-branch-mixer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-branch-mixer", 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/aspiers/git-config.git --path .agents/skills/git-branch-mixer--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 aspiers/git-config --skill git-branch-mixer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aspiers/git-config git-branch-mixer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aspiers/git-config.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/git-branch-mixer .gemini/skills/git-branch-mixer && 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-branch-mixer" agent skill from https://github.com/aspiers/git-config/tree/master/.agents/skills/git-branch-mixer into .gemini/skills/git-branch-mixer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-branch-mixer", 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 aspiers/git-config git-branch-mixerInstalls 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 aspiers/git-config --skill git-branch-mixer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aspiers/git-config.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/git-branch-mixer .github/skills/git-branch-mixer && 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-branch-mixer" agent skill from https://github.com/aspiers/git-config/tree/master/.agents/skills/git-branch-mixer into .github/skills/git-branch-mixer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-branch-mixer", 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 aspiers/git-config --skill git-branch-mixer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aspiers/git-config git-branch-mixer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aspiers/git-config.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/git-branch-mixer .opencode/skills/git-branch-mixer && 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-branch-mixer" agent skill from https://github.com/aspiers/git-config/tree/master/.agents/skills/git-branch-mixer into .opencode/skills/git-branch-mixer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-branch-mixer", 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-branch-mixerManage git branch mixes and run mixdowns using ggmx and ggmxd.
Git Branch Mixer is an agent skill from aspiers/git-config. Manage git branch mixes and run mixdowns using ggmx and ggmxd. Use when the user says things like "add this branch to the mix", "remove a branch from the mix", "show the mix", "mix down the branches", or "run a mixdown".
Its SKILL.md is about 990 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Git workflow. It works with Git. The repository describes itself as: Adam's git shortcuts and environment. Designed to be stowed to ~ using GNU Stow. The licence is GPL-3.0.
Read from SKILL.md and the folder at commit 710ab4c. 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:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, 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.
Git Branch Mixer loads about 985 tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 329 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 aspiers/git-config at commit 710ab4c, republished under its GPL-3.0 licence (© aspiers). 329 words, ~985 tokens.
.claude/skills/git-branch-mixer/SKILL.md (or your agent's skills folder).ggmx (git mix) configures named sets of branches to merge together.
ggmxd (git mixdown) executes a mixdown — resetting a target branch to a
base and merging all the other branches in.
The typical use case is testing a combination of feature/bugfix branches together via a throw-away temporary working branch.
Critical rule: mixdown target branches (especially working) are local
throw-away integration branches. Never push a mixdown target branch, create a PR
from it, or otherwise publish it unless the user explicitly asks for that exact
action. Independent source branches may be pushed as needed, but the mixed
working branch stays local by default.
Default location: when producing a mixdown for the working branch, run it
from the repository's main checkout, not from a linked worktree, unless the user
specifies another location. The main checkout is normally where the combined
software is built, run, and tested; source branches may still live in linked
worktrees. Because the mixdown checks out and resets working, stop and ask
before stashing or otherwise moving aside changes from a dirty main checkout.
ggmxggmx # show all configured mixes
ggmx <target> # show branches in mix for <target>
ggmx <target> A B C # set mix for <target> to branches A, B, C
# (first branch is the base)
ggmx [<target>] +D [-B] # add D to / remove B from mix for <target>
# (defaults to 'working' if <target> omitted)
ggmx -d <target> # delete the mix for <target>Mixes are stored in git config under mixdown.<target>.
You can also edit them directly with git config --edit.
ggmxdggmxd # run mixdown using config for default target ('working')
ggmxd -b <target> # run mixdown using config for <target>
ggmxd BASE B1 [B2 ...] # explicit mixdown: reset to BASE, merge B1, B2...
ggmxd -b <target> BASE B1 ... # explicit mixdown into named target branchAlways pass -c / --checkout to leave the target branch checked out
after the mixdown, ready for testing:
ggmxd -c # mixdown from config, stay on target branch
ggmxd -c BASE B1 B2 # explicit mixdown, stay on target branchWithout -c, ggmxd restores your previously checked-out branch after
completing the mixdown. Use this when you want to rebuild the mix in the
background without switching away from your current branch.
After a successful mixdown, if the combined software can be run or otherwise tested, rebuild it and restart the running instance from the main checkout before reporting it ready. A mixdown that has not reached the user's actual test environment is not complete.
ggmxd -s STRATEGY # set merge strategy (default: octopus)
# use e.g. -s recursive for sequential merges
# with conflict resolution shells between eachAfter any ggmx operation that modifies a mix (adding, removing, or setting
branches), always ask the user whether they want to run a mixdown now.
# One-time setup: configure the mix for the 'working' target branch
ggmx working main feature/foo bugfix/bar
# Add another branch later
ggmx +feature/baz
# Run the mixdown and stay on the result for testing
ggmxd -c
# Rebuild after rebasing one of the branches
ggmxd -c© aspiers, GPL-3.0. 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 .agents/skills/git-branch-mixer of aspiers/git-config.
Open the folder on GitHubat commit 710ab4c
Git Branch Mixer 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 |
|---|---|---|---|---|---|---|
| Git Branch Mixer this skillaspiers/git-config | 105 | — | ~985 | Automated safety check: Pass | GPL-3.0 | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Migrate Internal Package into GhostTryGhost/Ghost | 56k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 |
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.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
tailcallhq/forgecode
Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.
Works with
Categories
Manage git branch mixes and run mixdowns using ggmx and ggmxd. Git Branch Mixer is an agent skill from aspiers/git-config. Manage git branch mixes and run mixdowns using ggmx and ggmxd.
Git Branch Mixer fits situations like: the user says things like add this branch to the mix; remove a branch from the mix; mix down the branches.
Run `npx skills add aspiers/git-config --skill git-branch-mixer -a claude-code`. Or copy the skill folder (.agents/skills/git-branch-mixer in aspiers/git-config) into .claude/skills/git-branch-mixer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aspiers/git-config --skill git-branch-mixer -a codex`. Or copy the skill folder (.agents/skills/git-branch-mixer in aspiers/git-config) into .agents/skills/git-branch-mixer 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 aspiers/git-config --skill git-branch-mixer -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-branch-mixer, .gemini/skills/git-branch-mixer, .github/skills/git-branch-mixer and .opencode/skills/git-branch-mixer in your project.
Going by SKILL.md and its folder, Git Branch Mixer needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, 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.
Git Branch Mixer is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 985 tokens (SKILL.md is roughly 3.9k 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 Git Branch Mixer: Finishing a Development Branch (obra/superpowers, 297k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Migrate Internal Package into Ghost (TryGhost/Ghost, 56k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aspiers (a GitHub user) maintains it in aspiers/git-config, which has 105 GitHub stars. The repository was last updated on September 8, 2026.
Source: aspiers/git-config on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.