Claude Code Agents são subagents especializados que você cria com um arquivo Markdown em .claude/agents/, cada um com system prompt, tools restritas e modelo próprios. Basta escrever o frontmatter YAML com name e description, salvar e o Claude passa a delegar tarefas pra ele sozinho. Neste guia você monta seu primeiro subagent do zero, aprende a dar skills, agendar com cron e orquestrar vários agentes ao mesmo tempo, do básico ao avançado.

Aliás, a pressa faz sentido. Segundo a Stack Overflow Developer Survey 2024, 76% dos desenvolvedores já usam ou planejam usar IA no fluxo de trabalho, e ferramentas como o Claude Code lideram esse movimento. Portanto, entender Claude Code Agents deixou de ser curiosidade e virou vantagem prática. Além disso, o recurso serve tanto pra quem nunca abriu um terminal quanto pra quem já orquestra pipelines inteiros com IA.

O que são Claude Code Agents?

Na prática, um agente no Claude Code é uma instância paralela do Claude com janela de contexto separada, system prompt próprio e uma lista de tools que você define. Na prática, ele funciona como um assistente dentro do assistente. Quando a conversa principal encontra uma tarefa lateral, ela dispara o agente, que trabalha isolado e devolve só o resultado final. Dessa forma, o conteúdo intermediário nunca polui a thread principal.

Por exemplo, pense numa redação de jornal. Por exemplo, o editor-chefe não escreve cada matéria, ele delega a repórteres especializados. Um cobre esportes, outro cobre economia. Além disso, cada repórter tem sua própria mesa e suas próprias fontes. Assim funcionam os Claude Code Agents: cada subagent domina um assunto, mantém seu contexto limpo e responde ao agente principal. Por isso o ganho vem de arquitetura melhor, não de prompt maior.

Para o iniciante, a leitura é simples: agente é um especialista que você configura uma vez e reusa sempre. Para o dev avançado, a definição importa mais: segundo a documentação oficial da Anthropic, cada subagent herda as permissões da sessão principal, mas pode receber restrições adicionais. Ou seja, você delega uma tarefa de leitura a um modelo barato sem nunca expor capacidade de escrita.

Agente principal x subagent: contexto isolado

Agente principal

Conversa com você. Coordena o trabalho e junta os resultados.

Subagent (contexto próprio)

Executa a tarefa isolado. Devolve apenas o resumo final, sem ruído.

O histórico do subagent morre com ele. Só a resposta volta pro agente principal.

Agentes vs subagents: qual a diferença?

Na prática, essa dúvida aparece cedo, então vale esclarecer. No vocabulário da Anthropic, os Claude Code Agents nascem do agente principal, que é o Claude Code em si, o programa que conversa com você no terminal. Já o “subagent” é cada especialista que esse agente principal pode invocar. Na conversa do dia a dia, muita gente usa os dois termos como sinônimo, e tudo bem. Contudo, na hora de configurar, a distinção fica clara: você cria subagents, e o agente principal os despacha.

Inclusive, além dos que você cria, o Claude Code já vem com subagents embutidos. O Explore roda em modelo Haiku e só lê arquivos, ideal pra vasculhar a base de código sem gastar tokens. O Plan pesquisa antes de propor uma estratégia. O general-purpose é o canivete suíço, com todas as tools liberadas. Por isso, antes de criar qualquer agente, experimente os built-in. Eles cobrem boa parte dos casos onde isolar contexto já resolve.

Como criar seu primeiro subagent no Claude Code (passo a passo)

Agora chegou a parte prática. Dessa forma, os Claude Code Agents personalizados moram em dois lugares. Dentro do projeto, em .claude/agents/, ele fica versionado no Git e vale pro time inteiro. No seu home, em ~/.claude/agents/, ele acompanha você em todos os projetos. Portanto, a regra é simples: agente do time vai pro projeto, agente pessoal vai pro home.

Primeiro, crie a pasta e um arquivo Markdown. Além disso, cada arquivo tem duas partes: o frontmatter YAML no topo (a configuração) e o corpo abaixo (o system prompt). Veja a seguir um subagent revisor de código completo, pronto pra copiar:

Code
# arquivo: .claude/agents/code-improver.md

---
name: code-improver
description: Analisa arquivos e sugere melhorias. Use após escrever ou modificar código.
tools: Read, Grep, Glob
model: sonnet
---

Você é um revisor de código sênior. Quando invocado:

