O problema da memória

Claude Code tem um problema: esquece de tudo. Você fecha a sessão, abre outra, e é como falar com alguém que não te conhece. Você pode carregar contexto com CLAUDE.md, sim, mas e as tarefas pela metade? Os bugs que você encontrou mas não corrigiu? O plano que você tinha para amanhã?

Há três soluções que se complementam: Linear (ou sua ferramenta de produto), Beads (plugin git-backed) e Tasks (integradas no Claude Code). Cada uma para um horizonte temporal diferente.

Tasks: A memória de trabalho

Tasks é o sistema interno do Claude Code para rastrear o que está fazendo neste exato momento. Quando você pede algo complexo, Claude cria uma lista de tarefas automaticamente.

Aperte Ctrl+T para vê-las:

┌─────────────────────────────────────────────────┐
│ Tasks                                           │
├─────────────────────────────────────────────────┤
│ ✓ Ler estrutura do projeto                      │
│ ● Implementar endpoint de autenticação          │
│ ○ Escrever testes                               │
│ ○ Atualizar documentação                        │
└─────────────────────────────────────────────────┘

Características

  • Automáticas: Claude as cria quando o trabalho tem vários passos
  • Persistem após compactação: Sobrevivem quando o contexto é compactado
  • Visíveis com Ctrl+T: Toggle rápido da visualização
  • Limitadas a 10: Só mostra as 10 primeiras (peça “show me all tasks” para ver mais)

Compartilhar entre sessões

Por padrão, as Tasks morrem com a sessão. Mas você pode torná-las persistentes:

CLAUDE_CODE_TASK_LIST_ID=qualitra claude

Isso salva as tarefas em ~/.claude/tasks/qualitra/. Na próxima vez que iniciar com o mesmo ID, você recupera a lista.

Quando usar Tasks

SituaçãoTasks
Implementar uma feature em uma sessão✓
Seguir um plano de trabalho definido✓
Debugging passo a passo✓
Refatoração com passos claros✓

Tasks é para execução. Você sabe o que precisa ser feito, só precisa de acompanhamento.

Beads: A memória do projeto

Beads é um plugin que adiciona um issue tracker completo, armazenado em git. Pense nele como “Linear mas local e gratuito”.

bd list --status open
ID          TYPE    PRI  STATUS       TITLE
qua-1       epic    P2   open         Scoring Raven
qua-2       task    P1   in_progress  Implementar scoring module
qua-3       bug     P0   blocked      Stack overflow em acquireStartLock

Características

  • Git-backed: Os issues vivem em .beads/ e são commitados com seu código
  • Dependências: Um issue pode bloquear outro
  • Prioridades e tipos: Epics, tasks, bugs, features, chores
  • Multi-sessão: O contexto persiste entre sessões (e pessoas)
  • Hooks: Se sincroniza automaticamente com bd sync

O fluxo de trabalho

# Encontrar trabalho disponível
bd ready

# Ver detalhes
bd show qua-2

# Começar a trabalhar
bd update qua-2 --status in_progress

# Criar sub-tarefas
bd create --title="Escrever testes PBT" --type=task
bd dep add qua-5 qua-2  # qua-5 depende de qua-2

# Terminar
bd close qua-2

# Sincronizar
bd sync

Quando usar Beads

SituaçãoBeads
Trabalho que se estende por várias sessões✓
Bugs descobertos durante desenvolvimento✓
Features com dependências✓
Projetos com múltiplos agentes/pessoas✓
Tracking de débito técnico✓
Issues que você quer no histórico do git✓

Beads é para planejamento. Você não sabe exatamente o que fará, mas sabe quais problemas precisam ser resolvidos.

A diferença fundamental

Tasks: “Estou fazendo X, que tem passos A, B, C”

Beads: “Precisa resolver X, Y, Z. Agora trabalho em X.”

Tasks é a lista de compras enquanto você cozinha. Beads é o cardápio da semana.

Usá-los juntos

O fluxo ideal combina ambos:

  1. Beads para capturar trabalho (issues, bugs, ideias)
  2. Tasks para executar esse trabalho passo a passo
# 1. Início da sessão: o que há pendente?
bd ready

# 2. Escolho um issue
bd show qua-42
bd update qua-42 --status in_progress

# 3. Claude cria Tasks para os passos
# (automático quando peço para implementar qua-42)

# 4. Durante a sessão, encontro um bug
bd create --title="Race condition no cache" --type=bug --priority=1

# 5. Termino o trabalho original
bd close qua-42

# 6. O bug fica para outra sessão
bd sync
git push

Migração mental

Se você vem de outros sistemas:

Vem de…Tasks equivale a…Beads equivale a…
JiraSubtasks de um ticketTickets do backlog
Linear-Linear completo
GitHub Issues-Issues
NotionChecklistDatabase de tarefas
PapelLista de hojeCaderno de projeto

Setup rápido

Tasks

Já vêm incluídas. Só lembre:

  • Ctrl+T para toggle de visualização
  • CLAUDE_CODE_TASK_LIST_ID=nome para persistência
  • “clear all tasks” para limpar

Beads

# Instalar plugin
claude mcp add beads-marketplace -- npx -y @anthropics/beads-mcp

# No seu projeto
bd init

# Ver comandos
bd help

Comandos úteis

Tasks

ComandoO que faz
Ctrl+TToggle visualização de tarefas
/todosListar tarefas atuais
“show me all tasks”Ver todas (não só 10)
“clear all tasks”Apagar lista

Beads

ComandoO que faz
bd readyIssues sem bloqueios
bd list -s openTodos os abertos
bd show <id>Detalhe do issue
bd createNovo issue
bd update <id>Modificar issue
bd close <id>Fechar issue
bd syncSincronizar com git
bd blockedVer o que está bloqueado

O erro comum

Não use Beads como Tasks. Já vi isso:

# ERRADO: Beads para micro-tarefas de sessão
bd create --title="Ler arquivo X"
bd create --title="Modificar função Y"
bd create --title="Executar testes"

Isso é trabalho de Tasks, não de Beads. Beads é para coisas que importam amanhã:

# CERTO: Beads para trabalho significativo
bd create --title="Implementar autenticação OAuth" --type=feature
bd create --title="Memory leak no worker" --type=bug
bd create --title="Migrar DB para PostgreSQL" --type=epic

O sistema de três camadas

Se você trabalha com Claude Code em projetos sérios, provavelmente já usa algo como Linear, Jira ou GitHub Projects para a visão de produto. Onde isso se encaixa?

A resposta é um sistema de três camadas por horizonte temporal e audiência:

CamadaHorizonteAudiênciaFerramenta
EstratégicaSemanas/mesesHumanoLinear, Jira, etc.
TáticaDias/sessõesLLMBeads
ExecuçãoMinutos/horasLLMTasks

Por que funciona

Linear (ou sua ferramenta de produto) tem o que Beads não pode oferecer:

  • Roadmaps visuais
  • Cycles e sprints
  • Integrações (Slack, GitHub, etc.)
  • UI para pensar em grande escala
  • Colaboração com stakeholders

Beads tem o que Linear não pode oferecer:

  • Vive no repo (o LLM vê sem configuração)
  • Latência zero (local)
  • Dependências que o LLM entende nativamente
  • Histórico git das decisões
  • Funciona offline

Tasks tem o que nenhum dos outros oferece:

  • Criação automática
  • Visualização em tempo real
  • Zero fricção

O fluxo natural

Linear (roadmap)
    ↓ você decompõe manualmente
Beads (sprint/semana)
    ↓ Claude decompõe automaticamente
Tasks (sessão)

Evitar duplicação

Não copie issues do Linear para Beads literalmente. Beads deveria ter o trabalho concreto, não a descrição do produto.

# Linear (o que você quer)
"Implementar autenticação OAuth com Google e GitHub"

# Beads (o que precisa ser feito)
qua-12: Configurar OAuth provider no Supabase
qua-13: Endpoint /auth/callback
qua-14: Refresh token rotation
qua-15: Testes e2e do fluxo de login

# Tasks (o que estou fazendo agora)
✓ Ler documentação do Supabase Auth
● Criar migration para tabela oauth_tokens
○ Implementar callback handler

Linear diz o que você quer. Beads diz o que precisa ser feito. Tasks diz o que estou fazendo.

Resumo

AspectoTasksBeadsLinear
HorizonteHorasDiasSemanas/meses
AudiênciaLLMLLMHumano
AlcanceSessãoProjetoProduto
PersistênciaOpcionalGitCloud
DependênciasNãoSimSim
CriaçãoAutomáticaManualManual
ColaboraçãoNãoSim (git)Sim (equipe)
PropósitoExecuçãoTáticaEstratégia

TL;DR: Três camadas de memória para trabalhar com IA: Linear para visão de produto (semanas), Beads para trabalho tático (dias), Tasks para execução (horas). Linear diz o que você quer, Beads diz o que precisa ser feito, Tasks diz o que estou fazendo. Não duplique entre camadas.

Mais info:


Este artigo foi escrito originalmente em espanhol e traduzido com a ajuda de IA.