Saltar para o conteúdo
28/30Capítulo 28 de 30

Agent Skills e SKILL.md: divulgação progressiva, medida

Cinco skills reais com 128.374 tokens de instruções ocupam 253 tokens de context. Corte as descrições e o agent deixa de as encontrar.

Nesta página

Pegue num projeto com cinco skills publicadas instaladas. Eis quanto custam.

terminalBASH
ls .claude/skills/
TEXT
next-best-practices  next-cache-components  vercel-composition-patterns
vercel-react-best-practices  vercel-react-native-skills
o200k_base tokens, measuredTEXT
skill                              level 1   level 2    level 3   files
next-best-practices                     40       966     19,374      19
next-cache-components                   28     2,334          0       0
vercel-composition-patterns             59       533     10,667      13
vercel-react-best-practices             68     1,670     53,670      75
vercel-react-native-skills              58       950     37,957      41
                                    ------   -------   --------
total                                  253     6,453    121,668

Cento e vinte e oito mil tokens de instruções, exemplos e regras — mais do que cabe numa context window de 128.000 tokens — e o custo permanente de ter as cinco disponíveis é de 253 tokens, dois décimos de um por cento. Nada mais neste curso tem esta forma. Uma definição de ferramenta é paga em todos os pedidos, seja ou não usada, e o Capítulo 26 mediu um servidor MCP em 1.619 tokens antes de fazer seja o que for: trinta e duas vezes a linha média de nível 1 na tabela acima.

Este capítulo é sobre o mecanismo que produz essa proporção, sobre as duas formas como falha, e sobre a pergunta que o mecanismo obriga a fazer e quase ninguém responde: dado um certo conhecimento, em qual de quatro lugares deve ele ficar.

Porque este capítulo não tem linguagem de programação

Ligação para a secção: Porque este capítulo não tem linguagem de programação

O Capítulo 14 definiu a regra para a segunda metade deste curso — ligações, novas tentativas e cancelamento são TypeScript — e declarou cinco exceções. Esta é uma delas, e a razão não é uma preferência.

Uma skill é um ficheiro Markdown. Não um ficheiro que configura um programa, não um ficheiro que um programa compila: um documento que o modelo , da mesma forma que lê a mensagem que escreveu. Dar uma linguagem de programação a este capítulo significaria não ter compreendido o formato, e esse mal-entendido é o mais comum sobre skills. Tudo abaixo é Markdown e YAML, mais um pequeno script de shell que existe precisamente para mostrar onde o código deve e não deve ficar dentro de uma skill.

Eis uma instrução real: como uma empresa escreve as suas notas de lançamento. É um procedimento, não uma preferência — tem um conjunto ordenado de passos, uma taxonomia, uma voz, um template e um script que recolhe a matéria-prima.

Coloque tudo isto no system prompt, como a maioria das equipas faz, e a aritmética do Capítulo 16 assume o controlo. Um system prompt é um prefixo, e um prefixo é pago em cada chamada. Medido com o200k_base sobre a pasta escrita para este capítulo:

the same instruction, two ways, 40 turnsTEXT
whole thing pasted into the system prompt   1,716 x 40  =  68,640 input tokens   $0.1373
as a skill, activated once on turn 12          46 x 40
                                            + 324 (SKILL.md body)
                                            + 665 (two reference files read)
                                                        =   2,829 input tokens   $0.0057
as a skill, never activated at all             46 x 40  =   1,840 input tokens   $0.0037

Vinte e quatro vezes mais barato quando é usado, trinta e sete vezes mais barato quando não é. As tarifas são as do Capítulo 16: $2,00 por milhão de input tokens.

Agora a objeção honesta, porque um capítulo que a omitisse seria publicidade. O prompt caching fecha quase toda a diferença de dinheiro. Um system prompt é estável e vem primeiro, o que faz dele o melhor candidato a cache que existe; a $0,20 por milhão para input em cache, os mesmos 68.640 tokens custam $0,0168 em vez de $0,1373. Ainda três vezes a skill, mas já não uma ordem de grandeza diferente.

O dinheiro nunca foi o argumento mais forte. Este é:

O caching torna um prefixo permanente mais barato. Não o torna mais pequeno.