1. Leia os arquivos modificados na conversa.
2. Aponte problemas de segurança, código duplicado e falta de validação.
3. Retorne um bullet por achado, com arquivo, linha aproximada e sugestão.

Não modifique arquivos. Apenas relate.

Depois de salvar, reinicie a sessão do Claude Code. Em seguida, o agente já aparece disponível. Você pode pedir “revise as mudanças” e o Claude despacha pro code-improver automaticamente, porque a description casa com a tarefa. De fato, esse campo é o mais importante do arquivo: é por ele que o Claude decide quando delegar. Por isso escreva descriptions específicas, com gatilhos claros como “use após modificar código”.

Aliás, um detalhe crucial para quem está começando: o corpo Markdown vira o system prompt, e o subagent não enxerga o histórico da conversa principal nem o CLAUDE.md do projeto. Ou seja, ele só recebe o que você escreveu no arquivo e a instrução da invocação. Dessa forma, as instruções precisam ser autossuficientes. Na prática, supor contexto externo é o erro número um de quem cria o primeiro agente.

Configuração avançada: tools, model e invocação

Em seguida, com o básico funcionando, três campos do frontmatter dão poder real ao agente. O campo tools restringe o que ele pode fazer. Ao listar só Read, Grep, Glob, você garante que o revisor jamais edita nada. Por outro lado, se omitir o campo, o subagent herda todas as tools da sessão principal. Na prática, allowlist curta é o que separa agente útil de agente perigoso.

O campo model controla custo e velocidade. Tarefas de leitura e triagem vão bem em haiku, que é mais rápido e barato. Já revisões complexas ou geração de código pedem sonnet ou opus. Assim, rotear cada tarefa pro modelo certo evita queimar tokens caros num trabalho simples. Inclusive, esse é um trade-off que a própria documentação recomenda: barato para o volume, potente para o gargalo.

Por fim, existe a invocação. Além do roteamento automático pela description, você pode chamar um agente na mão. No chat, escreva @code-improver para forçar o despacho. Já no modo headless, que veremos adiante, a flag --agent aponta direto pro subagent. Veja o esqueleto de um agente de pesquisa, o researcher, simplificado:

Code
# arquivo: .claude/agents/researcher.md

---
name: researcher
description: Pesquisa keyword, SERP e People-Also-Ask. Retorna briefing JSON. Use antes de escrever qualquer artigo.
tools: Read, WebSearch, WebFetch
model: sonnet
---

Você é um pesquisador de SEO. Ao receber um tema:

1. Valide volume e dificuldade da keyword principal.
2. Extraia 3-5 perguntas People-Also-Ask da SERP.
3. Monte fan-out keywords e ângulos não óbvios.
4. Devolva TUDO como JSON, sem prosa fora do objeto.

Inclusive, repare no contrato de saída: JSON puro. Dois subagents podem conversar justamente por esse formato: um researcher devolve o briefing, e um writer consome esse briefing pra escrever o texto. Ou seja, a saída de um agente é a entrada do próximo. É esse contrato que torna o pipeline previsível e fácil de depurar.

Skills: como dar habilidades aos seus agentes

Se o subagent é um trabalhador, a skill é o manual de procedimento que ele consulta. Uma skill vive em .claude/skills/<nome>/SKILL.md, como detalha a documentação de skills da Anthropic, e segue o padrão aberto agentskills.io. Na essência, ela empacota um passo a passo reutilizável que os Claude Code Agents carregam apenas quando precisam. Por isso o custo é baixo: o corpo da skill só entra no contexto no momento do uso, num mecanismo chamado progressive disclosure.

Na prática, para o iniciante, pense na skill como uma receita salva. Você escreve uma vez “como fazer deploy” e, sempre que pede deploy, o Claude segue a receita sem você repetir os passos. Veja a seguir uma skill simples:

Code
# arquivo: .claude/skills/deploy/SKILL.md

---
name: deploy
description: Faz o deploy da aplicação para produção.
disable-model-invocation: true
allowed-tools: Read, Bash
argument-hint: [ambiente]
---

Para fazer o deploy:

1. Rode os testes com `npm run preflight`.
2. Se passar, execute `git push` para a branch de release.
3. Confirme o status do deploy e reporte a URL final.

Além disso, para o dev avançado, os campos do frontmatter mudam o comportamento. Com disable-model-invocation: true, a skill só roda quando você digita /deploy, nunca de forma automática. Sem esse campo, o Claude a carrega sozinho quando a description casa. O allowed-tools restringe as ferramentas, e o context: fork faz a skill rodar dentro de um subagent separado. Assim, você combina os dois conceitos: uma skill que executa em contexto isolado.

