MÓDULO 1.4 · Trilha 1 · Fundamentos

🔀 Built-in × Custom

O Claude Code já vem com agentes prontos para uso imediato — os built-ins. Quando eles não bastam, você cria os seus com um simples arquivo .md. Saber a diferença é o que separa quem improvisa de quem projeta.

6
Tópicos
~20
Minutos
Básico
Nível
Conceito
Tipo

Quando você instala o Claude Code, um conjunto de agentes já está lá — invisíveis, prontos, sem que você precise criar nada. São os built-ins. Mas o sistema também permite que qualquer arquivo .md com o frontmatter certo vire um agente novo — um custom. O diagrama abaixo mostra a bifurcação: o maestro lê name e description, decide qual dos dois ramos seguir, e despacha o trabalho.

maestro lê name+description Tipo? built-in × custom built-in Explore / Plan general-purpose · claude custom arquivo .md frontmatter → agente resultado volta ao maestro

↑ O maestro não precisa saber se o agente é built-in ou custom — ele lê name e description e decide. A bifurcação é interna ao sistema.

💡 Conceito central

Para o maestro, built-in e custom são idênticos: ambos têm nome, descrição e ferramentas. A diferença é de origem — os built-ins vêm com o Claude Code; os customs você cria com um arquivo .md dentro de .claude/agents/.

Conteúdo detalhado

O que são os built-ins

O Claude Code registra quatro agentes na instalação. Eles não aparecem como arquivos no seu projeto — estão embutidos no binário. Você os invoca pelo nome exato ou deixa o Claude escolher automaticamente.

Explore
Busca rápida no código. Lê arquivos, faz grep, responde "onde está X" sem modificar nada. Read-only por design.
Plan
Arquiteto de software. Produz planos de implementação, identifica arquivos críticos e avalia trade-offs sem tocar em código.
general-purpose
Curinga. Acesso a todas as ferramentas. Usado quando nenhum agente mais específico se encaixa na tarefa.
claude
Catch-all. Mesmo perfil do general-purpose — é o default do FleetView quando nenhum tipo de agente é especificado.

Por que conhecer cada built-in

Quando você deixa o Claude escolher, ele usa a description para decidir. Sem conhecer os built-ins, você não percebe quando o escolhido é inadequado — e cria um custom redundante desnecessário.

Dica: verifique /agents antes de criar qualquer custom.

Conceitos-chave

  • Embutidos no binário — não são arquivos, não aparecem no projeto, não precisam de manutenção sua.
  • Explore é read-only — por design, não tem ferramentas de escrita; ideal para pesquisa segura.
  • general-purpose ≠ custom — mesmo que você passe um "system prompt" ao invocar o general-purpose, ele não vira um custom; é uma persona temporária.

O que é a confusão

Muita gente descobre que pode invocar o general-purpose com uma instrução adicional — "aja como um revisor de código crítico" — e acha que criou um agente novo. Não criou. Criou uma persona efêmera: ela existe apenas naquela conversa, não tem nome próprio no sistema, não pode ser invocada depois e não aparece no /agents.

Por que a distinção importa

✅ Use persona efêmera quando

  • É uma tarefa única, não repetitiva
  • Você não precisa do agente amanhã
  • O comportamento varia a cada invocação

❌ Não substitui custom quando

  • Você usa o mesmo padrão toda semana
  • Outros no time precisam invocar o mesmo agente
  • Precisa de ferramentas restritas ou específicas

Conceitos-chave

  • Persona efêmera — existe só na conversa atual; morre quando você fecha a sessão.
  • Custom é persistente — vive no arquivo .md, pode ser versionado no Git, e qualquer membro do time o usa.
  • Regra prática — se você vai repetir mais de 3 vezes, crie um custom.

O que é um agente custom

Um agente custom é um arquivo Markdown com frontmatter YAML na primeira linha. Salvo em .claude/agents/ (projeto) ou ~/.claude/agents/ (global), ele é registrado automaticamente — sem instalar nada, sem reiniciar.