No turno 40, a versão com system prompt ainda tem 1.716 tokens de política de notas de lançamento sentados na janela durante uma conversa sobre uma coisa completamente diferente, a competir por aquilo a que o Capítulo 24 chamou o orçamento de attention do modelo. A versão com skill tem 46. Faça cache da coisa errada e comprou um desconto numa distração.

Escrito como fórmula, com nn turnos, L1L_1 os metadados, L2L_2 o corpo, L3L_3 o pacote inteiro e RR o conjunto de ficheiros empacotados efetivamente lidos:

system prompt=n(L1+L2+L3)skill=nL1+1[used](L2+iRL3(i))\text{system prompt} = n\,(L_1 + L_2 + L_3) \qquad \text{skill} = n\,L_1 + \mathbb{1}[\text{used}]\left(L_2 + \sum_{i \in R} L_3^{(i)}\right)

Todo este capítulo é a diferença entre multiplicar o segundo termo por nn e multiplicá-lo por um ou por zero.

Uma skill é um diretório. A especificação é curta o suficiente para ser apresentada na íntegra:

the whole formatTEXT
release-notes/
├── SKILL.md          # required: YAML frontmatter + Markdown instructions
├── scripts/          # optional: executable code
├── references/       # optional: documentation read on demand
├── assets/           # optional: templates, schemas, examples
└── ...               # anything else you like

SKILL.md deve começar com YAML frontmatter, e exatamente dois campos são obrigatórios: name e description.1 Mais quatro são opcionais e não há outros definidos:

CampoObrigatórioRestrição
namesim1–64 caracteres, letras minúsculas, dígitos e hífenes; sem hífen inicial, final ou duplicado; deve corresponder ao nome do diretório
descriptionsim1–1024 caracteres, não vazio; diz o que a skill faz e quando a usar
licensenãoo nome de uma licença, ou o nome de um ficheiro de licença empacotado
compatibilitynãoaté 500 caracteres: produto pretendido, pacotes necessários, acesso à rede
metadatanãoum mapa livre de chaves string para valores string, para o seu próprio tooling
allowed-toolsnãolista separada por espaços de ferramentas pré-aprovadas; marcada como experimental

Eis a skill de notas de lançamento, completa, com o corpo em menos de trinta linhas:

release-notes/SKILL.mdMARKDOWN
---
name: release-notes
description: Write the release notes for a tagged version in this company's house style. Use when preparing a release, drafting a changelog entry, or when someone asks for the notes for a version number or a tag.
allowed-tools: Bash(git log:*) Bash(git tag:*) Read
---

# Release notes

## Procedure

1. Run `scripts/collect.sh <previous-tag> <new-tag>`. It prints one line per merged
   pull request: number, title, author and the labels.
2. Drop every line whose labels contain `internal`, `ci` or `chore`.
3. Put each surviving line into exactly one of the four categories in
   [references/categories.md](references/categories.md). A change that seems to fit two
   belongs in the higher one; the order in that file is the order of precedence.
4. Rewrite each line as a sentence in the voice defined in
   [references/voice.md](references/voice.md). The pull request title is a note to
   the team; the release note is a note to a stranger.
5. Check the result against [references/examples.md](references/examples.md).

## The one rule that is not negotiable

Every note says what a person can now do, or what stopped happening to them. If a
sentence can only be understood by someone who has read the diff, it is not finished.

Leia o que esse corpo é. Não é a política — é uma tabela de conteúdos com uma ordem de operações. A política vive em três ficheiros que ele nomeia e não inclui. E o primeiro passo entrega trabalho a um script, porque o código de um script nunca entra na context window: só o seu output entra.2

O modelo de carregamento tem um nome e três etapas. A especificação apresenta-as com um orçamento de tokens associado:1

  1. Metadados, cerca de 100 tokens: name e description, carregados no arranque para cada skill instalada.
  2. Instruções, recomendadas abaixo de 5.000 tokens: o corpo de SKILL.md, carregado quando a skill é ativada.
  3. Recursos, conforme necessário: ficheiros empacotados, carregados apenas quando algo os exige.

A documentação de referência coloca uma quarta coluna na mesma tabela — quando carregado, custo em tokens, conteúdo — e a linha que importa é a terceira: nenhum até ser acedido.3 A frase que resume o capítulo inteiro também está lá:

Os ficheiros não consomem context até serem acedidos, pelo que as Skills podem incluir documentação de API abrangente, grandes conjuntos de dados ou exemplos extensos. Não há penalização de context por conteúdo empacotado que não é usado.3

A tabela medida no início deste capítulo é essa afirmação verificada contra cinco skills que ninguém escreveu para este artigo. Duas linhas merecem ser lidas uma contra a outra.

next-best-practices tem um corpo de 966 tokens que aponta para dezanove ficheiros com 19.374 tokens. Peça-lhe para corrigir um erro de hidratação e o agent lê o corpo mais hydration-error.md: 1.409 tokens em 20.340, um fator de catorze, e os outros dezoito ficheiros nunca são abertos.

next-cache-components tem um corpo de 2.334 tokens e nenhum ficheiro empacotado. É uma skill válida e bem escrita, e não tem nível 3 para revelar. Esse é o limite honesto da técnica: a divulgação progressiva só poupa se houver algo a adiar. Uma skill cujo conhecimento não se decompõe paga o corpo inteiro na ativação, e a única alavanca que resta é não a ativar.

O nível 1 é uma decisão de routing feita a partir de uma frase. Nada mais sobre uma skill influencia se alguma vez é aberta — nem a qualidade do corpo, nem os exemplos, nem os scripts. Portanto, a descrição não é documentação. É a superfície de consulta, e pode estar errada.

A especificação di-lo sob a forma de um bom exemplo e de um mau exemplo, e o mau exemplo tem quatro palavras: description: Helps with PDFs.1 Vale a pena medir isto em vez de o aceitar.

Seis skills, cada uma com uma descrição plausível que diz o que faz e quando a usar. Vinte e quatro pedidos, quatro por skill, formulados como uma pessoa os formularia e sem nunca nomear a skill. O modelo vê as seis linhas no seu system prompt e deve responder com um nome ou com NONE. Greedy decoding, para que seja reproduzível. Depois, os mesmos vinte e quatro pedidos com as mesmas seis skills, e as descrições reduzidas ao seu tema nu.

the two system promptsTEXT
rich   - sql-review: Review a SQL migration for locks, missing indexes and unsafe
         defaults before it runs on the production database. Use when someone adds
         or changes a migration, an index, or a table column.
thin   - sql-review: Helps with SQL.
24 requests, Qwen2.5-0.5B-Instruct, greedy decodingTEXT
rich   295 tokens of level 1 for six skills   18/24 correct = 75.0 %  [55.1, 88.0]
thin    81 tokens of level 1 for six skills   10/24 correct = 41.7 %  [24.5, 61.2]

paired: rich only 9, thin only 1, two-sided sign test p = 0.0215
answered NONE: rich 1 of 24, thin 9 of 24

Leia primeiro os intervalos, como o Capítulo 4 insistiu e o Capítulo 29 voltará a insistir: sobrepõem-se, e vinte e quatro casos não conseguem ordenar dois sistemas apenas pelos seus agregados. A comparação em pares é o que decide, e é o instrumento do Capítulo 15: dos dez casos em que os dois braços discordaram, nove foram para as descrições ricas e um para as finas. Isso fica estabelecido no limiar habitual.

Agora leia a última linha, que é a descoberta real. Com descrições finas, o modelo respondeu NONE em nove de vinte e quatro pedidos. Não a skill errada: nenhuma skill. Eis quatro deles, verbatim:

TEXT
"Check this migration before I run it against production."     -> release-notes
"Will this CREATE INDEX lock writes?"                          -> NONE
"Is this ALTER TABLE safe to deploy at peak traffic?"          -> NONE
"Is 'seamless and powerful' allowed in the app store listing?" -> next-best-practices

Uma skill sql-review perfeita estava instalada, com corpo, exemplos e checklist, e nunca foi aberta, três vezes seguidas, nas três perguntas para as quais foi escrita. Os níveis 2 e 3 são irrelevantes para uma skill que o nível 1 nunca alcança.