Inclusive, vale uma nota histórica: os antigos custom commands viraram skills. Um arquivo .claude/commands/x.md equivale hoje a .claude/skills/x/SKILL.md. Portanto, se você já usava comandos, sua migração é quase automática. Para um catálogo do que a comunidade já publicou, veja as skills mais populares do Claude Code e economize trabalho.

Subagent, skill ou MCP: quando usar cada um

Ao desenhar Claude Code Agents, os três termos se confundem, mas resolvem problemas diferentes. Por exemplo, o subagent é um trabalhador com contexto próprio. A skill é um procedimento reutilizável que os Claude Code Agents consultam no mesmo contexto. No entanto, o MCP conecta ferramentas e dados externos, como bancos e APIs. A tabela abaixo resume a escolha para não errar na hora de desenhar seu setup.

Conceito O que é Contexto Use quando
Subagent Trabalhador Claude com prompt e tools próprios Próprio, isolado Precisa isolar uma tarefa e preservar contexto
Skill Procedimento ou conhecimento reutilizável O mesmo da sessão Quer repetir um passo a passo sem redigitar
MCP Protocolo que expõe tools e dados externos Fonte de ferramentas Precisa acessar API, banco ou sistema externo

Na prática, os três se combinam. Um subagent usa skills como procedimento e MCP como fonte de dados. Se você quer se aprofundar em conectar ferramentas externas, veja nosso guia de MCP Server no Claude Code. Dessa forma, você entende a peça que falta pra montar agentes que tocam o mundo real.

Schedule, loops e cron: agende tarefas dos agentes

Criar Claude Code Agents é metade do caminho. Na prática, a outra metade é fazer eles rodarem sozinhos, sem você digitar nada. Aqui entra o modo headless, o coração da automação. Com a flag -p (ou --print), o Claude Code roda sem interface interativa, executa a tarefa e devolve o resultado. Portanto, é isso que você agenda num cron ou dispara num pipeline de CI.

Por exemplo, veja a seguir o comando que aciona um agente específico de forma não interativa:

Code
claude -p "pesquisa o tema e devolve um briefing" \
  --agent researcher \
  --permission-mode acceptEdits \
  --allowedTools "Read,Bash" \
  --output-format json

Na prática, cada flag tem um papel. A --agent escolhe qual subagent conduz a sessão. A --permission-mode acceptEdits evita que o Claude pare pra pedir confirmação, essencial em execução automática. A --allowedTools limita o que ele pode fazer, e a --output-format json traz até o campo total_cost_usd, útil pra monitorar gasto. Assim, você tem uma execução previsível e auditável.

Por exemplo, para o iniciante, o jeito mais fácil de agendar mora dentro da própria sessão. O comando /loop repete uma tarefa em intervalos, e o /scheduled-tasks lista o que está agendado. Você abre o Claude Code, digita /loop 30m "checa novos comentários" e pronto, ele repete a cada 30 minutos. Além disso, nenhuma configuração de sistema é necessária.

Do /loop ao cron: agendamento no sistema

Por outro lado, para o dev avançado, o cron do sistema operacional dá controle total. Basta envolver o comando claude -p num script e apontar o cron pra ele. Veja um exemplo que roda a auditoria toda manhã às 9h:

Code
# abra o editor do cron com: crontab -e

# roda o agente todo dia às 9h e loga a saída
0 9 * * * cd /caminho/do/projeto && \
  claude -p "gera o relatório diário do projeto" \
  --agent researcher --permission-mode acceptEdits \
  --output-format json >> /var/log/claude-agent.log 2>&1

No macOS, o launchd cumpre o mesmo papel do cron com mais robustez. Se quiser um passo a passo dedicado a essa parte, temos um guia inteiro sobre cron jobs no Claude Code. E para automações que disparam a partir de outros sistemas, vale ver como integrar o n8n com o Claude Code. Dessa forma, seus agentes deixam de depender da sua presença no teclado.

Orquestração: vários subagents trabalhando juntos

Por fim, o poder real aparece quando os agentes cooperam. Um agente principal pode disparar vários subagents, receber os resultados e consolidar tudo. Um pipeline assim funciona como uma linha de montagem onde cada subagent cuida de uma etapa. Veja como as peças se encaixam:

Exemplo de pipeline de subagents

researcher

coleta o contexto