.claude/agents/revisor-docs.md custom agent
---
name: revisor-docs
description: Revisa documentação técnica em PT-BR buscando
inconsistências, termos ambíguos e exemplos quebrados.
model: haiku
tools:
- Read
- Grep
---
# Revisor de Documentação
Leia cada arquivo indicado e produza uma lista de problemas
com localização exata (arquivo:linha) e sugestão de correção.

Por que esse formato funciona

O Claude registra o agente lendo apenas o frontmatter. O corpo do .md é o system prompt do agente — só é lido quando ele é invocado. Isso permite um catálogo enorme de agentes sem custo de tokens no maestro: progressive disclosure em ação.

Conceitos-chave

  • Frontmatter obrigatório: name e description. O resto é opcional.
  • Escopo: agentes em .claude/agents/ do projeto ficam disponíveis apenas nele; globais em ~/.claude/agents/.
  • Versionável: o arquivo .md vai para o Git junto com o projeto — toda a equipe usa a mesma definição.

O que é progressive disclosure aqui

O maestro não carrega o corpo inteiro de cada agente no contexto para decidir qual usar. Ele lê apenas name e description de todos os agentes disponíveis — um catálogo enxuto. O system prompt completo (o corpo do .md) só é carregado quando o agente é de fato invocado.

Por que isso importa

1
Maestro recebe tarefa
Carrega apenas: name + description de todos os agentes. Custo: mínimo.
2
Maestro escolhe o agente certo
Decide com base na description. Não leu nenhum system prompt completo ainda.
3
Agente escolhido é invocado
Só agora o corpo completo do .md é carregado — na janela do agente, não no maestro.

Conceitos-chave

  • Description como contrato: é a única coisa que determina quando o agente é escolhido. Uma description vaga = invocação errada.
  • Você pode ter 50 agentes sem pagar tokens de seleção: o catálogo de names+descriptions é enxuto.
  • Cuidado com descriptions longas: a Trilha 2 ensinará a "trimar" para deixar apenas o gatilho essencial.

O modelo de custo

Cada token no contexto do maestro custa — em dinheiro e em atenção. O modelo built-in/custom evita custo desnecessário: o maestro carrega metadados (name + description), não o system prompt completo.

✅ Com progressive disclosure

  • Maestro carrega ~5 tokens por agente (name)
  • System prompt só entra na janela do agente
  • Contexto do maestro permanece limpo
  • Escala para dezenas de agentes sem custo

❌ Sem separação (inline)

  • System prompt de cada agente no contexto
  • Contexto do maestro cresce a cada turno
  • Custo multiplica com o número de agentes
  • Menos espaço para o trabalho real

Por que isso escala

20 agentes × 300 palavras cada = 6.000 palavras só de "configuração" sem progressive disclosure. Com a separação: ~100 palavras de metadados; os 300 de cada agente ficam na gaveta até serem chamados.

Regra de ouro: a description tem menos de 2 linhas. O detalhamento vai no corpo do .md.

Conceitos-chave

  • Metadados ≠ comportamento — description determina seleção; o corpo do .md determina execução.
  • Separar responsabilidades — maestro decide, agente executa, cada um com seu contexto próprio.
  • O custo real é de atenção, não só de dinheiro — um contexto lotado produz respostas piores.

O que é o /agents

Digite /agents no Claude Code para abrir o painel de agentes. Ele lista tudo: built-ins registrados pelo sistema e customs encontrados nas pastas .claude/agents/ do projeto e ~/.claude/agents/ global. É também daqui que você cria novos agentes com o assistente interativo.

claude code · /agents ilustrativo
Agents (6 found — 4 built-in, 2 custom)
● Built-in
Explore Fast read-only search agent for locating code. Use to find files by...
Plan Software architect agent for designing implementation plans...
general-purpose General-purpose agent for researching complex questions...
claude Catch-all for any task that doesn't fit a more specific agent...
● Custom (projeto: .claude/agents/)
revisor-docs Revisa documentação técnica em PT-BR buscando inconsistências...
web-scraper Busca e sintetiza dados de páginas web para relatórios...
Press [n] to create new · [e] to edit · [d] to delete · [q] to quit

