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​