MÓDULO 1.6 · Trilha 1 · Fundamentos

🔬 Anatomia de um subagente

Um subagente nĂŁo Ă© mĂĄgica — Ă© um arquivo Markdown. Duas zonas, quatro campos-chave, um lugar no disco. Entender a estrutura Ă© o que separa quem usa de quem cria.

6
TĂłpicos
~30
Minutos
BĂĄsico
NĂ­vel
PrĂĄtico
Tipo

Toda vez que o maestro aciona um subagente, ele estĂĄ lendo um arquivo .md. Esse arquivo tem duas zonas obrigatĂłrias: o frontmatter (entre os trĂȘs traços ---) e o corpo (tudo depois). A primeira zona configura o agente — diz o nome, o gatilho, as ferramentas e o modelo. A segunda zona Ă© o cĂ©rebro — diz quem ele Ă© e o que faz. Juntas, essas duas partes formam o subagente completo.

FRONTMATTER ⚙ configuração name: description: tools: model: + CORPO 🧠 cĂ©rebro Papel (you are
) Passos (when invoked
) SaĂ­da (report
) NĂŁo-fazer (do not
) = SUBAGENTE completo e pronto sabe seu nome sabe quando entrar sabe o que fazer sabe o que evitar

↑ A equação do subagente: frontmatter (config) + corpo (cĂ©rebro) = agente completo.

ConteĂșdo detalhado

1

📄 O arquivo .md Ă© o subagente

Se vocĂȘ jĂĄ trabalhou com skills no Claude Code, jĂĄ viu a estrutura: um arquivo Markdown com frontmatter no topo. Um subagente Ă© exatamente isso — um .md com um frontmatter de configuração e um corpo de instruçÔes. NĂŁo Ă© binĂĄrio, nĂŁo Ă© cĂłdigo compilado, nĂŁo Ă© plugin. É um arquivo de texto que qualquer editor abre.

🔑 Por que isso importa

Quando o arquivo Ă© texto simples, vocĂȘ ganha trĂȘs coisas de graça:

  • ‱Legibilidade — vocĂȘ lĂȘ, entende e edita sem ferramenta especial.
  • ‱Versionamento — vai para o git junto com o projeto. Diff funciona.
  • ‱Portabilidade — copie a pasta .claude/agents/ para outro projeto e o agente vai junto.

📋 Skill (.claude/skills/)

Invocada com /skill-name · mesmo modelo e ferramentas do chat · mesma janela de contexto.

đŸ€– Subagente (.claude/agents/)

Acionado pela description · janela própria · modelo e tools distintos · devolve só o relatório.

O que Ă©:

Um arquivo Markdown com frontmatter + corpo. A analogia com skill.md Ă© intencional — mesma estrutura, propĂłsito diferente.

Por que aprender:

Desmistifica o subagente. NĂŁo hĂĄ nada oculto: tudo que o maestro sabe sobre o agente estĂĄ nesse arquivo.

Conceitos-chave:

Arquivo .md · frontmatter YAML · corpo Markdown · versionåvel no git · portåvel entre projetos.

2

⚙ Frontmatter (config) × corpo (cĂ©rebro)

As duas zonas tĂȘm responsabilidades completamente diferentes. O frontmatter Ă© lido pelo Claude Code para decidir se aciona o agente e como ele vai rodar. O corpo Ă© o prompt enviado ao modelo quando ele Ă© acionado — Ă© literalmente o "sistema" daquele agente. Confundir as duas zonas Ă© o erro mais comum ao criar o primeiro subagente.

.claude/agents/code-reviewer.md Markdown
⚙ FRONTMATTER — configuração
---
name: code-reviewer
description: Revisa o diff atual em busca de bugs e
falhas de segurança. Use após qualquer mudança de código.
tools: Read, Grep, Glob
model: claude-sonnet-4-5
---
🧠 CORPO — cĂ©rebro (prompt)
You are a senior code reviewer.
When invoked:
1. Run git diff to see what changed.
2. Read the changed files and understand the intent.
3. Review for correctness, security and missing tests.
Flag: bugs, security holes, and missing tests.
Be concise. Do not rewrite the code — only report.
↑ Recriação ilustrativa — as duas zonas do arquivo .md de um subagente