O custo de a corrigir: 214 tokens, a diferença entre 295 e 81, distribuída por seis skills. É a conclusão do Capítulo 18 a chegar pelo outro lado. Aí, alterar apenas a descrição de uma ferramenta levou a formatação de datas de 2 corretas em 24 para 24 em 24. Aqui, alterar apenas a descrição de uma skill leva a ativação de 10 em 24 para 18. Em ambos os casos, a correção mais barata do sistema é uma frase, e em ambos os casos a frase tem de nomear o trigger e não apenas o assunto: não o que a coisa é, mas o que o utilizador terá acabado de dizer quando ela se aplica.

Uma ressalva que este capítulo deve aos seus próprios padrões. Este é um modelo com meio milhar de milhão de parâmetros, e um modelo de fronteira faz routing muito melhor do que 75 %. Leia o mecanismo, não a magnitude: o sinal de routing tem uma frase, seja qual for o modelo que a lê, e nenhum modelo consegue selecionar com base em informação que não colocou nessa frase.

Parta-o outra vez: a saída de emergência que custa 26.362 tokens

Ligação para a secção: Parta-o outra vez: a saída de emergência que custa 26.362 tokens

A segunda falha é o oposto da primeira. A skill é encontrada, os níveis estão corretamente separados, e o agent lê tudo na mesma.

vercel-react-best-practices é uma skill genuinamente bem construída. O seu corpo de 1.670 tokens é uma tabela de prioridades com oito categorias e uma referência rápida que nomeia 70 ficheiros de regras, uma linha cada. As regras estão em disco ao lado: 70 ficheiros, o mais pequeno com 132 tokens, mediana 319, o maior com 1.052. Faça-lhe uma pergunta sobre barrel imports e o custo honesto é o corpo mais um ficheiro — menos de 2.400 tokens contra um pacote de 53.670.

Depois, a última linha do corpo diz isto:

the final section of SKILL.mdTEXT
## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`

AGENTS.md tem 26.362 tokens. É a concatenação dos 70 ficheiros de regras: a soma é 25.784, e a diferença são os títulos entre eles. Portanto, a skill oferece ao agent a escolha entre ler uma regra mediana com 319 tokens e ler o mesmo conteúdo, todo ele, a oitenta e três vezes o preço — e oferece essa escolha numa frase sem custo associado e sem condição sobre quando a tomar.

Isso não é um bug e o ficheiro não está errado; um documento compilado é genuinamente útil para uma pessoa, e para um agent a quem foi pedido que auditasse uma codebase inteira. É um ficheiro de nível 3 com um convite de nível 2, e a lição generaliza-se para além desta skill: todos os caminhos para fora de um SKILL.md devem dizer quanto custam e quando valem a pena, porque o modelo não tem forma de saber que um nome de ficheiro é oitenta e três vezes mais caro do que o nome de ficheiro acima dele.

A mesma pasta traz uma lição menor sobre obsolescência. O corpo diz "70 rules across 8 categories" e lista 70; o diretório rules/ contém 72 ficheiros, dos quais dois são scaffolding (_template.md e _sections.md); e o sidecar metadata.json diz "40+ rules". Três contagens do mesmo conjunto numa pasta, uma certa, uma aritmética e uma deixada de uma versão anterior. Uma skill é um documento, e os documentos apodrecem exatamente como um comentário de código que se desviou do código ao seu lado — com a diferença de que este é lido por uma máquina que não vai franzir o sobrolho.

Os campos que a implementação de referência acrescenta, e a armadilha de portabilidade

Ligação para a secção: Os campos que a implementação de referência acrescenta, e a armadilha de portabilidade

A especificação aberta define seis campos de frontmatter. A implementação de referência, Claude Code, aceita vinte.2 Vale a pena conhecer cinco grupos pelo nome, porque é aí que o formato deixa de ser apenas um documento:

Permissão e invocação. allowed-tools pré-aprova ferramentas para o turno que invocou a skill e a concessão desaparece na mensagem seguinte; disallowed-tools remove-as. disable-model-invocation impede o modelo de a carregar sozinho, o que transforma a skill num comando que uma pessoa executa. user-invocable: false faz o contrário: escondida das pessoas, disponível apenas para o modelo, para conhecimento de fundo.

Isolamento e custo. context: fork executa a skill num contexto de sub-agent separado com a sua própria janela — a fronteira de sub-agent do Capítulo 25 como uma linha de YAML — com agent a escolher que tipo e background a decidir se o turno espera. model e effort alteram o modelo que corre enquanto a skill está ativa, apenas para esse turno.

