From vgv-wingspan
Creates Git feature branch or worktree from base branch before writing artifacts. Infers name like feat/kebab-topic from context and confirms options with user.
npx claudepluginhub verygoodopensource/very_good_claude_code_marketplace --plugin vgv-wingspanThis skill is limited to using the following tools:
Set up a feature branch or worktree before the first artifact is written. Called by `/brainstorm` and `/plan` to keep files off the default branch.
Creates and switches to a new git branch named from inline description, conversation context, or local diffs. Preserves all uncommitted changes for in-progress work or starting fresh on clean branches.
Creates isolated git worktrees or branches for feature development, detects current repo state, syncs with remote, and confirms isolation before proceeding.
Creates git branches following Sentry naming conventions (<prefix>/<type>/<description>) from args, git diff/status, or generic. Classifies type, picks base, avoids collisions.
Share bugs, ideas, or general feedback.
Set up a feature branch or worktree before the first artifact is written. Called by /brainstorm and /plan to keep files off the default branch.
$ARGUMENTS
This may be a feature description, brainstorm topic, plan title, or empty (when called by another skill, the conversation context provides the description).
Run:
git rev-parse --abbrev-ref HEAD
Compare the result against the base branch detected by running:
${CLAUDE_SKILL_DIR}/scripts/detect-base-branch.sh
If the current branch is NOT the base branch (and not HEAD): the session is already on a feature branch. Skip silently — return control to the caller without any output.
If the current branch IS the base branch (or HEAD for detached state): proceed to Step 2.
Build a branch name in the format <type>/<kebab-topic>.
Default to feat/. Use fix/, refactor/, or chore/ when the context makes the type obvious.
Derive a kebab-case slug from the feature description or conversation context:
<type>/<slug>) stays under 60 charactersUse the AskUserQuestion tool to confirm the branch name and workspace type:
Question: "Set up workspace? Proposed branch: <type>/<kebab-topic>"
Options:
git checkout -b <name> (changes carry over to the new branch)EnterWorktreeThe "Other" option (auto-provided) lets users enter a custom branch name. If a custom name is provided, use it as-is for git checkout -b.
If the user selects "Skip": return control to the caller without changes.
Run:
git checkout -b <branch-name>
Before creating, check for uncommitted changes:
git status --porcelain
If the output is non-empty, use AskUserQuestion to warn:
Question: "You have uncommitted changes that will stay in your original working tree. The worktree starts from a clean checkout. Continue?"
Options:
git checkout -bIf proceeding with worktree, call the EnterWorktree tool with the branch name.
If EnterWorktree fails (e.g., already in a worktree), fall back to git checkout -b and inform the user.