Pular para o conteúdo
← artigos
Claude CodeSkillsPrompt EngineeringAI Agents

Skill vs prompt vs memória vs subagent no Claude: o que usar e quando

Quatro primitivas, uma decisão. Acabe com a confusão entre prompts do Claude, memória no CLAUDE.md, skills e subagents. Escolha a ferramenta certa toda vez.

Um prompt é um bilhete que você deixa para o modelo e joga fora. Uma skill é infraestrutura que você constrói uma vez e roda para sempre.

Este texto faz parte de uma série sobre skills do Claude Code. Se você nunca criou uma, comece pelo guia do zero para criar skills no Claude Code: SKILL.md, referências, o mapa de carregamento e quando vale a pena criar uma skill.

Qual primitiva você precisa? Quatro opções: prompt, memória, skill, subagent. A resposta não é questão de gosto. Cada uma atende a um contrato diferente, e escolher a errada significa construir infraestrutura de que você não precisava ou redigitar as mesmas instruções até elas se desviarem.

O que cada primitiva é de fato

Quatro ferramentas. Quatro contratos completamente diferentes. As quatro podem produzir o mesmo resultado numa única sessão. A diferença é o que acontece na semana que vem, quando o trabalho voltar.

Um prompt é uma instrução de uma sessão. Você escreve, o modelo lê, a sessão acaba e ele some. A ferramenta mais rápida e mais descartável. Sem versionamento, sem estrutura obrigatória.

A memória (o seu CLAUDE.md no nível do projeto ou do usuário) é contexto persistente e sempre ligado. Ela não dispara. Carrega sozinha em toda sessão. Regras fixas e fatos sempre verdadeiros moram aqui: sua stack, suas convenções, seu tom. Nada disso deveria precisar ser dito duas vezes.

Uma skill é um método versionado e reutilizável. Tem um SKILL.md com um name e uma description. O modelo lê esses campos em toda sessão e sabe quando a skill se aplica. Quando ela dispara, carrega as suas referências. O método fica consistente porque mora num arquivo, e não na sua memória.

Um subagent é um worker isolado. Ele faz um fork do contexto para uma página em branco. Não serve para respostas melhores: serve para isolamento e paralelismo. Jobs longos que degradariam o contexto principal, ou tarefas que você quer rodar em paralelo, vão para lá.

As quatro primitivas num relance

0
sessões que sobrevivePrompt: uma vez só, depois some
∞
sessões em que carregaMemória: sempre ligada, sem gatilho
1
gatilho: uma descriptionSkill: método versionado e reutilizável
1
contexto isolado por chamadaSubagent: worker isolado
Mesmo resultado, contratos diferentes. A distinção importa ao longo das sessões, não dentro de uma só.

Quando um prompt é a escolha certa

Para uma tarefa que você nunca vai repetir do mesmo jeito em outras sessões, o prompt é a ferramenta correta. Sem setup, sem overhead, pronto.

A pergunta que decide: “Vou precisar exatamente desse comportamento de novo semana que vem?” Se não, escreva o prompt. O custo de criar uma skill para algo pontual é real (um dia de destilação, versionamento e testes). O custo de escrever um prompt, não. Ninguém ganha prêmio por infraestrutura de que não precisa.

Onde o prompt quebra é na repetição. Se você está digitando a mesma instrução de vários parágrafos três sessões seguidas, está fazendo o trabalho da skill na mão e se desviando um pouco a cada vez que redigita. Três repetições é o limite. Passou disso, a variação no jeito de escrever produz resultados significativamente diferentes. Isso não é problema de prompt. É uma skill faltando.

Quando a memória no CLAUDE.md é a escolha certa

Contexto sempre verdadeiro vai para a memória, e não para um prompt que você repete toda sessão. Se é verdade hoje e continua sendo daqui a seis meses, é memória.

Sua stack (Astro, TypeScript, Tailwind), suas convenções (só inglês, só tema escuro, sem valores arbitrários de CSS), sua voz (sem cacoetes de IA, primeira pessoa): nada disso precisa ser disparado. Precisa estar ligado. Em toda sessão. Sem você pedir. O CLAUDE.md faz isso.

Memória não é método. Ela não ensina o modelo a fazer uma revisão de segurança nem a aplicar um estilo editorial consistente. Ela diz ao modelo o que é sempre verdade sobre o projeto. Se você está escrevendo “quando o usuário pedir X, faça Y, depois Z” dentro do CLAUDE.md, essa lógica é de uma skill, não da memória.