Argumentos (arguments, argument-hint) permitem a uma pessoa passar valores que são substituídos no corpo, que é o que torna uma skill utilizável como slash command. Scoping (paths) limita a ativação a ficheiros que correspondem a um glob. E a injeção dinâmica de context é a que muda o modelo mental: uma linha da forma !`git diff HEAD` corre antes de o corpo ser enviado, e o seu output é substituído no texto. O documento é um template, e parte dele é computada no momento da leitura.

Agora a armadilha, e está enunciada na mesma documentação: fora do Claude Code — no produto web, através da Skills API, no packaging — só os seis campos especificados são permitidos, e qualquer outro campo é um erro rígido no upload.2 Portanto, uma skill que funciona perfeitamente num produto falha ao instalar noutro do mesmo fornecedor, e falha no frontmatter em vez de falhar em algo que pudesse testar lendo a prosa. Se pretende que uma skill seja portável, os seis campos são todo o orçamento. Se não pretende, diga-o em compatibility, que existe exatamente para isto.

Quatro coisas são constantemente confundidas, e a confusão não é pedantismo vocabular: escolher mal custa dinheiro em cada turno, ou custa-lhe uma garantia que pensava ter.

System promptSkillFerramentaServidor MCP
O que étexto em todos os pedidosuma pasta cuja raiz é um SKILL.mdum JSON Schema mais um endpoint no seu códigoum processo ou serviço que fala um protocolo
O que o modelo fazlê-o, semprelê-a, quando decide que a descrição correspondechama-a, e espera pelo seu resultadochama-o, através do host, um cliente por servidor
Quanto custao comprimento inteiro, todos os turnos, para semprecerca de 50 tokens por turno; o corpo uma vez, se usadao schema, todos os turnos; execução quando chamadatodos os schemas mais o instructions do servidor, todos os turnos
O que pode garantirnada — é conselhonada — é conselho que o modelo pode ignorartudo o que o seu código impõe antes de agirtudo o que o servidor impõe
Quem o escreveo utilizadoro utilizador, um colega ou um fornecedoro utilizadoroutra pessoa, para muitos hosts
Capítulo15este1826 e 27

As duas linhas a negrito são toda a distinção. Uma skill é lida; uma ferramenta é invocada. Uma skill é prosa que chega à context window e compete por attention com tudo o resto que lá está; o modelo pode segui-la, lê-la mal ou ignorá-la, e nada no sistema repara. Uma ferramenta é uma chamada que sai inteiramente das mãos do modelo: o seu código recebe argumentos, valida-os, verifica permissões e decide. O Capítulo 18 formulou-o como o modelo a propor e o seu código a dispor, e essa divisão é exatamente o que uma skill não tem.

Portanto, seis casos reais, resolvidos:

"Responda no idioma do utilizador. Nunca indique um preço que não lhe tenha sido dado."

Ligação para a secção: "Responda no idioma do utilizador. Nunca indique um preço que não lhe tenha sido dado."

System prompt. Aplica-se em todos os turnos, é uma restrição e não um procedimento, e tem duas frases. Algo que se aplica sempre não tem nada para divulgar progressivamente, e pagar por uma linha de descoberta em todos os turnos para evitar pagar por duas frases em todos os turnos não é uma poupança.

Skill. Procedimental, necessária talvez num turno em quarenta, decomponível em voz, taxonomia e exemplos, e é prosa que uma pessoa vai editar. Esta é a forma para a qual o formato foi desenhado, e a medição acima é aquilo que poupa.

"Consultar uma encomenda pelo identificador na base de dados do armazém."

Ligação para a secção: "Consultar uma encomenda pelo identificador na base de dados do armazém."

Ferramenta. Há uma função determinística por trás e o modelo não deve improvisar a query. Escrever isto como uma skill — um documento que explica como consultar o armazém — entrega o schema ao modelo e espera. Um schema mais um endpoint entrega-lhe uma resposta.

"Ler e escrever issues no nosso tracker, a partir de todos os produtos de agent que a empresa usa."

Ligação para a secção: "Ler e escrever issues no nosso tracker, a partir de todos os produtos de agent que a empresa usa."

