Claude-skill-registry auto-branch

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/auto-branch" ~/.claude/skills/majiayu000-claude-skill-registry-auto-branch && rm -rf "$T"
manifest: skills/data/auto-branch/SKILL.md
source content

Auto-Branch Skill

Proposito

Esta skill automatiza a criacao de branches seguindo convencoes de nomenclatura.

Padroes de Branch

TipoPadraoExemplo
Bug Fix
fix/{descricao}
fix/timeout-conexao-api
Hotfix
hotfix/{descricao}
hotfix/seguranca-sql-injection
Feature
feature/{nome}
feature/exportacao-pdf
Release
release/v{versao}
release/v1.2.0
Chore
chore/{descricao}
chore/atualizar-dependencias
Refactor
refactor/{descricao}
refactor/separar-camadas
Docs
docs/{descricao}
docs/api-reference

Uso

Via Hook

O hook

.claude/hooks/auto-branch.sh
e chamado automaticamente:

.claude/hooks/auto-branch.sh feature "exportacao de duplicatas"
# Cria: feature/exportacao-de-duplicatas

Via Comando

/auto-branch feature "nome da feature"
/auto-branch fix "descricao do bug"

Integracao com SDLC

Level 0 (Quick Flow)

Quando detectado bug fix ou hotfix:

trigger: "fix: " ou "hotfix: " no inicio da descricao
action: auto-branch.sh fix "{descricao}"

Level 1 (Feature)

Quando detectada nova feature:

trigger: "feat: " ou "feature: " no inicio da descricao
action: auto-branch.sh feature "{descricao}"

Level 2+ (SDLC Completo)

Quando iniciado SDLC completo:

trigger: /sdlc-start com nivel >= 2
action: auto-branch.sh feature "{project-id}"

Integracao com SpecKit

Ao executar

/spec-create
, a branch e criada automaticamente:

spec_create_flow:
  1. Detectar nome da spec
  2. Executar: auto-branch.sh feature "{spec-name}"
  3. Criar arquivo da spec
  4. Registrar no manifest do projeto

Validacoes

  • Nome normalizado (lowercase, sem espacos)
  • Limite de 50 caracteres
  • Sem caracteres especiais
  • Branch nao existe (ou faz checkout se existir)

Script

O script principal esta em

.claude/hooks/auto-branch.sh
.

Exemplo de Uso

# Criar branch de feature
.claude/hooks/auto-branch.sh feature "Exportacao de Duplicatas em PDF"
# Resultado: feature/exportacao-de-duplicatas-em-pdf

# Criar branch de fix
.claude/hooks/auto-branch.sh fix "Timeout na conexao com CERC"
# Resultado: fix/timeout-na-conexao-com-cerc

# Criar branch de release
.claude/hooks/auto-branch.sh release "1.2.0"
# Resultado: release/v1.2.0

Configuracao no settings.json

Para habilitar criacao automatica de branches, adicione ao settings.json:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Write(*.spec.md)",
      "hooks": [{
        "type": "command",
        "command": ".claude/hooks/auto-branch.sh feature $(basename $TOOL_INPUT_FILE_PATH .spec.md)"
      }]
    }]
  }
}

Troubleshooting

Branch ja existe

Se a branch ja existir, o script faz checkout automaticamente.

Mudancas nao commitadas

O script avisa se houver mudancas nao commitadas, mas nao bloqueia a operacao.

Nome muito longo

Nomes sao truncados em 50 caracteres para evitar problemas.