⚙ Frontmatter — o que faz

  • ✓Define o identificador do agente (name)
  • ✓Descreve quando o maestro deve usĂĄ-lo (description)
  • ✓Lista as ferramentas permitidas (tools)
  • ✓Escolhe o modelo que vai rodar (model)

🧠 Corpo — o que faz

  • ✓Define o papel do agente ("You are a...")
  • ✓Descreve os passos de execução
  • ✓Especifica o formato da saĂ­da
  • ✓Lista o que o agente NÃO deve fazer
O que é: a divisão em duas responsabilidades: configuração do runtime (frontmatter) e prompt do modelo (corpo).
Por que aprender: sem essa distinção vocĂȘ coloca instrução no lugar errado — tenta configurar tools no corpo ou descreve o papel no frontmatter.
Conceitos-chave: frontmatter YAML entre --- · corpo Markdown livre · lidos em momentos diferentes · propósitos não intercambiåveis.
3

🔑 Os 4 campos-chave do frontmatter

O frontmatter aceita muitos campos, mas quatro deles sĂŁo os que vocĂȘ vai escrever em todo subagente. Os demais — color, memory, disallowed-tools — sĂŁo opcionais e cobertos na Trilha 2. Por agora, domine esses quatro.

1

name — identificador

MinĂșsculas + hĂ­fens, sem espaço. Aparece nos logs e no FleetView. Use nomes descritivos: code-reviewer > cr.

2

description — gatilho

O maestro lĂȘ este campo para decidir quando acionar o agente. Description vaga = agente nunca acionado. A Trilha 2 inteira Ă© dedicada a escrever boas descriptions.

3

tools — permissĂ”es

PrincĂ­pio do menor privilĂ©gio: agente leitor → Read, Grep, Glob. Agente editor → adicione Edit, Write. NĂŁo omita — sem declarar, herda tudo do maestro.

4

model — quem executa

MecĂąnico → haiku. AnĂĄlise → sonnet. RaciocĂ­nio estratĂ©gico → opus. Escolha intencional aqui economiza custo e tempo. Trilha 3 aprofunda.

💡 Todos os campos disponíveis

AlĂ©m dos quatro acima, o frontmatter aceita: color (cor no FleetView), memory (project/user/local/none), disallowed-tools (bloqueio explĂ­cito) e campos avançados de MCP. A documentação oficial lista todos — link no tĂłpico 6 deste mĂłdulo.

O que Ă©: os quatro campos que todo subagente precisa: name, description, tools, model.
Por que aprender: sem os quatro, o agente nĂŁo Ă© acionado, usa ferramentas demais ou roda no modelo errado.
Conceitos-chave: name (id) · description (gatilho) · tools (menor privilĂ©gio) · model (custo × qualidade).
4

🧠 O corpo: as quatro seçÔes do cĂ©rebro

O corpo Ă© Markdown livre — vocĂȘ pode escrever o que quiser. Mas hĂĄ quatro peças que um corpo bem formado quase sempre tem. Pense nelas como as seçÔes de um briefing para um funcionĂĄrio novo: quem vocĂȘ Ă©, o que fazer, o que entregar e o que nunca fazer.

đŸ‘€

Papel (Role)

A primeira linha do corpo. Define a identidade do agente.

You are a senior code reviewer
focused on security.
📋

Passos (Steps)

O que fazer quando acionado, passo a passo.

When invoked:
1. Run git diff.
2. Read changed files.
3. Look for bugs.
đŸ“€

SaĂ­da (Output)

Formato e conteĂșdo do que volta para o maestro.

Report: a bullet list of
issues. Include file path
and line number.
đŸš«

NĂŁo-fazer (Limits)

Fronteiras explícitas — o que o agente não faz.

Do not rewrite code.
Do not open new files
beyond the diff.

✓ Corpo bem formado

  • ✓Começa com "You are a..." — papel claro
  • ✓Passos numerados, sem ambiguidade
  • ✓Instrução de saĂ­da explĂ­cita (bullet, JSON, prose)
  • ✓Ao menos um "Do not..." para limitar escopo

✗ Corpo fraco

  • ✗Sem papel — o modelo improvisa a identidade
  • ✗Passos vagos: "analise o cĂłdigo"
  • ✗Sem instrução de saĂ­da — o maestro nĂŁo sabe o que esperar
  • ✗Sem limites — o agente edita quando sĂł devia ler
