SKILL.md dentro de um diretório nomeado. Esta página explica tudo o que você precisa saber para escrever skills eficazes.
Estrutura de Arquivos
/my-skill). O arquivo SKILL.md contém frontmatter YAML opcional e o conteúdo do prompt da skill.
No Windows,
%APPDATA% normalmente corresponde a C:\Users\<YourUser>\AppData\Roaming.Referência do frontmatter
Todos os campos do frontmatter
Override de modelo
model para executar uma skill usando um modelo diferente do que está ativo na sessão atual. Isso é útil para usar um modelo mais rápido em tarefas simples ou um modelo mais avançado em tarefas complexas:
--model da CLI (por exemplo, opus, sonnet, swe, codex). Consulte Models para ver a lista completa.
Executando Skills como Subagentes
subagent: true
subagent: true para executar a skill como subagente usando o perfil padrão subagent_general:
agent: <profile>
agent para executar a skill como um subagente com um perfil de subagente personalizado específico:
agent deve corresponder ao nome de um perfil de subagente registrado (seja um perfil integrado, como subagent_explore / subagent_general, ou um perfil personalizado que você definiu). O subagente herda o prompt de sistema, as restrições de ferramentas e o modelo do perfil — enquanto o conteúdo da skill se torna a task. O allowed-tools de um perfil personalizado é uma restrição real (ferramentas não listadas ficam indisponíveis para o subagente), então essa é a forma de executar uma skill com um conjunto limitado de ferramentas.
Se
agent e subagent estiverem definidos, agent terá precedência. O campo model na skill faz override do modelo do perfil do subagente quando ambos estiverem especificados.Skills executadas como subagentes não criam subagentes aninhados — se a skill já estiver sendo executada dentro de um subagente, ela será executada inline para evitar recursão infinita.
Orquestrando subagentes com skills
/health-check executa o orquestrador no agente principal. Ele chama /research-changes, que cria um subagente para explorar o repo. Quando isso termina, ele chama /validate-tests, que cria outro subagente para executar os testes. Em seguida, o orquestrador combina os dois resultados em um resumo final.
Uma skill de subagente nunca usará um subagente ao chamar outras skills, mesmo que essas skills tenham subagent: true — elas são executadas inline. Isso significa que você não precisa se preocupar com aninhamento sem limites. O padrão de orquestração tem sempre apenas um nível de profundidade: o orquestrador cria subagentes, e esses subagentes executam todo o restante inline.
Conteúdo do prompt
Permissões
allow— Esses escopos são aprovados automaticamente durante a execução da skilldeny— Esses escopos são bloqueados durante a execução da skillask— Esses escopos sempre pedem confirmação ao usuário
deny é a forma de bloquear totalmente uma ferramenta em uma skill inline. Entradas com nome de ferramenta, como exec ou edit, bloqueiam a ferramenta inteira, e padrões mcp__server__tool bloqueiam ferramentas MCP — veja Permissões Baseadas em Ferramentas.
As permissões de skill são adicionadas às permissões base da sessão (não as substituem). Uma skill não pode conceder permissões negadas em um nível mais alto (configuração do projeto ou da organização).
As permissões de skill se aplicam apenas quando a skill é executada inline. Elas não são aplicadas quando a skill é executada como subagente (
subagent: true ou agent:).Ferramentas aprovadas automaticamente
allowed-tools lista as ferramentas aprovadas automaticamente durante a execução da skill, para que o agente possa usá-las sem um prompt de permissão:
permissions.allow para esse nome de ferramenta. Nomes de ferramentas disponíveis: read, edit, grep, glob, exec
Você também pode aprovar automaticamente ferramentas MCP:
Exemplos
Skill de revisão de código
Gerador de Componentes
Checklist de implantação
Especialista em buscas
Dicas
Mantenha os prompts focados
Uma skill deve fazer bem uma única coisa. Crie várias skills em vez de uma mega-skill.
Inclua exemplos
Mostre ao agente, no prompt, como é uma boa saída.
Negue o que uma skill não deve fazer
Use
permissions.deny (ou um perfil de subagente personalizado) para bloquear ferramentas. allowed-tools apenas pula prompts.Teste com /skill-name
Invoque sua skill e refine o prompt até que a saída seja o que você quer.

