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.

Publicidade

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. Se você quer transformar essa automação em produto, veja nossas ideias de micro SaaS para fundadores solo. 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.

Publicidade

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.