Skip to content
Back to skills

Worktree Guide

ASecurity

Guia interativo para desenvolvimento paralelo com Ghostty, git worktrees e Lazygit. Use ao configurar fluxos de trabalho com múltiplas tarefas ou aprender o sistema de worktrees.

  • 11 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
documentationgobashgitperformance

Works with

  • terminal

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add artubss/SKILLS-CLAUDE-CODE --skill worktree-guide --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Worktree Guide?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Worktree Guide
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/artubss-worktree-guide/badge)](https://www.skillsdirectory.com/skills/artubss-worktree-guide)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: worktree-guide
description: Guia interativo para desenvolvimento paralelo com Ghostty, git worktrees e Lazygit. Use ao configurar fluxos de trabalho com múltiplas tarefas ou aprender o sistema de worktrees.
license: MIT
metadata:
  author: claude-code-templates
  version: "1.0"
---

Guie o usuário através de fluxos de trabalho de desenvolvimento paralelo usando painéis do terminal Ghostty, git worktrees e Lazygit. Esta é tanto uma experiência de aprendizado quanto uma referência prática.

---

## Verificação Inicial

Antes de começar, detecte o ambiente do usuário:

```bash
git rev-parse --is-inside-work-tree 2>&1 && echo "GIT_OK" || echo "NOT_GIT"
```

**Se não for um repositório git:**
> Este não é um repositório git. Navegue para um projeto git primeiro e depois volte a `/worktree-guide`.

Verifique se estamos em um worktree ou no repositório principal:
```bash
git worktree list
pwd
```

Anote o contexto para orientação posterior.

---

## Fase 1: Bem-vindo e Detecção de Contexto

Exiba com base no ambiente:

**Se estiver no repositório principal:**
```
## Guia de Desenvolvimento Paralelo com Worktree

Bem-vindo! Vou guiá-lo através da configuração e uso de worktrees paralelos para desenvolvimento com múltiplas tarefas.

┌─────────────────────────────────────────────────────────────┐
│  Terminal Ghostty                                           │
│  ┌──────────────────────┬──────────────────────┐           │
│  │                      │                      │           │
│  │   Claude (Tarefa 1)  │   Claude (Tarefa 2)  │           │
│  │   claude/login-page   │   claude/fix-auth-bug │           │
│  │                      │                      │           │
│  ├──────────────────────┴──────────────────────┤           │
│  │              Lazygit (monitoramento)        │           │
│  └─────────────────────────────────────────────┘           │
└─────────────────────────────────────────────────────────────┘

**Seu fluxo de trabalho:**
1. Criar worktrees → `/worktree-init`
2. Abrir painéis Ghostty → `Cmd+D` / `Cmd+Shift+D`
3. Executar Claude em cada painel → `cd <worktree> && claude`
4. Entregar quando concluído → `/worktree-deliver`
5. Limpar → `/worktree-cleanup`

O que você gostaria de fazer?
```

Use AskUserQuestion:
- "Aprender o fluxo completo" — Começar pela Fase 2
- "Apenas mostrar atalhos de teclado" — Pular para Quick Reference
- "Criar worktrees agora" — Sugerir `/worktree-init`
- "Outra coisa" — Perguntar o que precisa

**Se já estiver em um worktree:**
```
## Status do Worktree

Você já está dentro de um worktree! Deixe-me verificar seu status.
```

Em seguida, execute o equivalente a `/worktree-check` e forneça orientação contextual.

---

## Fase 2: Essenciais do Ghostty

**EXPLICAR:**
```
## Gerenciamento de Painéis Ghostty

O sistema de painéis do Ghostty é perfeito para desenvolvimento paralelo. Aqui estão os atalhos de teclado essenciais:
```

**MOSTRAR:**
```
┌─────────────────────────────────────────────────────────────┐
│                    ATALHOS DO GHOSTTY                       │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  DIVISÃO                                                    │
│  ─────────                                                  │
│  Cmd+D           Dividir painel para a direita              │
│  Cmd+Shift+D     Dividir painel para baixo                  │
│                                                             │
│  NAVEGAÇÃO                                                  │
│  ─────────                                                  │
│  Cmd+Alt+←/→/↑/↓ Mover foco entre painéis                   │
│  Cmd+[/]         Ciclar entre painéis                       │
│                                                             │
│  DIMENSIONAMENTO                                            │
│  ─────────                                                  │
│  Cmd+Shift+E     Igualar tamanhos de todos os painéis       │
│  Cmd+Shift+F     Alternar zoom (painel em tela cheia)       │
│                                                             │
│  FECHAMENTO                                                 │
│  ─────────                                                  │
│  Cmd+W           Fechar painel atual                        │
│                                                             │
└─────────────────────────────────────────────────────────────┘

**Dica profissional:** Use Cmd+Shift+F para ampliar um painel quando precisar de foco, depois pressione novamente para voltar à visualização multi-painel.
```

**PAUSA** - "Pronto para aprender sobre Lazygit? (Ou pular para fluxo de trabalho)"

---

## Fase 3: Essenciais do Lazygit

**EXPLICAR:**
```
## Lazygit para Monitorar Worktrees

Lazygit oferece uma visão geral visual de todos os seus worktrees e suas alterações. Execute-o a partir do seu repositório principal para monitorar tudo.
```

**MOSTRAR:**
```
┌─────────────────────────────────────────────────────────────┐
│                    ATALHOS DO LAZYGIT                       │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  WORKTREES (navegue para painel Worktrees)                  │
│  ─────────                                                  │
│  w              Alternar para painel de worktrees (ou criar) │
│  Enter          Alternar para worktree selecionado           │
│  n              Criar novo worktree                          │
│  d              Deletar worktree (com confirmação)           │
│                                                             │
│  ARQUIVOS & STAGING                                         │
│  ─────────                                                  │
│  Space          Fazer stage/unstage de arquivo              │
│  a              Fazer stage de todos os arquivos             │
│  Enter          Ver diff do arquivo (com Delta highlighting) │
│                                                             │
│  COMMITS                                                    │
│  ─────────                                                  │
│  c              Fazer commit das alterações em stage         │
│  C              Fazer commit com editor                      │
│  A              Amend do último commit                       │
│                                                             │
│  SINCRONIZAÇÃO                                              │
│  ─────────                                                  │
│  P              Push                                         │
│  p              Pull                                         │
│  f              Fetch                                        │
│                                                             │
│  GERAL                                                      │
│  ─────────                                                  │
│  ?              Ajuda (contextual)                           │
│  q              Sair / voltar                                │
│  Tab            Alternar painéis                             │
│                                                             │
└─────────────────────────────────────────────────────────────┘

**Fluxo de monitoramento:**
1. Abrir lazygit no repositório principal (ou painel Ghostty dedicado)
2. Pressionar `w` para ver todos os worktrees
3. Usar Enter para acessar alterações de qualquer worktree
4. Pressionar `q` para voltar à lista de worktrees
```

**PAUSA** - "Pronto para o passo a passo completo do fluxo de trabalho?"

---

## Fase 4: Fluxo de Trabalho Completo (Guiado)

**EXPLICAR:**
```
## Fluxo de Trabalho Completo de Desenvolvimento Paralelo

Vou guiá-lo através do ciclo completo. Faremos passo a passo.
```

### Passo 4.1: Criar Worktrees

**EXPLICAR:**
```
### Passo 1: Criar Worktrees

Primeiro, defina as tarefas que você deseja trabalhar em paralelo. O comando `/worktree-init` cria um worktree para cada tarefa.
```

**FAZER:** Mostrar exemplo de comando:
```
Exemplo de uso:

/worktree-init add user authentication | fix login bug | improve dashboard performance

Isso cria:
├── ../worktrees/<repo>/claude-add-user-authentication/
├── ../worktrees/<repo>/claude-fix-login-bug/
└── ../worktrees/<repo>/claude-improve-dashboard-performance/
```

### Passo 4.2: Abrir Painéis Ghostty

**EXPLICAR:**
```
### Passo 2: Abrir Painéis Ghostty

Agora divida seu terminal em painéis—um para cada tarefa, mais opcionalmente um para monitoramento com Lazygit.
```

**FAZER:**
```
1. Pressione Cmd+D para dividir para a direita (primeiro worktree)
2. Pressione Cmd+D novamente (segundo worktree)
3. Opcionalmente pressione Cmd+Shift+D em qualquer painel para Lazygit abaixo

Layout resultante:
┌──────────┬──────────┬──────────┐
│ Tarefa 1 │ Tarefa 2 │ Tarefa 3 │
│ claude   │ claude   │ claude   │
├──────────┴──────────┴──────────┤
│           lazygit              │
└────────────────────────────────┘
```

### Passo 4.3: Trabalhar em Cada Painel

**EXPLICAR:**
```
### Passo 3: Trabalhar Independentemente

Em cada painel:
1. cd para o caminho do worktree (a partir da saída dos comandos)
2. Execute `claude` para iniciar uma sessão Claude
3. Use `/worktree-check` a qualquer momento para verificar em qual tarefa está trabalhando
4. Trabalhe normalmente—Claude não sabe sobre outros painéis
```

### Passo 4.4: Entregar Trabalho Concluído

**EXPLICAR:**
```
### Passo 4: Entregar Quando Concluído

Quando terminar uma tarefa em qualquer painel, use `/worktree-deliver` para:
1. Revisar suas alterações
2. Criar um commit
3. Fazer push para remote
4. Criar um pull request
```

### Passo 4.5: Limpar

**EXPLICAR:**
```
### Passo 5: Limpar Após Merge

Depois que seus PRs forem mesclados no GitHub:
1. Volte ao repositório principal (não em um worktree)
2. Execute `/worktree-cleanup --all`
3. Remove worktrees e branches mesclados
```

---

## Fase 5: Solução de Problemas

**MOSTRAR:**
```
## Solução de Problemas

### "Não tenho certeza de qual worktree estou"

Execute `/worktree-check` — mostra sua branch, tarefa e status.

Alternativamente:
$ git branch --show-current    # Mostra claude/<name>
$ pwd                          # Mostra o caminho do worktree

---

### "Tenho alterações não confirmadas e quero alternar tarefas"

**Opção 1:** Fazer commit de work-in-progress
$ git add . && git commit -m "wip: progresso no recurso"

**Opção 2:** Fazer stash das alterações (temporário)
$ git stash push -m "wip: estacionando alterações"

Então no outro painel, continue trabalhando. Volte depois com:
$ git stash pop

---

### "Acidentalmente comecei a trabalhar no worktree errado"

1. Fazer stash de suas alterações: `git stash push -m "trabalho feito no lugar errado"`
2. Navegar para o worktree correto
3. Aplicar o stash: `git stash pop`

---

### "Meu worktree tem conflitos de merge"

1. Execute `git fetch origin` para obter as últimas versões
2. Execute `git rebase origin/main` (ou merge se preferir)
3. Resolva conflitos no seu editor
4. `git add .` depois `git rebase --continue`

---

### "Quero abandonar um worktree"

A partir do repositório principal:
$ git worktree remove ../worktrees/repo/claude-<name> --force
$ git branch -D claude/<name>

Nota: Force é necessário se houver alterações não confirmadas.

---

### "/worktree-deliver falhou no push"

Geralmente significa que a branch remota não existe ainda ou há um conflito.

Tente:
$ git push -u origin HEAD

Se houver conflito com remote, faça pull primeiro:
$ git pull --rebase origin claude/<name>

---

### "O caminho do worktree não existe mais"

O worktree foi provavelmente deletado manualmente. Limpe o estado git:
$ git worktree prune
```

---

## Fase 6: Cartão de Referência Rápida

**MOSTRAR:**
```
┌─────────────────────────────────────────────────────────────────────────────┐
│                    REFERÊNCIA RÁPIDA DO WORKTREE                            │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  COMANDOS                                                                   │
│  ─────────                                                                  │
│  /worktree-init <tarefa1> | <tarefa2>    Criar worktrees para tarefas para. │
│  /worktree-check                         Mostrar status & tarefa atual      │
│  /worktree-deliver                       Commit, push e criar PR            │
│  /worktree-cleanup --all                 Remover worktrees e branches mescladas │
│  /worktree-cleanup --dry-run             Visualizar o que seria limpo       │
│                                                                             │
│  GHOSTTY                                                                    │
│  ─────────                                                                  │
│  Cmd+D              Dividir direita  │  Cmd+Shift+E    Igualar painéis     │
│  Cmd+Shift+D        Dividir baixo    │  Cmd+Shift+F    Alternar zoom       │
│  Cmd+Alt+Arrows     Navegar         │  Cmd+W          Fechar painel       │
│                                                                             │
│  LAZYGIT                                                                    │
│  ─────────                                                                  │
│  w                  Painel worktrees │  Space          Stage/unstage       │
│  Enter              Ver diff         │  c              Commit              │
│  P                  Push             │  ?              Ajuda               │
│                                                                             │
│  GIT (manual)                                                               │
│  ─────────                                                                  │
│  git worktree list                   Listar todos os worktrees             │
│  git worktree add -b claude/name path Criar worktree manualmente           │
│  git worktree remove path            Remover um worktree                   │
│  git worktree prune                  Limpar refs de worktree obsoletos     │
│                                                                             │
│  FLUXO DE TRABALHO                                                          │
│  ─────────                                                                  │
│  1. /worktree-init tarefas...        Criar worktrees                       │
│  2. Cmd+D (dividir painéis)          Abrir painéis Ghostty                 │
│  3. cd <path> && claude              Iniciar Claude em cada                │
│  4. /worktree-deliver                PR quando concluído                    │
│  5. /worktree-cleanup                Limpar após merge                      │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

---

## Limitações de Segurança

- **Nunca executar comandos destrutivos** sem confirmação (worktree remove, branch delete)
- **Sempre verificar localização** antes de sugerir operações com worktree
- **Se o usuário parecer perdido**, ofereça `/worktree-check` primeiro
- **Nunca deletar com força** branches que não estão mescladas
- **Não assumir que as ferramentas estão instaladas** — verificar disponibilidade do lazygit ao sugerir
- **Respeitar o ritmo do usuário** — não se apressar pelas seções se ele quiser praticar
- **Manter o cartão de referência disponível** — oferecer exibi-lo sempre que relevante

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in documentation →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.