Pular para o conteúdo principal

M11 — As Seis Primitivas

Bloco 6 — Extensão do Claude Code · Eixo A (usa Eixo B) · Nível NÍVEL 1 + NÍVEL 2 · LAB

Abertura

Claude Code não vem só com o que aparece na tela: existem seis mecanismos para estendê-lo além de fábrica, e é isso que este módulo apresenta. Com M7 (Memória e Contexto) e M8 (Configuração e Governança Local), você já sabe operar o Claude Code no dia a dia. Com M9 e M10 recém-vistos, várias dessas primitivas vão ter paralelos diretos com conceitos de programação que você acabou de aprender.

Conceito central

As seis primitivas de extensão do Claude Code não são seis variações da mesma ideia — cada uma resolve um tipo diferente de repetição ou de limite, e é essa pergunta por trás de cada uma, mais do que o nome, que as separa de verdade.

Skills resolvem um problema de repetição de conhecimento: toda vez que uma tarefa exige um jeito específico de fazer algo — um checklist de revisão, um padrão de commit, uma convenção do seu time —, você teria que reexplicar isso do zero a cada sessão. Uma Skill empacota esse conhecimento uma única vez, e o Claude Code passa a consultá-la sozinho, sempre que perceber que ela é relevante para a tarefa em andamento — você não precisa chamá-la pelo nome. É conceitualmente parecido com uma função (M10): conhecimento reutilizável e encapsulado, chamado quando necessário — só que quem decide chamar é o próprio agente, não você.

Subagents resolvem um problema diferente: o de sobrecarregar a janela de contexto (M7) de uma única sessão com detalhes que só importam para uma parte específica do trabalho. Em vez de a mesma instância investigar um bug, escrever testes e revisar documentação tudo misturado na mesma conversa, um Subagent é disparado como uma instância separada, com sua própria janela de contexto, para tratar só aquela parte — e devolve o resultado, sem carregar de volta para a sessão principal todo o histórico da investigação. Aqui você já entende o que é um Subagent e por que ele existe — isolar e focar; em M13 você vai ver como coordenar vários Subagents ao mesmo tempo, em paralelo.

Slash Commands resolvem a mesma repetição que as Skills, mas do lado oposto: em vez de o agente decidir sozinho quando aplicar algo, é você quem dispara explicitamente, digitando /nome-do-comando. É a versão geral do slash command que você já usa desde M3 (/clear, /help) — só que aqui, qualquer atalho recorrente do seu próprio fluxo de trabalho pode virar um comando próprio, não só os que já vêm prontos.

Hooks resolvem um terceiro tipo de repetição: nem uma que você pede (Slash Command), nem uma que o agente decide aplicar (Skill), mas uma que deveria acontecer sempre, automaticamente, amarrada a um evento — rodar os testes antes de todo commit, por exemplo. Um Hook é código disparado pelo próprio Claude Code em resposta a esse evento, sem que ninguém precise lembrar de pedir a cada vez — é a primitiva mais parecida com uma regra fixa do sistema do que com uma instrução pontual.

O MCP (Model Context Protocol) resolve um problema de alcance: tudo que as outras primitivas fazem acontece dentro do seu computador, mas boa parte do trabalho real depende de sistemas externos — um quadro de tarefas, um banco de dados, um serviço na nuvem. Em vez de cada integração ser construída do zero, de um jeito diferente para cada serviço, o MCP é um protocolo comum — uma linguagem compartilhada — que qualquer serviço pode falar para se conectar ao Claude Code de forma padronizada. Aqui você já entende o que o MCP é e por que ele existe — conectividade padronizada; em M12 você vai ver como conectar e usar um servidor MCP de verdade.

Por fim, Plugins resolvem um problema de distribuição: depois de montar uma Skill, um Hook e um Slash Command que funcionam bem juntos, reconfigurar cada peça manualmente em todo projeto novo — ou compartilhar com outra pessoa — seria repetitivo. Um Plugin empacota várias primitivas — Skills, Subagents, Slash Commands, Hooks, MCP — numa unidade instalável de uma vez só: o equivalente a uma biblioteca (M15) no mundo do Claude Code, só que de comportamento do agente, não de código Python.

Vale nomear essa analogia explicitamente: assim como M9 e M10 ensinaram a empacotar dados e lógica reutilizável em estruturas e funções, essas seis primitivas empacotam seis tipos diferentes de comportamento reutilizável para o próprio Claude Code — cada uma respondendo a uma pergunta distinta sobre extensão, não a variações da mesma ideia.

Na prática

Uma transcrição mínima mostrando cada primitiva em uso:

> Revise este PR usando nossas convenções de commit

Invocando Skill "revisao-de-codigo"...
Analisando mudanças do PR #58...
Sugestão: extrair validação repetida para uma função.

> Enquanto isso, use um Subagent para escrever os testes que faltam
no módulo de autenticação

Disparando Subagent "escritor-de-testes"...
Subagent concluído: 4 testes novos escritos, 4 passando.

> /testes

Rodando Slash Command "/testes"...
4 testes passando.

> git commit -m "corrige bug de timeout"

Hook pre-commit disparado: rodando testes antes do commit...
Commit realizado.

> Busque o status do deploy mais recente

Chamando servidor MCP (deploy-tracker)...
Deploy #212: concluído há 12 minutos, sem erros.

> /plugin instalar revisor-pr

Instalando Plugin "revisor-pr" (empacota uma Skill, um Slash Command
e um Hook próprios)...
Plugin instalado — "/revisar-pr" já disponível.

Repare que cada linha responde a uma pergunta diferente das que abriram o Conceito central: a Skill foi consultada pelo próprio agente, o Subagent isolou uma sub-tarefa, /testes foi um pedido seu, o Hook disparou sozinho no commit, o servidor MCP alcançou um sistema externo, e o Plugin instalou várias dessas peças de uma vez. Não é necessário esgotar nenhuma primitiva aqui — Subagents voltam com mais profundidade em M13, e MCP em M12 — mas cada uma já tem uma representação própria e reconhecível neste módulo.

Diagrama

As seis primitivas agrupadas pela pergunta que cada uma resolve — não é só uma lista do que existe, é o que diferencia uma da outra:

As seis primitivas de extensão do Claude Code, por tipo de problema
Etapa 1 de 13

Lab opcional 🔵

Opcional — para assinantes

Crie uma Skill simples e um Slash Command simples no seu próprio ambiente, e invoque os dois.

Checkpoint