O que é: o corpo como um briefing de quatro seçÔes: papel, passos, saída e limites.
Por que aprender: um corpo incompleto produz agentes imprevisĂ­veis — que fazem mais (ou menos) do que vocĂȘ esperava.
Conceitos-chave: role · steps · output format · limits · Markdown livre.
5

📁 Onde vive: .claude/agents — a ponte para a Trilha 2

O Claude Code procura subagentes em .claude/agents/ na raiz do projeto. É uma pasta oculta, igual Ă  .claude/skills/ que vocĂȘ jĂĄ conhece. Qualquer .md salvo ali Ă© automaticamente carregado como subagente disponĂ­vel — sem restart, sem comando de registro.

estrutura de pastas projeto
seu-projeto/
├── .claude/
│   ├── agents/               # subagentes do projeto
│   │   ├── code-reviewer.md   # ← aqui!
│   │   ├── test-writer.md
│   │   └── doc-writer.md
│   ├── skills/               # skills (diferente!)
│   └── CLAUDE.md             # instruçÔes do projeto
└── src/
    └── 


đŸ—‚ïž Projeto — .claude/agents/

Só neste projeto · vai no git · compartilhado com o time.

🌐 Global — ~/.claude/agents/

Todos os projetos · home do usuårio · agentes pessoais.

🔭 Ponte para a Trilha 2: Na Trilha 2 vocĂȘ cria esses arquivos — frontmatter completo, corpo real e o comando /agents para gerenciar o catĂĄlogo.

O que Ă©: a pasta .claude/agents/ como ponto de montagem dos subagentes de um projeto.
Por que aprender: saber onde salvar Ă© o primeiro passo para criar. Sem o caminho certo, o agente nĂŁo aparece.
Conceitos-chave: .claude/agents/ · escopo de projeto vs. global · carregamento automåtico · versionåvel.
6

📚 Documentação oficial — todos os campos

O frontmatter aceita mais campos alĂ©m dos quatro essenciais. A referĂȘncia abaixo cobre os mais usados.

📖 Campos do frontmatter — referĂȘncia rĂĄpida

Campo ObrigatĂłrio? Para que serve
name ✓ sim Identificador Ășnico — minĂșsculas e hĂ­fens
description ✓ sim Gatilho — quando o maestro aciona este agente
tools recomendado Ferramentas permitidas (lista separada por vĂ­rgula)
model recomendado Modelo do Claude que executa (haiku / sonnet / opus)
color opcional Cor do badge no FleetView
memory opcional Acesso Ă  memĂłria: project / user / local / none
disallowed-tools opcional Bloqueia ferramentas especĂ­ficas explicitamente

Doc completa: use /help agents no Claude Code (offline) ou docs.anthropic.com/claude/code/agents. Campos avançados como memory e disallowed-tools desbloqueiam comportamentos extras cobertos na Trilha 3+.

O que Ă©: referĂȘncia de todos os campos — obrigatĂłrios e opcionais.
Por que aprender: saber onde encontrar campos avançados poupa tentativa-e-erro na hora de criar agentes mais sofisticados.
Conceitos-chave: campos obrigatĂłrios × opcionais · /help agents · docs.anthropic.com/claude/code/agents.
📄

Exemplo .md totalmente anotado

Leia este doc-writer.md com atenção às anotaçÔes em comentårio. Cada linha estå rotulada com a seção a que pertence e a razão de estar ali.

.claude/agents/doc-writer.md exemplo anotado
--- ← delimitador de abertura do frontmatter

name: doc-writer
  ↑ identificador — minĂșsculas, hĂ­fens, sem acento

description: Escreve documentação técnica e READMEs
  a partir de cĂłdigo existente. Use quando o usuĂĄrio
  pedir para documentar um módulo, função ou projeto.
  ↑ gatilho — 3 frases: o que faz, quando usar, sinal

tools: Read, Glob, Write
  ↑ menor privilĂ©gio — lĂȘ cĂłdigo, escreve .md, sem Bash

model: claude-sonnet-4-5
  ↑ sonnet: boa escrita, custo razoável. Haiku bastaria?
     Não — qualidade de prosa importa aqui.

--- ← delimitador de fechamento do frontmatter

# corpo (tudo aqui Ă© o prompt enviado ao modelo)

