Back to skills
extension
Category: Development & EngineeringNo API key required

auto-branch

Automacao de criacao de branches baseado em tipo de trabalho. Integra com SpecKit para criar branches automaticamente ao iniciar features. Use quando: iniciar novo trabalho, criar feature, corrigir bug.

personAuthor: jakexiaohubgithub

Auto-Branch Skill

Proposito

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

Padroes de Branch

| Tipo | Padrao | Exemplo | |------|--------|---------| | 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.