Servidor MCP. A capacidade não é sua, vários hosts precisam dela, e ela tem uma história de autenticação. Esse é o problema N×MN \times M com que o Capítulo 26 abriu, um protocolo é a resposta para ele, e o Capítulo 27 entrega um duas vezes. Uma skill não pode ser descoberta por um host que nunca viu o seu filesystem — que é precisamente a lacuna que o trabalho de standards no fim deste capítulo está a fechar.

Nenhum dos quatro. É conhecimento para procurar, não um procedimento a seguir, e pertence a um índice que o agent pesquisa: Capítulo 19. Empacotá-lo como nível 3 é permitido, tentador e errado, porque o modelo teria de adivinhar qual de quarenta ficheiros contém a resposta apenas pelos nomes. O que é uma boa skill é o procedimento de duas páginas que diz ao agent quando pesquisar esse índice, o que significa uma pontuação de semelhança baixa e como citar o que encontrar.

"Nunca reembolsar mais de duzentos euros sem um humano."

Ligação para a secção: "Nunca reembolsar mais de duzentos euros sem um humano."

Uma ferramenta com uma porta de aprovação, e nunca uma skill. Este é o caso que importa. Escrita num SKILL.md, o limite é uma frase que o modelo lê e normalmente respeita; escrito na ferramenta de reembolso, é um ramo que corre antes de qualquer dinheiro se mexer. Um limite que o envergonharia se fosse ultrapassado não é documentação. A regra, digna de memorização: se a consequência de ignorar a instrução for pior do que uma resposta mal formatada, a instrução não pertence a um documento.

A história é curta, invulgarmente bem datada, e é a parte que quase ninguém conta.

Agent Skills foram publicadas em 16 de outubro de 2025 como funcionalidade de um fornecedor, definidas nesse anúncio como "pastas organizadas de instruções, scripts e recursos que os agents conseguem descobrir e carregar dinamicamente para desempenhar melhor tarefas específicas", com os três níveis descritos através de uma analogia que vale a pena guardar: "como um manual bem organizado que começa com uma tabela de conteúdos, depois capítulos específicos e, por fim, um apêndice detalhado".4

Em 18 de dezembro de 2025, a mesma página foi atualizada para anunciar o formato como um standard aberto, com especificação própria em agentskills.io, governação aberta a contribuições e um validador de referência.3 Lido em 7 de setembro de 2026, a montra de clientes do standard lista quarenta e seis produtos — editores, terminais, plataformas cloud e runtimes móveis, incluindo os coding agents first-party da Anthropic, OpenAI, Google e Mistral — cada um com link para a sua própria documentação de configuração.1

A convergência com MCP está a ser feita em aberto, com números que pode verificar:

O que éAbertoEstado em 7 set. 2026
SEP-2076Agent Skills as a First-Class MCP Primitive: novos métodos skills/list e skills/get, uma capability skills, uma notificação list_changed13 de janeiro de 2026fechado, 24 de fevereiro de 2026
Skills Over MCP working groupdefine como as skills são "descobertas, distribuídas e consumidas através de MCP"; reúne semanalmente; dezassete membros listados, dois deles leadsinterest group 1 de fevereiro de 2026; working group 16 de abril de 2026ativo
SEP-2640Skills Extension, Extensions Track: uma convenção de recurso skill://, identificador de extensão io.modelcontextprotocol/skills, descoberta através de skills/list e conteúdo através de resources/read23 de abril de 2026em revisão

A parte interessante é o encerramento, não as propostas. A SEP-2076 pedia uma quarta primitive ao lado de ferramentas, recursos e prompts. O working group que dela nasceu decidiu que a resposta era não: as skills viajam na primitive de recursos que já existe, como uma extensão opt-in.5 O Capítulo 26 mediu o mesmo instinto no changelog do próprio protocolo, onde sampling, roots e logging foram deprecated em vez de mantidos. Um organismo de standards que remove uma proposta da sua própria autoria está a comportar-se bem, e a razão para contar esta história com os números à frente é que os resumos que vai ler noutros sítios ainda descrevem skills como uma primitive de MCP.

Agora consegue escrever um SKILL.md, dividi-lo em três níveis que se pagam a si próprios, ler o frontmatter da skill de outra pessoa e saber que campos não sobreviverão a um upload para outro lugar, e responder à pergunta em torno da qual todo o capítulo foi construído — system prompt, skill, ferramenta ou servidor — com uma razão e não por hábito.