writer

gera o rascunho

reviewer

aprova ou ajusta

A saída de cada agente é a entrada do próximo. Contrato JSON entre etapas.

Contudo, existe uma regra de ouro que muda o desenho: um subagent não pode chamar outro subagent. Inclusive, a Anthropic bloqueia isso de propósito, pra evitar recursão infinita e custo descontrolado. Por isso o squad precisa ser linear, não uma árvore. Assim, o agente principal despacha os N subagents, e cada um trabalha isolado. Se você precisa de hierarquia, roda um claude --agent em um shell separado.

Portanto, recomendamos começar os seus Claude Code Agents com três subagents focados, como pesquisador, escritor e auditor, antes de virar um zoo de dez agentes. De fato, cada agente extra dilui o ganho de contexto isolado se o principal não souber roteá-los bem. Por isso, preferimos poucos agentes com contratos claros a muitos agentes vagos. Para entender a filosofia por trás de dividir tarefas em IA, vale a leitura sobre agentic engineering, e sobre o Claude Cowork, que leva a autonomia adiante. O próprio uso do Claude Code dentro da Anthropic mostra o quanto esse padrão de orquestração escala.

Conclusão e próximos passos

Os Claude Code Agents não são um enfeite do terminal. Eles reorganizam a forma como você usa IA pra trabalho técnico. Por outro lado, quem trata o agente como “assistente extra” perde o ponto. Quem desenha um squad com contratos JSON, tools restritas e agendamento entrega resultado em produção com previsibilidade. Portanto, o pulo do gato está na arquitetura, não no tamanho do prompt.

Um ponto que nenhuma automação dispensa: a responsabilidade final é sua. O agente executa a etapa, mas quem comanda precisa auditar a saída e validar se está tudo conforme o esperado antes de confiar nela. Além disso, os subagents e as skills automatizam o trabalho pesado, porém a decisão, a revisão e a qualidade continuam nas suas mãos. No fim, o trabalho é seu; eles só aceleram as etapas.

Por fim, comece hoje mesmo, do jeito mais simples. Primeiro, crie um único subagent revisor em .claude/agents/. Em seguida, transforme uma tarefa repetitiva numa skill. Por fim, agende esse fluxo com /loop ou cron e observe o tempo que você economiza. Dessa forma, você sai do zero pra um pipeline funcional em uma tarde, e depois é só refinar cada peça.

O que são Claude Code Agents?
Claude Code Agents, também chamados de subagents, são instâncias especializadas do Claude com janela de contexto separada, system prompt próprio e tools restritas. Você os define em arquivos Markdown na pasta .claude/agents/. Quando o agente principal encontra uma tarefa que casa com a description do subagent, ele delega, e o subagent trabalha isolado e devolve só o resultado final, mantendo a conversa principal limpa.
Como criar um agente no Claude Code do zero?
Crie a pasta .claude/agents/ no seu projeto e adicione um arquivo Markdown, por exemplo revisor.md. No topo do arquivo, escreva o frontmatter YAML com pelo menos name e description. Abaixo, escreva o system prompt com as instruções. Salve e reinicie a sessão do Claude Code. Pronto, o agente já fica disponível e é despachado automaticamente quando a tarefa bate com a description.
Qual a diferença entre skill e subagent?
A skill é um procedimento reutilizável que roda no mesmo contexto da sessão, como uma receita salva de passos. O subagent é um trabalhador com contexto próprio e isolado. Em resumo: use skill para repetir um passo a passo sem redigitar; use subagent para isolar uma tarefa e preservar o contexto principal. Os dois se combinam, já que um subagent pode carregar skills durante a execução.
Como agendar um agente do Claude Code para rodar sozinho?
Use o modo headless com a flag -p. Monte um comando como claude -p "sua tarefa" --agent nome-do-agente --permission-mode acceptEdits e coloque num script. Depois, agende esse script com o cron no Linux ou macOS, ou com o launchd no Mac. Dentro da própria sessão, os comandos /loop e /scheduled-tasks agendam tarefas sem configurar nada no sistema.
Um subagent pode chamar outro subagent?
Não. A Anthropic bloqueia essa recursão de propósito, para evitar loops infinitos e custos descontrolados. Por isso o desenho do squad precisa ser linear: o agente principal dispara vários subagents em paralelo ou em sequência, e cada um trabalha isolado. Se você precisa de uma hierarquia real, rode uma nova sessão com claude --agent em um shell separado, funcionando como um novo agente principal.