↑ Saída ilustrativa do /agents. Os built-ins aparecem primeiro; os customs mostram de qual pasta vieram.

Por que verificar antes de criar

Antes de escrever um custom, abra o /agents e leia as descriptions dos built-ins. Em muitos casos — especialmente busca de código, planejamento e tarefas genéricas — um built-in já faz o que você precisa, com configuração zero.

Fluxo recomendado: /agents → leia as descriptions → se nenhum serve, crie um custom. Nunca o contrário.

Conceitos-chave

  • /agents é o inventário: sempre a fonte de verdade sobre o que está disponível no contexto atual.
  • Escopo visível: o /agents mostra agentes do projeto atual + globais. Em outro projeto, a lista muda.
  • Criar pelo wizard: ao pressionar n no /agents, o Claude te guia para preencher frontmatter — boa porta de entrada para o primeiro custom.
💬

Prompts prontos para usar agora

Copie qualquer um destes prompts e cole no Claude Code para explorar os conceitos deste módulo na prática.

Prompt 1 — descobrir o que existe
Liste os subagentes disponíveis e descreva em uma linha o que cada um faz.

Resultado esperado: o Claude usa o /agents internamente e te devolve a lista com descriptions resumidas.

Prompt 2 — decidir built-in ou custom
Preciso de um agente que vasculhe logs de erro e produza um relatório com as 5 causas mais frequentes. Devo usar um built-in existente ou criar um custom? Justifique.

O Claude vai comparar os built-ins disponíveis com a tarefa e recomendar a abordagem certa.

Prompt 3 — inspecionar frontmatter
Crie um rascunho de agente custom para revisar pull requests do GitHub. Mostre apenas o frontmatter (.md) sem o body — quero ver o mínimo necessário para o maestro reconhecer o agente.

Bom para experimentar progressive disclosure: veja como o frontmatter sozinho já define o contrato.

🎯

Exercício

Acesse o /agents na sua máquina e catalogue os built-ins disponíveis. Para cada um, escreva: nome, uma linha de description e um exemplo de tarefa onde ele seria a escolha certa.

Como fazer

  1. Abra o Claude Code e digite /agents.
  2. Leia as descriptions de cada built-in (não os custom ainda).
  3. Para cada built-in, escreva: nome | description resumida | exemplo de tarefa concreta.
  4. Identifique qual built-in você usaria com mais frequência no seu contexto de trabalho.

✅ Critério de verificação

Você completou o exercício se conseguir responder:

  • Qual built-in é read-only? (resposta: Explore)
  • Qual usar para criar um plano de refatoração? (resposta: Plan)
  • Qual usar quando nenhum outro se encaixa? (resposta: general-purpose ou claude)

Bônus

Depois de catalogar os built-ins, identifique uma tarefa do seu dia que nenhum built-in cobre bem. Anote o nome que você daria ao agente custom e uma description de duas linhas. Você vai criar esse agente na Trilha 2.

Resumo do módulo

Quatro built-ins — Explore (read-only), Plan (arquitetura), general-purpose e claude (catch-all).
Persona efêmera ≠ custom — instruções ad-hoc ao general-purpose existem só na sessão; custom é um arquivo persistente.
Custom = .md com frontmatter — name + description obrigatórios; salvo em .claude/agents/ do projeto ou global.
Progressive disclosure — maestro lê só name+description; o system prompt completo só é carregado na invocação.
Economiza tokens — separar metadados de comportamento permite escalar para dezenas de agentes sem custo no maestro.
/agents é o inventário — liste sempre antes de criar; o que existe já pode resolver o problema.

Próximo módulo:

1.5 — A pergunta que decide. Como saber quando um subagente resolve — e quando ele complica.