O que não consegue fazer é dizer se a sua funciona.

Todas as afirmações importantes deste capítulo foram medições, e a mais importante foi uma accuracy: 18 em 24 contra 10 em 24, com um intervalo em cada uma e um teste emparelhado entre elas, porque dois agregados que se sobrepõem não decidem nada. Esse instrumento foi emprestado. A descrição de uma skill é uma chave de routing, o seu corpo é um procedimento que o modelo pode ou não seguir, e ambas são propriedades que só consegue descobrir executando a coisa muitas vezes e pontuando o que voltou — o que é um golden set, um grader que escreveu antes da execução, e a métrica que pergunta se funcionou todas as vezes em vez de pelo menos uma.

O Capítulo 29 é isso, e abre com o número de que o método deste capítulo depende: um agent que tem sucesso sete vezes em dez parece 70 %, e o seu pass^10 — a probabilidade de ter sucesso nas dez — é zero. Também mede três graders nas mesmas duzentas transcrições e obtém 0 %, 13 % e 26 % sem regenerar um único token. Antes de confiar na frase que acabou de escrever num description, precisa do instrumento que lhe consegue dizer que ela é pior do que a que substituiu.


Todas as contagens de tokens neste capítulo foram produzidas localmente com tiktoken 0.14.0 e a codificação o200k_base, em 7 de setembro de 2026: sobre as cinco skills de terceiros listadas no início deste capítulo, e sobre a skill release-notes escrita para este capítulo, cujo texto completo é parcialmente reproduzido acima. O nível 1 é medido como a linha única - name: description que um host renderiza no system prompt; o nível 2 é o corpo de SKILL.md depois do frontmatter; o nível 3 é qualquer outro ficheiro na pasta. Os custos usam as tarifas medidas no Capítulo 16 para gpt-5.6-terra, $2,00 por milhão de input tokens e $0,20 por milhão de input tokens em cache, aplicadas a essas contagens — são aritmética sobre tokens medidos, não observações de uma fatura real. Nenhuma API paga foi chamada para escrever este capítulo.

A experiência de ativação executou Qwen/Qwen2.5-0.5B-Instruct em meia precisão numa GPU de consumo, greedy decoding, 24 pedidos sobre seis skills, duas vezes — uma com descrições que indicam o que a skill faz e quando se aplica, outra com as descrições reduzidas a um tema nu no estilo do "mau exemplo" da própria especificação. Os intervalos são Wilson a 95 %; a comparação em pares é um teste exato dos sinais bilateral sobre os dez casos discordantes; o intervalo de Wilson é o do Capítulo 4 e o teste exato dos sinais emparelhado é o do Capítulo 15, ambos reutilizados sem alterações. Leia as magnitudes como propriedade de um modelo muito pequeno e o método como transferível.