Quando criar uma skill

Uma skill faz sentido quando três condições se cumprem: o trabalho se repete, exige um método específico e precisa produzir resultados consistentes entre sessões.

Uma condição sozinha não basta. Trabalho que se repete mas é trivial (rodar os testes, preparar um commit) se resolve com um alias ou um prompt curto. Trabalho que exige um método específico mas roda uma vez só vai num prompt. Trabalho que precisa ser consistente mas é só sobre fatos sempre verdadeiros vai na memória.

As três juntas: esse é o sinal para construir.

A heurística que uso na prática: já expliquei o mesmo workflow para o modelo três vezes ou mais? Se sim, o modelo esqueceu três vezes. Isso não é problema de prompt. É uma skill faltando.

Minha biblioteca de skills é a regra funcionando. Skills como alex-hormozi (design de ofertas), neil-patel (auditorias de SEO), dhh (reescritas editoriais) e toda a suíte lifeos-* (operações de segundo cérebro: capturar, ingerir, revisar, registrar no diário, consultar) existem pelo mesmo motivo: o trabalho voltava, precisava de um método específico e variava de uma sessão para outra sem um arquivo para segurá-lo.

Isso deveria ser uma skill?

  • Obrigatório:
    Rodei esse workflow mais de duas vezes, em sessões separadas.
  • Obrigatório:
    O resultado varia quando não especifico o método explicitamente.
  • Obrigatório:
    A tarefa exige mais de uma decisão: frameworks, referências, checklists.
  • Obrigatório:
    Preciso do mesmo comportamento, não importa como eu escreva o pedido.
  • Obrigatório:
    Quero versionar e melhorar o método com o tempo.
Três ou mais sim? Crie a skill. Menos de três? Um prompt bem escrito resolve.

Quando você precisa de um subagent

Subagent não é para trabalho mais difícil. É para trabalho que precisa de isolamento.

Dois casos em que isolamento é a resposta certa: a tarefa é grande o bastante para degradar o contexto principal (uma varredura do codebase inteiro, uma pesquisa longa por muitos arquivos), ou você quer rodar várias tarefas em paralelo sem interferência. O subagent faz um fork do contexto, cumpre a tarefa e devolve um resultado. Sua thread principal fica limpa.

A distinção entre skill e subagent é a que mais gera confusão. Uma skill é um método. Um subagent é um worker. Resolvem coisas diferentes. E se combinam: um subagent pode invocar uma skill. Se você tem uma auditoria recorrente, guiada por método, que quer rodar em paralelo em três codebases, a resposta certa é uma skill dentro de um subagent, e não uma ou outra.

Para a mecânica dessa fronteira, o guia sobre Claude skills vs MCP e subagents vai mais fundo.

A matriz: pontuando cada primitiva para trabalho recorrente e guiado por método

Essas regras são claras isoladamente. Na prática, o trabalho chega ambíguo. Esta matriz pontua cada primitiva nos critérios que importam quando o trabalho se repete e o método precisa se manter.

Qual primitiva serve para trabalho recorrente e guiado por método?

Qual primitiva serve para trabalho recorrente e guiado por método?. Winner: Skill with a weighted score of 61. Scale 1-5 (5 = best).
Critério (peso)PromptMemóriaSkillSubagent
Persiste entre sessões (3)1551
Codifica um método específico e repetível (4)1252
Dispara só quando é relevante (2)3153
Fica consistente de uma sessão para outra (3)1352
Zero overhead para uma tarefa pontual (1)5311
Pontuação ponderada21376124

Scale 1-5 (5 = best). Highlighted column: winner by weighted score.

Critérios ponderados para trabalho recorrente e guiado por método. Troque para 'zero overhead, tarefa pontual' e a coluna Prompt ganha. É exatamente esse o ponto.

A pontuação não diz que skills são genericamente melhores que as outras. Diz que skills são a ferramenta certa para essa classe específica de trabalho. Mude a classe da tarefa e o vencedor muda. Algo realmente pontual (uma pergunta que você nunca mais vai fazer) não precisa de skill. Um prompt é mais rápido e está correto.

O erro que todo mundo comete primeiro: role prompting em vez de skill

A maioria das pessoas recorre a um system prompt longo descrevendo uma persona especialista, sessão após sessão, e acredita que isso equivale a uma skill.

