Branch
Start work on a new branch or worktree. Use when asked to start a new branch, new worktree, begin work on a feature/fix, or start fresh. Supports issue numbers and plain descriptions.From its SKILL.md
npx -y skills add lgtm-hq/ai-skills --skill branchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.8 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Branch
Start work on a new git branch, optionally in a new worktree.
Arguments
Accepts one of the following as arguments:
- Issue number: e.g.,
/branch 123— fetches the issue title and derives the branch name - Description: e.g.,
/branch add shellcheck support— derives the branch name from the text - Worktree flag: append
--worktreeor-wto create a git worktree instead of a regular branch
Examples:
/branch 123— branch from issue #123/branch add dark mode toggle— branch from description/branch 123 --worktree— worktree from issue #123/branch fix login redirect -w— worktree from description
Branch Naming
Derive the branch name using this format:
<type>/<issue-number?>-<slug>
- type: Infer from context —
feat/,fix/,chore/,docs/,refactor/,perf/,test/,ci/- If an issue has labels like
bug→fix/,enhancement→feat/,documentation→docs/ - If a description starts with a semantic prefix, use it
- Default to
feat/if unclear
- If an issue has labels like
- issue-number: Include only if an issue number was provided
- slug: Lowercase, hyphenated, max ~50 chars, derived from the issue title or
description
- Strip filler words when too long
- e.g., "Add shellcheck support for shell scripts" →
add-shellcheck-support
Examples:
- Issue #123 titled "feat(cli): add watch mode" →
feat/123-add-watch-mode - Issue #45 labeled
bug, titled "Parser crashes on empty input" →fix/45-parser-crashes-on-empty-input - Description "add dark mode" →
feat/add-dark-mode - Description "fix: resolve null pointer" →
fix/resolve-null-pointer
Usage — Regular Branch
When asked to start a new branch (no --worktree / -w flag):
-
Ensure clean state:
- Run
git status— if there are uncommitted changes, warn the user and stop - Do NOT stash or discard changes automatically
- Run
-
Fetch latest:
git fetch origin -
Resolve branch name:
- If an issue number was given, fetch it:
gh issue view <number> --json title,labels - Derive the branch name per the naming rules above
- If an issue number was given, fetch it:
-
Create and switch to the branch:
git checkout -b <branch-name> origin/main -
Confirm — Print the branch name and a summary of what was done
Usage — Worktree
When --worktree or -w is specified:
-
Ensure clean state:
- Run
git status— if there are uncommitted changes, warn the user and stop
- Run
-
Fetch latest:
git fetch origin -
Resolve branch name (same rules as above)
-
Determine worktree path:
- Place as a sibling directory to the current repo
- Format:
<repo-dir>-<slug>(without the type prefix) - e.g., if repo is at
~/Code/py-lintroand branch isfeat/123-add-watch-mode:- Worktree path:
~/Code/py-lintro-123-add-watch-mode
- Worktree path:
- e.g., if branch is
fix/parser-crash:- Worktree path:
~/Code/py-lintro-parser-crash
- Worktree path:
-
Create the worktree:
git worktree add -b <branch-name> <worktree-path> origin/main -
Confirm — Print the worktree path, branch name, and how to navigate there:
Created worktree at ~/Code/py-lintro-123-add-watch-mode Branch: feat/123-add-watch-mode (from origin/main) To start working: cd ~/Code/py-lintro-123-add-watch-mode
Important
- NEVER force-delete branches or worktrees
- NEVER stash or discard uncommitted changes — always warn and stop
- Always branch from
origin/main(freshly fetched) - If the branch name already exists, warn the user and ask what to do
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.