mcpField
C
create-branch

create-branch

github.com/getsentryDevelopment1.1k4.3k installsUpdated 5d ago
Repository

About create-branch

A Claude Code skill that creates a Git branch using Sentry naming conventions. It derives a short description from supplied arguments or local changes, selects a base branch without prompting, and avoids name collisions.

Key features

  1. 01Derives a branch description
  2. 02Classifies the change type
  3. 03Uses kebab-case branch names
  4. 04Selects a base branch automatically
  5. 05Avoids local and remote name collisions

Use cases

  1. 01Creating a branch for a described task
  2. 02Naming a branch from uncommitted changes
  3. 03Starting work without an interactive naming prompt

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/getsentry/skills --skill create-branch

After installing, type/create-branchin Claude Code to confirm it loaded.

Details

From the project README

Create Branch

Create a git branch following Sentry naming conventions. Keep this workflow non-interactive unless the user explicitly asks to choose the name manually.

Workflow

  1. Resolve the work description:

    • If $ARGUMENTS is present, use it
    • Otherwise inspect:
      git diff
      git diff --cached
      git status --short
      
    • If there are local changes, derive a short description from the diff
    • If there are no local changes, use a generic description like repo-maintenance, tooling-update, or work-in-progress
  2. Classify the branch type:

TypeUse when
featNew functionality
fixBroken behavior now works
refBehavior stays the same, structure changes
choreMaintenance of existing tooling/config
perfSame behavior, faster
styleVisual or formatting only
docsDocumentation only
testTests only
ciCI/CD config
buildBuild system
metaRepo metadata
licenseLicense changes

When unsure: use feat for new things, ref for restructuring, chore for maintenance.

  1. Generate <type>/<short-description>. Keep <short-description> kebab-case, ASCII-only, and ideally 3 to 6 words.

  2. Choose the base without prompting:

    git branch --show-current
    git remote | grep -qx origin && echo origin || git remote | head -1
    git symbolic-ref refs/remotes/<remote>/HEAD 2>/dev/null | sed 's|refs/remotes/<remote>/||' | tr -d '[:space:]'
    
    • If default branch detection fails, fall back to main, then master, then the current branch
    • If on a detached HEAD, branch from the current commit
    • If already on a non-default branch, branch from the current branch
    • Only switch to the default branch when the user explicitly asks
  3. Avoid collisions by appending -2, -3, and so on until the name is unused locally and remotely.

  4. Create the branch:

    git checkout -b <branch-name>
    

    Report the final branch name, but do not stop for confirmation.

References

Comments

Markdown supported