Não equivale. O prompt se degrada. Você se desvia a cada vez que redigita. Ele não é versionado, então duas sessões que “usaram o prompt do Hormozi” podem ter usado instruções sutilmente diferentes. Os resultados do modelo variam na mesma medida.

Zheng et al. (arXiv:2311.10054, Findings of EMNLP 2024) testaram 162 personas em quatro famílias de modelos. Um rótulo de persona puro num system prompt não melhora a precisão factual em relação a nenhuma persona. A voz muda. O conhecimento, não.

Uma skill é diferente porque carrega o método: referências destiladas, um mapa de carregamento, frameworks, critérios de decisão. O artigo sobre personas desta série, por que skills de persona ganham de role prompting, cobre a mecânica. A versão curta: identidade sem método é fantasia. A skill fornece o método.

Fechando

Quatro primitivas. Uma regra: case a ferramenta com o contrato.

Pontual? Prompt. Contexto sempre verdadeiro? Memória. Recorrente, guiado por método, precisa ser consistente? Skill. Worker isolado ou em paralelo? Subagent.

O sinal de que você escolheu errado é simples. Se está redigitando a mesma instrução mais de duas vezes, está fazendo o trabalho da skill na mão. O guia para criar skills no Claude Code mostra como parar.

FAQ

Qual a diferença entre uma skill do Claude e um prompt?

Um prompt é uma instrução de uma sessão que some quando a sessão acaba. Uma skill é um módulo versionado com um SKILL.md, uma description que a dispara e arquivos de referência que carregam o método: o mesmo comportamento em toda sessão.

A diferença prática aparece na terceira repetição. Se você digitou a mesma instrução de vários parágrafos três vezes em sessões separadas, estava fazendo o trabalho da skill na mão.

O que vai no CLAUDE.md e o que vai numa skill?

O CLAUDE.md guarda contexto sempre verdadeiro: sua stack, convenções, idioma, regras de design. Ele carrega em toda sessão, sem gatilho.

Uma skill guarda um método: um workflow repetível com suas próprias referências, frameworks e lógica de decisão. Se você se pegar escrevendo instruções passo a passo para trabalho recorrente dentro do CLAUDE.md, leve essa lógica para uma skill.

Quando preciso de um subagent em vez de uma skill?

Quando você precisa de isolamento ou paralelismo, e não de um método melhor. Um subagent faz um fork do contexto para a thread principal ficar limpa. Útil para jobs longos que degradariam a conversa, ou tarefas que você quer rodar ao mesmo tempo.

Skills e subagents não são alternativas. Eles se combinam: um subagent pode invocar uma skill. Se o trabalho é recorrente, guiado por método e grande, a resposta é uma skill dentro de um subagent.

Um system prompt longo com persona equivale a uma skill?

Não. Um system prompt se degrada: você redigita a cada sessão e se desvia. Zheng et al. (arXiv:2311.10054, Findings of EMNLP 2024) mostraram que um rótulo de persona puro num system prompt não melhora a precisão factual em relação a nenhuma persona. A voz muda; o conhecimento, não.

Uma skill carrega o conhecimento: referências destiladas, um mapa de carregamento, frameworks. A persona é uma coordenada de ativação, não o método em si.

Como sei quando vale transformar um workflow em skill?

Três sinais: ele se repete entre sessões, exige um método específico (não só um tom) e o resultado varia quando você não especifica o método explicitamente.

O limite que uso: se expliquei o mesmo workflow para o modelo três vezes, o modelo esqueceu três vezes. É uma skill faltando, não um problema de prompt.

Posso usar uma skill para uma tarefa pontual?

Pode, mas não deveria. Uma skill tem custo de setup: destilação, versionamento, testes. Para uma tarefa que você nunca vai repetir, o prompt é a ferramenta correta. Crie a skill quando o trabalho voltar.

A memória substitui as skills para comportamento persistente?

Não. A memória (CLAUDE.md) guarda fatos que são sempre verdade. Uma skill guarda um método que dispara sob demanda. Servem a propósitos diferentes.

Se você quer que o modelo siga sempre uma convenção, coloque na memória. Se quer que ele execute um workflow específico quando pedido, coloque numa skill. Colocar um workflow no CLAUDE.md cria lógica procedural num arquivo de contexto. Não dá para versionar direito, e ele vai entrar em conflito consigo mesmo à medida que cresce.