As cinco skills medidas aqui são pacotes de terceiros, não escritos para este capítulo: next-best-practices e next-cache-components de vercel-labs/next-skills, e vercel-composition-patterns, vercel-react-best-practices e vercel-react-native-skills de vercel-labs/agent-skills. As suas contagens internas — 70 ficheiros de regras, AGENTS.md com 26.362 tokens, metadata.json datado de janeiro de 2026 e a afirmar "40+ rules" — foram lidas dos ficheiros em disco em 7 de setembro de 2026 e são propriedades dessa versão publicada, não críticas aos seus autores: cada uma delas é o tipo de drift que aparece em qualquer árvore de documentação que é editada mais vezes do que é contada.

  1. Agent Skills Specification e Overview, agentskills.io/specification e agentskills.io, lidos em 7 de setembro de 2026. Fonte do layout de diretórios; da tabela de frontmatter reproduzida acima com todas as restrições (name 1–64 caracteres e correspondência com o diretório, description 1–1024 caracteres, compatibility até 500, allowed-tools marcado como experimental); dos bons e maus exemplos de description; da descrição de divulgação progressiva em três etapas com o seu orçamento de tokens (metadados cerca de 100 tokens, instruções abaixo de 5.000 recomendado, recursos conforme necessário) e do conselho de manter SKILL.md abaixo de 500 linhas; da nota de que "o agent carregará este ficheiro inteiro assim que tiver decidido ativar uma skill"; das convenções scripts/, references/ e assets/; do comando skills-ref validate; da afirmação de que o formato "foi originalmente desenvolvido pela Anthropic, lançado como standard aberto e adotado por um número crescente de produtos de agent"; e da montra de clientes, que listava quarenta e seis produtos na data da leitura. 2 3 4

  2. Skills na documentação do Claude Code, code.claude.com/docs/en/skills, lida em 7 de setembro de 2026. Fonte da tabela completa de campos usada na secção "campos que a implementação de referência acrescenta" — when_to_use, argument-hint, arguments, disable-model-invocation, user-invocable, allowed-tools, disallowed-tools, model, effort, context, agent, background, hooks, paths, shell, metadata, license, compatibility — da descrição de injeção dinâmica de context com !`command` a correr antes de o corpo ser enviado, da regra de que uma concessão allowed-tools desaparece na mensagem seguinte, e da nota de conformidade segundo a qual fora do Claude Code só os seis campos especificados são aceites e qualquer outro causa um erro rígido no upload ou packaging. 2 3

  3. Visão geral de Agent Skills, platform.claude.com/docs/en/agents-and-tools/agent-skills/overview, lida em 7 de setembro de 2026. Fonte da tabela de níveis com as suas quatro colunas (Nível 1 metadados, sempre, cerca de 100 tokens por skill; Nível 2 instruções, quando triggered, abaixo de 5k tokens; Nível 3+ recursos, conforme necessário, nenhum até ser acedido); da frase citada na íntegra sobre conteúdo empacotado não trazer penalização de context; de "até uma Skill ser triggered, apenas o seu nome e descrição ocupam context"; da afirmação de que o código de um script nunca entra na context window e só o seu output entra; e da secção de segurança, que diz para usar skills apenas de fontes de confiança e avisa que uma skill maliciosa "pode orientar o Claude a invocar ferramentas ou executar código de formas que não correspondem ao propósito declarado da Skill" — o tema do Capítulo 30, a chegar através de um documento em vez de uma descrição de ferramenta. 2 3

  4. Anthropic, Equipping agents for the real world with Agent Skills, 16 de outubro de 2025, anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills, lido em 7 de setembro de 2026. Fonte da definição citada acima, da analogia tabela de conteúdos/capítulos/apêndice, dos três níveis tal como descritos originalmente, e do enquadramento de que os agents precisam de formas "mais componíveis, escaláveis e portáveis" de receber expertise de domínio. O anúncio de produto complementar em claude.com/blog/skills contém a data de publicação de 16 de outubro de 2025 e a atualização de 18 de dezembro de 2025 que introduziu gestão ao nível da organização e o standard aberto.

  5. Skills Over MCP Charter, modelcontextprotocol.io/community/working-groups/skills-over-mcp, lida em 7 de setembro de 2026. Fonte da declaração de missão citada acima, das datas do changelog (interest group formado em 1 de fevereiro de 2026, charter inicial em 14 de abril de 2026, convertido em working group em 16 de abril de 2026, SEP-2640 ligada em 25 de abril de 2026), da liderança e dos dezassete membros listados, da cadência semanal de reuniões, e do critério de sucesso que nomeia o draft Skills Extension como "uma extensão formal que usa primitives de Resources existentes". SEP-2076, Agent Skills as a First-Class MCP Primitive, github.com/modelcontextprotocol/modelcontextprotocol/pull/2076, foi aberta em 13 de janeiro de 2026 e fechada em 24 de fevereiro de 2026; propôs skills/list, skills/get, uma capability de servidor skills e uma notificação skills/list_changed, e definiu uma skill como "um pacote nomeado de instruções mais referências a ferramentas, prompts e recursos que, em conjunto, ensinam um agent a executar um workflow específico de domínio". SEP-2640, Skills Extension, .../pull/2640, foi aberta em 23 de abril de 2026 na Extensions Track e traz a convenção de recurso skill:// e o identificador de extensão io.modelcontextprotocol/skills. O Capítulo 26 lista o mesmo working group entre as extensões opcionais do protocolo.

Pronto para deixar a LIA escolher?

Construa com todos os modelos de IA num só sítio — comece grátis hoje.