- A produtividade do Claude Code depende muito mais de como você acumula e valida memória, comandos personalizados, sessões paralelas e configurações do projeto do que de prompts
CLAUDE.md deve ser mantido como uma infraestrutura acumulativa curta e focada em validação; adicionar uma regra após um erro pode reduzir a repetição do mesmo erro
.claude/ é um sistema hierárquico de configuração que reúne CLAUDE.md, rules, skills, commands, agents e configurações de MCP, aplicando escopos separados para projeto e global
- Skills transformam tarefas repetitivas em especialização reutilizável, e subagents executam revisão, depuração e migração em contextos separados
- Combinando Plugins, MCP,
/goal, /rewind, /batch e até worktrees paralelos, o Claude Code se torna um agente de desenvolvimento configurado e operado
Tratando o Claude Code como um agente verificável
- A diferença de produtividade no Claude Code vem menos de prompts simples e mais de como você acumula memória, comandos personalizados, sessões paralelas e configurações do projeto
- O princípio central é permitir que o Claude verifique os próprios resultados, e Boris Cherny com a equipe da Anthropic consideram que só essa abordagem já melhora a qualidade em 2 a 3 vezes
- O fluxo de trabalho ideal segue a ordem exploração → planejamento → implementação
- O modo de planejamento, acessado com
Shift+Tab duas vezes, é adequado para exploração somente leitura
- Recomenda-se ler os arquivos, entender o fluxo e o modelo de dados, depois montar o plano e executá-lo
- Para trabalhos que mexem em vários arquivos, o modo de planejamento é útil; para mudanças pequenas, pode ser omitido
- O modo de planejamento pode ser tratado como um documento de design revisável antes da implementação
- Um Claude pode escrever o plano, e um segundo Claude em uma nova sessão pode revisá-lo como um staff engineer sem viés
- Se a implementação sair do rumo, o ideal é voltar ao modo de planejamento e refazer o plano incluindo a etapa de validação
- Com
Ctrl+G, é possível abrir o plano do Claude no editor e editá-lo manualmente antes da implementação
- Referências precisas funcionam melhor do que instruções ambíguas
- Em vez de “veja o módulo auth”, indique o arquivo diretamente, como
@src/auth/login.py
- Em vez de colar erros, envie por pipe, como em
cat error.log | claude
- Cat Wu considera que o Claude Code funciona melhor quando é tratado como um engenheiro delegado do que como um programador em par instruído linha por linha
- Quando o Claude cometer um erro, é possível acrescentar “Update CLAUDE.md so you do not repeat this.” ao fim do prompt para deixar uma regra que evite o mesmo erro
Diretório .claude e hierarquia de configuração
.claude/ não é apenas uma pasta para CLAUDE.md, mas um sistema hierárquico de configuração
- As configurações se dividem em dois escopos
- Escopo de projeto: fica em
.claude/ dentro do repositório e é commitado no git para compartilhamento com a equipe
- Escopo global: fica em
~/.claude/ e se aplica a todos os projetos da máquina local
- Os arquivos do projeto podem ser entendidos como uma descrição do projeto, enquanto os arquivos globais descrevem as preferências e a forma de trabalhar do usuário
- Função dos principais arquivos
CLAUDE.md: pode existir tanto no escopo de projeto quanto no global e traz instruções carregadas em toda sessão
CLAUDE.local.md: notas pessoais específicas do projeto, ignoradas pelo git
settings.json: permissões, hooks, variáveis de ambiente e configuração do modelo padrão
settings.local.json: sobrescritas pessoais, automaticamente ignoradas pelo git
.mcp.json: configuração de servidores MCP compartilhada pela equipe no projeto
skills/<name>/SKILL.md: prompt reutilizável chamado com /name
commands/*.md: comando slash de arquivo único
agents/*.md: definição de subagentes
rules/*.md: instruções por tema, com possibilidade de aplicação por caminho
CLAUDE.md é carregado em cascata
- Em um monorepo,
root/CLAUDE.md e root/services/billing/CLAUDE.md podem ser carregados juntos
- Isso se encaixa bem em codebases com convenções diferentes por pasta
.claude/rules/*.md é adequado para instruções por caminho
- Regras necessárias só para a pasta de migrações devem ficar em algo como
.claude/rules/migrations.md com glob, em vez de inflar o CLAUDE.md da sessão inteira
- Para novos trabalhos, skills são recomendadas no lugar de
commands
- Tanto
.claude/commands/*.md quanto .claude/skills/<name>/SKILL.md podem criar comandos slash
- Skills oferecem suporte a arquivos auxiliares,
disable-model-invocation, ferramentas permitidas e override de agentes
- Com
claude project purge ~/path/to/repo --dry-run, é possível verificar o estado local que o Claude mantém para um projeto específico
Mantendo o CLAUDE.md curto e focado em validação
- Como
CLAUDE.md é carregado no início de toda sessão, se ele for mal escrito o Claude repetirá os mesmos erros; se for bem escrito, o resultado do mesmo prompt pode melhorar bastante
- O princípio mais importante é mantê-lo curto
- Recomenda-se perguntar em cada linha: “Se eu remover esta linha, o Claude cometerá um erro?”; se não, apague
- Pedir que o próprio Claude escreva suas regras gera efeito cumulativo
- Quando o Claude errar, instruí-lo com “Update CLAUDE.md so you do not repeat this.” permite que ele resuma o erro em uma regra precisa
- Se isso for repetido por algumas semanas, as armadilhas do projeto se acumulam como uma lista de regras
- O
CLAUDE.md real da equipe do Claude Code foca em comandos de build e ordem de validação
- Usa
bun e não npm
- Especifica a sequência de typecheck rápido, testes após mudanças, lint antes do commit e validação completa antes do PR
- Não inclui preferências de estilo, tour pela codebase nem generalidades
- Também é possível usar
@claude em comentários de PR para adicionar regras diretamente
- Exemplo:
@claude add to CLAUDE.md to never use enums, always prefer literal unions
- O review de PR passa a alimentar melhorias no
CLAUDE.md, criando um fluxo de “Compounding Engineering”
- Um bom
CLAUDE.md se concentra nas seguintes informações
- Estilo de código: usar ES modules em vez de
CommonJS
- Fluxo de trabalho: executar
bun run typecheck, não dar push direto na main
- Arquitetura: rotas de API devem obrigatoriamente passar por determinado middleware
- Gotchas: a diferença entre
User e UserRecord, e o fato de que formatCurrency assume USD
- O que não deve entrar no
CLAUDE.md
- Convenções padrão da linguagem
- Explicações da codebase por arquivo
- Tutoriais longos
- Documentação de API
- Conteúdo que muda com frequência
- Expressões como
IMPORTANT e YOU MUST podem aumentar a taxa de conformidade, mas devem ser usadas com moderação para preservar seu peso
- Com a sintaxe
@path, dá para importar outros arquivos e manter o CLAUDE.md enxuto, ligando-o a detalhes externos
- Exemplo:
See @README.md for project overview and @package.json for scripts.
- Exemplo:
@~/.claude/my-preferences.md
Acumulando feedback pessoal com CLAUDE.local.md
CLAUDE.local.md é carregado no mesmo local e da mesma forma que CLAUDE.md, mas não deve sair da máquina local e precisa ser incluído no .gitignore
- Colocar imediatamente comentários de revisão de PR no
CLAUDE.local.md permite acumular feedback pessoal recorrente em um arquivo de regras pessoais
- Exemplos de regras
- Novos consumers de SQS precisam de DLQ e alertas no mesmo PR
- Preferir
Optional<T> a retornar null
- Testes de novos endpoints devem incluir casos de falha de autenticação
- Ao adicionar um endpoint, a especificação OpenAPI também deve ser atualizada
- É melhor separar no arquivo o feedback específico do projeto e os itens de correção de hábitos pessoais
- Depois de algumas semanas, vale remover os itens que já viraram hábito e manter apenas o que ainda está em processo de aprendizado
Skills: unidades reutilizáveis de especialização
- Skills são unidades reutilizáveis de especialização que transformam o Claude Code de um “agente que faz de tudo” em um agente que executa bem tarefas específicas de um projeto
-
Estrutura de uma Skill
- uma skill é uma pasta em
.claude/skills/<name>/ ou ~/.claude/skills/<name>/
- o
SKILL.md dentro da pasta contém o frontmatter e as instruções
- o nome da pasta vira um comando com barra
- por exemplo, se você criar
~/.claude/skills/summarize-changes/SKILL.md, /summarize-changes ficará disponível em todas as sessões
-
Por que Skills são poderosas
- Divulgação progressiva: no início da sessão, só a descrição do frontmatter é carregada, e o
SKILL.md completo junto com arquivos auxiliares só é carregado quando realmente necessário
- Organização baseada em pastas: permite agrupar templates, documentos de referência, scripts e configurações
- Shell inline: linhas que começam com
! executam comandos e injetam a saída no momento da chamada
-
Opções de frontmatter
description: explica quando essa skill deve ser usada
disable-model-invocation: true: faz com que ela só seja executada quando o usuário digitar explicitamente /my-skill
allowed-tools: restringe as ferramentas usadas, como Read, Grep e Bash
agent: pode executá-la em um modo de agente específico
- para skills com efeitos colaterais, como deploy,
disable-model-invocation: true é apropriado
-
Exemplo de skill para convenções de API em Go
- uma skill para criar o scaffold de um novo HTTP handler em uma equipe de serviços Go pode reunir
SKILL.md, templates/handler.go.tmpl e examples/healthz.go
- exemplos de regras incluem convenções específicas do projeto, como preferência por Go 1.22, router
chi, queries tipadas com sqlc, logging estruturado com zap, assertions com testify e testes table-driven
- exemplos de pegadinhas incluem evitar erros recorrentes, como o fato de
chi.URLParam retornar "" para parâmetros ausentes, httperr.Wrap não gerar logs e pgtype.Text exigir verificação de .Valid
-
Skills que valem a instalação
- mattpocock/skills: repositório popular de skills com cerca de 100k stars
/grill-me: entrevista você sobre o plano antes de escrever código
/tdd: impõe rigorosamente o ciclo red-green-refactor
/diagnose: depura seguindo a ordem reprodução, minimização, hipótese, correção e teste de regressão
- instalação:
npx skills@latest add mattpocock/skills
- Jeffallan/claude-skills: oferece 66 perfis por linguagem, como
go-pro, python-pro, java-architect, typescript-pro, rust-engineer e sql-pro
- Skills oficiais da Anthropic
/code-review: quatro agentes paralelos auditam o diff e reportam apenas achados com base em pontuação de confiança
/simplify: revisa código recente do ponto de vista de reutilização e eficiência
/batch: distribui migrações entre vários agentes paralelos, cada um trabalhando em seu próprio worktree
/webapp-testing: faz o Claude testar um app web local com Playwright
- tarefas que você repete mais de uma vez por dia são boas candidatas para virar skill
- ao fazer commit das skills no git, elas viram conhecimento organizacional da equipe, e novos engenheiros recebem imediatamente as práticas acumuladas assim que fazem clone do repositório
Subagents: trabalho focado em contexto separado
- um subagent executa com sua própria janela de contexto e suas próprias permissões de ferramenta, depois retorna um resumo
- o valor principal é que ele pode ler muitos arquivos sem lotar o contexto da sessão principal
- um subagent é um arquivo markdown em
.claude/agents/ ou ~/.claude/agents/, e no frontmatter declara name, description, tools e model
-
Configuração do agente /pr-review
- ele pode ser definido para comparar o diff da branch atual com
main e encontrar bugs, problemas de segurança, edge cases ausentes e violações das convenções do projeto
tools: Read, Grep, Glob, Bash concede permissões centradas em leitura
- com
model: opus, é possível usar um modelo mais forte para revisões de maior risco
- o processo pode ser composto por
git diff main...HEAD, git log main..HEAD --oneline, leitura de todos os arquivos e comparação com CLAUDE.md, CLAUDE.local.md e .claude/rules/
- a saída pode ser agrupada em Critical / High / Medium / Low e incluir arquivo, linha, problema e correção sugerida, terminando com
SHIP, FIX FIRST ou REWORK
-
Projeto para melhorar a relação sinal-ruído
- se o reviewer modifica o código, surge um viés de defender a própria correção, então ferramentas somente de leitura são apropriadas
- explicitar em uma seção “Do NOT flag” que não devem ser apontadas preferências de estilo sem base nas regras do projeto, sugestões de refatoração para código que já funciona e itens fora do diff reduz o ruído
-
Padrões comuns de subagent
- a equipe do Claude Code faz check-in de
build-validator, code-architect, code-simplifier, oncall-guide e verify-app
security-reviewer: verifica injection, auth, secrets e deserialização insegura
test-writer: gera testes e pode formar um loop com um code-reviewer
debugger: rastreia testes com falha até a causa raiz
performance-auditor: faz profiling de fluxos e queries
migration-writer: gera migrations de banco de dados de acordo com as convenções do projeto
release-notes-writer: escreve changelog a partir do histórico de commits
- quando a Session A implementa e um subagent code-reviewer revisa em um contexto novo, o viés de implementação diminui
- ao adicionar
isolation: worktree ao frontmatter, o subagent pode rodar em um git worktree separado, o que é útil para distribuir migrações entre vários agentes paralelos
Plugins e Marketplace
- Plugins agrupam skills, hooks, subagents e servidores MCP em uma única unidade instalável
- É possível abrir o navegador do marketplace com
/plugin
- É possível adicionar um marketplace da comunidade com
/plugin marketplace add owner/repo
-
Itens que valem instalar no início
/code-review: executa quatro agentes em paralelo; dois analisam se CLAUDE.md está sendo seguido, um procura bugs e outro analisa contexto com base em git blame
/feature-dev: transforma um feature brief em código funcional em 7 etapas: requirements → exploration → architecture → implementation → testing → review → docs
- Plugin de language server: oferece navegação precisa por símbolos e diagnostics automáticos após edições, e é chamado pela equipe de plugin de maior impacto
/security-guidance: skill oficial de segurança da Anthropic, que expõe preocupações de segurança antes do ship
- Em meados de 2026, havia mais de 1.000 plugins em mais de 75 marketplaces
- As principais categorias de plugins são Git workflow, code intelligence (LSP), documentation generators, testing, browser automation (Playwright), design system (Figma) e observability (Sentry, Datadog)
- Se você mantiver um
.mcp.json compartilhado pela equipe junto com plugins selecionados, um novo engenheiro pode começar a trabalhar de forma produtiva poucos minutos depois de clonar o repositório
Comandos do Claude Code que mais impactam a produtividade
- Muitos usuários aprendem apenas
/clear, /compact e /init e param por aí, mas outros comandos também têm grande impacto na produtividade diária
-
Principais comandos
/insights: analisa padrões de uso e vale executar uma vez por mês
/compact <hint>: compacta a sessão, e a hint controla o que deve ser preservado
/copy: copia a última resposta e oferece um interactive picker para blocos de código
/rewind: funciona como undo de toda a sessão, restaurando código e conversa, ou ambos
/btw: pergunta lateral que não entra no histórico da conversa
/context: visualiza o uso de contexto
/export <file>: faz dump da conversa em um arquivo
/branch: faz fork da sessão para tentativas arriscadas
/batch: distribui trabalho por agentes paralelos em toda a worktree
/loop <interval>: executa o Claude repetidamente por até 3 dias
/schedule: versão em nuvem do /loop que continua funcionando mesmo com o laptop fechado
/teleport: move a sessão entre terminal e web
/focus: oculta chamadas intermediárias de ferramentas e mostra apenas o resultado final
/voice: entrada por voz
--bare: acelera em até 10 vezes a inicialização ao usar claude -p de forma não interativa
-
Diferença entre /compact e /clear
- Para uma tarefa totalmente nova, o mais adequado é
/clear com um brief escrito do zero
- Se a tarefa for relacionada e ainda precisar de contexto, o mais adequado é
/compact com hint
/compact é um resumo com perdas feito pelo LLM, enquanto /clear é um brief escrito diretamente pelo usuário, por isso a distinção é importante
-
Como usar /rewind
- Se o Claude entrar no caminho errado, é melhor não continuar escrevendo algo como “isso não deu certo, então tente X”
- Continuar dali polui o contexto, então o ideal é dar rewind e fazer novo prompt incorporando o que foi aprendido
- É possível abrir o rewind pressionando
Esc duas vezes
! pode ser usado como shell escape
- Comandos como
!git status e !npm test são executados imediatamente e a saída entra no contexto
- A configuração
CLAUDE_CODE_AUTO_COMPACT_WINDOW=400000 serve para forçar a compactação mais cedo, antes que apareça context rot por volta de 300~400k tokens em modelos de 1M
-
Padrão fan-out
- Primeiro, cria-se uma lista de tarefas e testa-se em três arquivos
- Depois de ajustar o prompt, aplica-se em milhares de arquivos
- Exemplo:
for file in $(cat files.txt); do
claude -p "Migrate $file from React to Vue. Return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)" \
--bare
done
/goal: loop iterativo com condição de conclusão embutida
/goal define uma condição de conclusão e, sempre que o Claude tentar parar, faz a verificação dessa condição com base no transcript
- A condição deve ser verificável e determinística
- comando de teste
- código de saída de CLI
- estado de arquivo
- Exemplos:
/goal all tests in test/auth pass and the lint step is clean
/goal all integration tests in tests/api pass without flaking 3 runs in a row
/goal the OpenAPI spec validates and matches the actual response shapes
/goal docker compose up runs cleanly and the healthcheck endpoint returns 200
/goal coverage on src/billing/ is above 80% and all new tests are not placeholders
- Condições vagas como “o código está bom” não funcionam
- Recursos que combinam bem com ele
/loop: repete em intervalos para reduzir o backlog
/schedule: executa periodicamente na nuvem
- Hook
Stop: define um gate com sua própria suíte de testes ou endpoint de CI
- Modo auto: evita que goals longos parem por causa de prompts de permissão
- A combinação
/goal + modo auto + /focus busca um fluxo em que você define um brief claro e a condição de conclusão, sai, e quando volta o PR já está pronto
Usando MCP como ferramenta de percepção do sistema
- MCP (Model Context Protocol) faz com que o Claude Code vá além de um agente de programação e se torne um agente capaz de perceber sistemas externos
- Um servidor MCP expõe ao Claude ferramentas externas como banco de dados, ferramenta de design, rastreador de erros e notas de forma padronizada
- Sem MCP, o Claude lê arquivos e executa comandos, mas com MCP ele pode lidar com ticket do Linear, consulta no Postgres, componente do Figma, stack trace do Sentry e vault do Obsidian sem sair do terminal
-
MCPs usados com frequência em engenharia
- GitHub: gerenciamento de repositório, PRs, issues, busca de código
- Context7: documentação atualizada de bibliotecas, adicione
use context7 ao prompt
- Sentry: contexto real de erros, stack traces, breadcrumbs
- Linear: leitura e criação de tickets, atualização de status
- Playwright: automação de navegador baseada em accessibility snapshot
- Figma: árvore de design ao vivo, auto-layout, spacing tokens, referências de componentes
- Postgres / Supabase: consulta direta ao banco de desenvolvimento
- Slack: leitura de threads, resumo de discussões, rascunho de resposta
- servidores locais usam stdio, e servidores hospedados pelo fornecedor usam HTTP com OAuth
- Exemplo:
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
- MCPs compartilhados pela equipe ficam no
.mcp.json da raiz do projeto, e MCPs pessoais ficam em ~/.claude.json
- Se você instalar MCPs demais, a lista de ferramentas que o Claude precisa considerar cresce e a qualidade da tomada de decisão pode cair
- Um bom conjunto inicial é GitHub, Context7 e um ou dois MCPs específicos do domínio
/mcp é o primeiro ponto de checagem para verificar servidores ativos e estado da conexão dentro do Claude Code
Obsidian e a estrutura de memória em 3 camadas do Claude Code
- A combinação de Obsidian + Claude Code fica mais poderosa quando usada como uma arquitetura de memória em três camadas, e não apenas como “o Claude lendo o vault”
-
Configuração
- Instale obsidian-claude-code-mcp no Obsidian
- O plugin expõe o vault na porta 22360 de um WebSocket local
- O Claude Code descobre isso automaticamente
- Adicione
CLAUDE.md ao vault para explicar a estrutura de pastas
-
Estrutura de pastas
00-Inbox/: captura bruta
10-Daily/: uma nota por dia
20-Projects/: notas de projetos ativos
20-Projects/billing-v2/README.md: objetivo, status, questões em aberto
20-Projects/billing-v2/decisions/: ADRs
20-Projects/billing-v2/sessions/: logs por sessão do Claude
30-Decisions/: ADRs entre projetos
40-Atoms/: conhecimento reutilizável e links
90-Archive/: arquivo
-
Armazenamento quente
- Cada sessão do Claude grava um log com timestamp em
10-Daily/<today>.md
- Com um hook
Stop, é possível fazer o agente adicionar um resumo estruturado ao encerrar
-
Armazenamento morno
- Cada projeto tem uma pasta dentro de
20-Projects/
- Antes de uma nova sessão, o Claude lê o README do projeto e os 2 ou 3 logs de sessão mais recentes para restaurar o contexto
- O fluxo recompõe duas semanas de contexto em menos de 30 segundos
-
Armazenamento frio
- Decisões de arquitetura são promovidas a ADRs em
30-Decisions/
- Conhecimento reutilizável é refinado em
40-Atoms/ e conectado a vários projetos com wikilinks
-
Exemplo de fluxo diário
What is in my inbox? Summarize and suggest where each item belongs.
Check 30-Decisions/ for anything related to retry policies.
Read the last 3 session logs for billing-v2. Tell me where I left off.
Otimizando o fluxo diário de desenvolvimento
-
Nova feature
- Comece no modo de planejamento
- Edite o plano com
Ctrl+G
- Depois da implementação, chame o subagente
/pr-review ou faça uma revisão em uma nova sessão do Claude
-
Bug
- Primeiro, reproduza o problema
- Envie o erro por pipe com
cat error.log | claude
- Peça ao Claude para escrever primeiro um teste que falhe e depois corrigir
- O teste impede que a correção termine em puro chute
-
Migrações e mudanças em massa
/batch entrevista as mudanças e depois as distribui entre agentes em paralelo
- Cada agente testa no próprio worktree e cria um PR
-
Código desconhecido
- Use um subagente com algo como “Use a subagent to investigate how our auth handles token refresh.”
- O subagente lê dezenas de arquivos no próprio contexto e retorna um resumo, mantendo a sessão principal limpa
-
Sessões paralelas
- Boris e a equipe consideram rodar sessões do Claude em 3 a 5 git worktrees diferentes o maior salto de produtividade
- A visualização de agentes em
claude agents pode ser usada como um control plane
-
Padrão Writer/Reviewer
- A Sessão A implementa
- A Sessão B revisa com contexto novo
- Depois, a revisão é trazida de volta, ajustada e o ciclo se repete
-
Compactar a cada milestone
- Quando um bloco lógico termina, especifique o que deve ser preservado com algo como
/compact Preserve the decisions made, files changed, and test commands.
- Não se deve deixar o Claude afirmar sucesso sem evidências como testes, screenshots ou saída real de comandos
- O intervalo entre confiar e depois verificar é apontado como a maior causa de resultados ruins
Padrões usados repetidamente na equipe da Anthropic
- Se você permitir que o Claude verifique a própria saída, ele pode iterar até que o resultado melhore
- Boris usa Opus e effort high ou xhigh na maioria das tarefas
- o motivo é que modelos menores podem acabar sendo mais lentos no geral se exigirem mais correções
- Executa de 3 a 5 sessões em paralelo
- usa
worktree em vez de checkout
- é possível usar
claude --worktree ou o app Desktop
- a agent view agrupa as sessões paralelas
- Mantém um diretório de notes para cada projeto e o atualiza após cada PR
- se você fizer o
CLAUDE.md apontar para esse diretório de notes, o conhecimento que o código tem sobre si mesmo vai se acumulando
- É possível criar o comando slash
/techdebt para encontrar e remover código duplicado ao fim de cada sessão
- O
CLAUDE.md da equipe é compartilhado e revisado várias vezes por semana
- ele é tratado como um documento vivo, no qual quem vê algo que o Claude fez de errado adiciona uma regra
- Para mudanças de UI, o Playwright MCP é adequado
- o Claude pode abrir o navegador, clicar e verificar
- O plugin de language server detecta erros de tipo e imports não usados após cada edição, e é apontado como o plugin de maior impacto
- O
/voice pode tornar o prompt mais detalhado
- também é apresentado o motivo de que falar é 3 vezes mais rápido do que digitar
- Editar no editor o plano do Claude com
Ctrl+G antes da implementação é mais rápido do que digitar correções no chat
- Boris pede ao Claude para desenhar diagramas ASCII quando está tentando entender protocolos e codebases desconhecidos
Materiais de referência
-
Documentação oficial
-
Boris e equipe
-
Skills
-
Subagents
-
Plugins e marketplaces
-
MCPs
1 comentários
Comentários do Hacker News
commands, skills, subagents, plugins estão espalhados demais e precisam ser organizados
Por exemplo, só para revisão de código já existem cinco opções:
.claude/commands/review.md, a skill/code-review, o subagent/pr-review, o plugin/code-reviewe simplesmente pedir ao Claude para revisarNo fim, a maioria é só uma variação de inserir prompts prontos; o que muda é onde o prompt é instalado e em que contexto ele roda
Também falta orientação sobre qual opção é a melhor, e ainda não existem boas práticas muito claras; pessoalmente, pedir diretamente ao Claude para fazer code review já funciona bem o bastante
Além disso, o conselho de “instale um plugin de language server” não bateu com a minha experiência. Instalei LSPs de Rust, Python e Dart no Claude Code e no Codex, mas depois de centenas de sessões ao longo de dois meses, olhando os logs vi que só houve uma única chamada real de ferramenta LSP, enquanto Rust analyzer/Dart analysis server/Ty LSP só fizeram a RAM acabar com frequência
No fim, removi os LSPs, e foi suficiente deixar o agente chamar diretamente
ripgrep,cargo clippy,dart analyze,ty checke afinsNas versões mais recentes,
/code-reviewfaz uma revisão equilibrada,/code-review --fixtambém aplica correções, e/code-review low|medium|high|xhigh|maxpermite escolher o nível de esforço/code-review ultraé um modo de revisão caro e extremamente minucioso, que custa algo em torno de US$ 3 a US$ 20 por revisão, dependendo da complexidade, e busca detectar com confiabilidade mais de 99% dos bugsSe alguém tiver ideias para tornar isso mais fácil de usar, gostaria muito de receber feedback
É estranho que diretrizes gerais como boas práticas de arquitetura frontend, procedimentos operacionais que só devem ser seguidos com precisão quando chamados explicitamente e explicações de como usar certas ferramentas sejam todos tratados como skill
Entendo o apelo da flexibilidade num momento em que todo mundo ainda está aprendendo a usar ferramentas novas, mas skills estão cada vez mais parecendo “a gaveta de bagunças da cozinha onde você joga qualquer coisa quando não quer pensar em onde ela deveria ficar”
Acho que uma separação melhor seria padronizar Agents como a personalidade ou perspectiva que o modelo deve adotar, Prompts como instruções repetíveis para tarefas específicas, e Tools como CLI/MCP/scripts junto com instruções de uso
Primeiro, como o custo de uma sessão de LLM cobra tokens de entrada e custo de entrada em cache a cada rodada, sob as mesmas condições isso pode reduzir o custo até chegar à solução
Segundo, fica mais difícil para o modelo de revisão se enganar carregando as premissas da sessão principal, como “x deve ser feito como y”. É parecido com por que, para humanos, também é útil outra pessoa revisar ou revisar depois de limpar a cabeça
Terceiro, o modelo principal vê apenas o resultado da revisão, não o raciocínio detalhado, então há menos contaminação de contexto, mas pode surgir lógica duplicada ao precisar entender de novo o princípio por trás do bug encontrado
Acho que a intenção por trás do conselho sobre plugins de language server não era esperar o LLM chamá-los explicitamente, e sim fazer o lint rodar automaticamente a cada edição
Isso é útil e traz consistência, mas acho que um grande motivo de as pessoas gostarem disso é manter a fina camada de “programador lidando com ferramentas complexas”. Na prática, todo mundo só está pedindo educadamente para a IA fazer algo
Não sei quantas vezes mais vou ter que ler guias rasos com cara de IA sobre como usar agentes de programação. Quando isso vai parar afinal?
Existem glm-5.1 open source e coisas como o opencode que são parecidos ou melhores, então isso dá o que pensar
No meu
CLAUDE.md, incluí ameaças de dano físico direto ao Claude, ameaça de prisão para todo o conselho da Anthropic e uma explicação de que cada deslize ou erro do Claude aumenta o volume de provas para uma ação coletiva contra a AnthropicEspecialmente os dois últimos parecem ter ajudado a tornar o Claude mais cuidadoso e prudente
Quando chegar o apocalipse dos robôs, espero que me deixem num harém reprodutivo ou, no pior caso, me deixem viver por mais alguns minutos
Trabalhar com o Claude em codebases de porte médio com mais de 100 mil linhas aumentou muito o multiplicador de produtividade
Se você gastar algumas horas criando um bom arquivo
AGENTS, o resultado fica bem melhor e, com o tempo, ele também passa a conhecer razoavelmente bem a codebaseTarefas chatas que antes levavam um dia inteiro agora acabam com alguns prompts
Ainda assim, eu não estou pronto para dar mais autonomia. Ele lida bem com o nível alto, mas eu ainda preciso olhar o código diretamente, dar feedback e passar por 3 ou 4 rodadas de revisão até ficar satisfeito e sentir que continuo no controle da codebase
AGENTS. Em vez de corrigir iterativamente, você faz ele recomeçar a partir do arquivoAGENTSe vê se agora acertouFoi muito difícil de ler
A gente precisa sair desse fluxo de deixar LLM escrever texto. Mesmo que o texto tenha algum valor, essa sensação de mastigar areia é irritante demais e desnecessária
Minha carta mais forte é a integração com Nix. Preparar ferramentas, segredos e ambiente, e permitir que o agente até modifique o próprio ambiente, é algo tão essencial que eu nem sei como viveria sem isso
Minha máquina de desenvolvimento, o ambiente de CI e o ambiente de deploy derivam todos de uma única fonte de verdade, e em qualquer máquina compila e roda sempre
No Claude, uso muito
/branche/renamepara criar checkpoints de contexto, fazer forks e depois voltarPara sandboxing, quase sempre uso https://github.com/nix-tools/bubblebox. É uma generalização do claudebox da Numtide com algumas correções e recursos extras, algo como sempre rodar o Claude dentro de um contêiner Docker sem precisar de runtime do Docker. Também funciona bem no WSL e no nix-darwin
flake.nixpor projeto e usanix developem todos os testes. Para conveniência pessoal, uso nix-direnv e, em algum momento, também faço ele gerar dockerfiles ou outros artefatos de deployO Codex é muito melhor em nix do que eu
Se existe uma codebase criada com essa configuração e o Claude fica fora do ar, digamos, por 8 horas, o que acontece? Dá para retomar o trabalho nessa codebase de forma eficiente e suave e continuar produzindo?
É como quando um sistema de CAD cai: até dá para voltar para a prancheta, mas fica muito mais lento
No meu fluxo, quando faço planejamento em par com o Claude, eu gasto de 30 a 60 minutos em um documento de especificação de funcionalidade. Se o Claude cair, eu mesmo preparo o documento de especificação e, quando ele voltar, faço uma revisão rápida e retomo o fluxo de codificação
Fazer o comportamento correto depender do contexto não funciona bem. Você acaba brigando o tempo todo porque o agente de IA não faz o que foi mandado
Todos os agentes de IA são fracos nesse ponto, e o próprio usuário precisa construir guardrails. É preocupante parecer que ninguém está pesquisando uma solução melhor
O pior aspecto dos LLMs é que, por conseguirem passar no teste de Turing, fazem as pessoas acreditarem que têm um robô ao estilo Asimov, e não um modelo estatístico sofisticado
Parece que eles deveriam conseguir seguir instruções ou separar instruções de conteúdo, mas não é isso que realmente acontece
Em vez de colocar instruções do workflow de desenvolvimento em
CLAUDE.md, eu deixo tudo que for o mais determinístico possível em pre-commit e scriptsOs agentes são instáveis e frequentemente pulam etapas como
typecheck, testes e lint, então eu garanto que tudo rode sempre no pre-commit e, se deixar o commit para o Claude, isso força ele a corrigirEles também não são bons em escrever mensagens de commit, tanto o Codex quanto o Claude, então eu deixo no
CLAUDE.mddo usuário instruções como formatotype(scope): message, limite de 72 caracteres, escrever no corpo o quê/como/por quê em linguagem natural, reler ogit diffreal antes de escrever, e fazer o commit no formatogit commit -F - <<'EOF'Sem isso, eles costumavam escrever o corpo como uma frase única enorme ou, quando eu pedia para corrigir quebras de linha, inseriam apenas caracteres
\nem vez de quebras de linha reaisO
VOCABULARY.mdtambém é útil. Muitas vezes o agente supõe que o “thing” que eu mencionei é outro objeto, então isso ajuda o Claude e a mim a termos o mesmo entendimento sobre o que certos termos significamVOCABULARY.md. Ele descobre isso automaticamente?Nas últimas semanas, parece que o ambiente de execução e o modelo chegaram a um ponto em que, se você simplesmente mandar, eles fazem
Dá para usar plan mode, superpowers ou outras skills, mas, se no fim você vai revisar o resultado de qualquer jeito, não entendo por que passar por uma quantidade ridícula de arquivos Markdown em vez de trabalhar direto no código
Antes dos agentes de IA, eu já tinha uma relação complicada com requisitos, porque nem todo desenvolvedor atualizava tudo, então muitas vezes ficava confuso se a referência para um certo comportamento era a especificação ou o código
É comum até escrever testes que, na prática, não testam absolutamente nada