Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Scanned 9/8/2026
Install to Claude Code
npx -y skills add artubss/SKILLS-CLAUDE-CODE --skill finishing-a-development-branch --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Finishing A Development Branch?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/artubss-finishing-a-development-branch)More formats (shields.io, HTML) on the badges page.
---
name: finishing-a-development-branch
description: Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
---
# Finalizando uma Branch de Desenvolvimento
## Visão Geral
Guie a conclusão do trabalho de desenvolvimento apresentando opções claras e executando o fluxo escolhido.
**Princípio central:** Verificar testes → Apresentar opções → Executar escolha → Limpar.
**Anuncie no início:** "Estou usando a skill finishing-a-development-branch para completar este trabalho."
## O Processo
### Etapa 1: Verificar Testes
**Antes de apresentar opções, verifique se os testes passam:**
```bash
# Executar suite de testes do projeto
npm test / cargo test / pytest / go test ./...
```
**Se os testes falharem:**
```
Testes falhando (<N> falhas). Deve-se corrigir antes de completar:
[Mostrar falhas]
Não é possível prosseguir com merge/PR até que os testes passem.
```
Pare. Não prossiga para a Etapa 2.
**Se os testes passarem:** Prossiga para a Etapa 2.
### Etapa 2: Determinar Branch Base
```bash
# Tentar branches base comuns
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
```
Ou pergunte: "Esta branch foi criada a partir de main - isso está correto?"
### Etapa 3: Apresentar Opções
Apresente exatamente estas 4 opções:
```
Implementação completa. O que você gostaria de fazer?
1. Fazer merge de volta para <base-branch> localmente
2. Fazer push e criar um Pull Request
3. Manter a branch como está (vou lidar depois)
4. Descartar este trabalho
Qual opção?
```
**Não adicione explicações** - mantenha as opções concisas.
### Etapa 4: Executar Escolha
#### Opção 1: Fazer Merge Localmente
```bash
# Mudar para branch base
git checkout <base-branch>
# Atualizar
git pull
# Fazer merge da branch de feature
git merge <feature-branch>
# Verificar testes no resultado do merge
<comando de teste>
# Se os testes passarem
git branch -d <feature-branch>
```
Depois: Limpar worktree (Etapa 5)
#### Opção 2: Fazer Push e Criar PR
```bash
# Fazer push da branch
git push -u origin <feature-branch>
# Criar PR
gh pr create --title "<título>" --body "$(cat <<'EOF'
## Resumo
<2-3 bullets do que mudou>
## Plano de Teste
- [ ] <passos de verificação>
EOF
)"
```
Depois: Limpar worktree (Etapa 5)
#### Opção 3: Manter Como Está
Relatar: "Mantendo branch <nome>. Worktree preservada em <caminho>."
**Não limpe a worktree.**
#### Opção 4: Descartar
**Confirme primeiro:**
```
Isso vai deletar permanentemente:
- Branch <nome>
- Todos os commits: <lista-de-commits>
- Worktree em <caminho>
Digite 'descartar' para confirmar.
```
Aguarde a confirmação exata.
Se confirmado:
```bash
git checkout <base-branch>
git branch -D <feature-branch>
```
Depois: Limpar worktree (Etapa 5)
### Etapa 5: Limpar Worktree
**Para Opções 1, 2, 4:**
Verificar se está em worktree:
```bash
git worktree list | grep $(git branch --show-current)
```
Se sim:
```bash
git worktree remove <caminho-worktree>
```
**Para Opção 3:** Manter worktree.
## Referência Rápida
| Opção | Merge | Push | Manter Worktree | Limpar Branch |
|-------|-------|------|-----------------|----------------|
| 1. Fazer merge localmente | ✓ | - | - | ✓ |
| 2. Criar PR | - | ✓ | ✓ | - |
| 3. Manter como está | - | - | ✓ | - |
| 4. Descartar | - | - | - | ✓ (force) |
## Erros Comuns
**Pular verificação de testes**
- **Problema:** Fazer merge de código quebrado, criar PR com falhas
- **Solução:** Sempre verificar testes antes de oferecer opções
**Perguntas abertas**
- **Problema:** "O que faço agora?" → ambíguo
- **Solução:** Apresentar exatamente 4 opções estruturadas
**Limpeza automática de worktree**
- **Problema:** Remover worktree quando você pode precisar dela (Opções 2, 3)
- **Solução:** Limpar apenas para Opções 1 e 4
**Sem confirmação para descartar**
- **Problema:** Deletar trabalho acidentalmente
- **Solução:** Exigir confirmação digitada "descartar"
## Sinais de Alerta
**Nunca:**
- Prosseguir com testes falhando
- Fazer merge sem verificar testes no resultado
- Deletar trabalho sem confirmação
- Fazer força de push sem solicitação explícita
**Sempre:**
- Verificar testes antes de oferecer opções
- Apresentar exatamente 4 opções
- Obter confirmação digitada para Opção 4
- Limpar worktree apenas para Opções 1 & 4
## Integração
**Chamada por:**
- **subagent-driven-development** (Etapa 7) - Após todas as tarefas completarem
- **executing-plans** (Etapa 5) - Após todos os batches completarem
**Funciona com:**
- **using-git-worktrees** - Limpa a worktree criada por aquela skillIs this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!