You are a technical documentation writer.
  ↑ papel — identidade do agente (primeira coisa!)

When invoked:
1. Read the files listed in the task.
2. Identify the public interface (exports, classes, functions).
3. Write a clear README.md at the module root.
  ↑ passos — numerados, ação concreta em cada um

Output: a single README.md file with:
  - One-sentence summary
  - Installation (if applicable)
  - Usage examples in code blocks
  - API reference table
  ↑ saída — formato explícito; o maestro sabe o que esperar

Do not invent behavior that isn't in the source code.
Do not modify source files — only create/update .md files.
  ↑ limites — dois "do not" que previnem alucinação e dano
⌚

Prompts prontos (copie e cole)

TrĂȘs prompts para explorar a anatomia de um subagente que vocĂȘ jĂĄ tem — ou para inspecionar o que o maestro sabe.

Prompt 1 — inspecionar um agente existente entender cada campo
Abra o arquivo .claude/agents/code-reviewer.md e
me explique cada campo do frontmatter — o que faz,
por que estĂĄ com esse valor e o que mudaria se eu
trocasse. Depois leia o corpo e identifique o papel,
os passos, a saĂ­da esperada e os limites.
Prompt 2 — listar todos os agentes disponíveis ver o catálogo
Liste todos os subagentes disponĂ­veis em
.claude/agents/ e para cada um me mostre:
- o campo name e description
- as tools permitidas
- o modelo configurado
Formato: tabela markdown.
Prompt 3 — diagnosticar um agente que nunca Ă© acionado debugar description
Leia o arquivo .claude/agents/meu-agente.md.
O maestro nunca aciona este agente. Analise a
description: ela Ă© especĂ­fica o suficiente?
Tem as palavras-gatilho certas? Sugira 3 versÔes
melhoradas da description, do mais genérico
ao mais especĂ­fico.
🎯

Exercício — Rotule as partes

Abaixo estå um arquivo .md de subagente com 8 linhas numeradas. Para cada linha, identifique: (a) em qual zona estå (frontmatter ou corpo), (b) qual campo ou seção do corpo ela representa.

L1---
L2name: test-writer
L3description: Escreve testes unitårios para funçÔes Python.
L4tools: Read, Write, Bash
L5model: claude-haiku-4-5
L6---
L7You are a Python test engineer.
L8When invoked, read the target file and write pytest tests.

✅ CritĂ©rio — vocĂȘ acertou se, para cada linha, disse:

  • →Zona: frontmatter (L1–L6) ou corpo (L7–L8).
  • →Campo/seção: delimitador, name, description, tools, model, papel ou passos.
  • →Impacto: o que quebra se essa linha sumir.

BĂŽnus: qual ferramenta em L4 Ă© a mais arriscada e por quĂȘ Bash exige cuidado.

Gabarito

L1,L6 → delimitadores · sem eles o YAML nĂŁo parseado
L2 → frontmatter · name · sem ele o agente perde id
L3 → frontmatter · description (gatilho de acionamento)
L4 → frontmatter · tools · Bash = execução livre = risco maior
L5 → frontmatter · model · haiku = rĂĄpido e barato
L7 → corpo · papel · identidade do modelo (vem primeiro)
L8 → corpo · passos · instrução de execução

✅ Resumo do módulo

✓
O .md Ă© o subagente — arquivo de texto, versionĂĄvel, portĂĄvel. A mesma estrutura da skill.md, mas com propĂłsito diferente.
✓
Duas zonas — frontmatter (config, lido pelo runtime) e corpo (prompt, enviado ao modelo).
✓
4 campos do frontmatter — name (id), description (gatilho), tools (menor privilĂ©gio), model (custo × qualidade).
✓
4 seçÔes do corpo — papel, passos, saĂ­da e limites. Corpo sem limites produz agentes que fazem mais do que deviam.
✓
Onde vive — .claude/agents/ no projeto (ou ~/.claude/agents/ no global). Carregamento automático.
✓
Documentação oficial — /help agents para referĂȘncia local; docs.anthropic.com para a lista completa de campos.

Próximo — Trilha 2:

Trilha 1 completa. Na Trilha 2 vocĂȘ cria na prĂĄtica: frontmatter completo (todos os campos), a description como gatilho, ferramentas e permissĂ”es, e o comando /agents para gerenciar seu catĂĄlogo.