Visão Geral
Agent Skills estendem Claude com capacidades especializadas que Claude invoca autonomamente quando relevante. Skills são empacotadas como arquivosSKILL.md contendo instruções, descrições e recursos de suporte opcionais.
Para informações abrangentes sobre Skills, incluindo benefícios, arquitetura e diretrizes de autoria, consulte a visão geral de Agent Skills.
Como Skills Funcionam com o SDK
Ao usar o Claude Agent SDK, Skills são:- Definidas como artefatos do sistema de arquivos: Criadas como arquivos
SKILL.mdem diretórios específicos (.claude/skills/) - Carregadas do sistema de arquivos: Skills são carregadas de locais do sistema de arquivos governados por
settingSources(TypeScript) ousetting_sources(Python) - Descobertas automaticamente: Uma vez que as configurações do sistema de arquivos são carregadas, os metadados de Skill são descobertos na inicialização a partir de diretórios de usuário e projeto; conteúdo completo carregado quando acionado
- Invocadas pelo modelo: Claude escolhe autonomamente quando usá-las com base no contexto
- Filtradas via opção
skills: Skills descobertas são habilitadas por padrão. Passe uma lista de nomes de skills,"all", ou[]para controlar quais estão disponíveis na sessão
Skills são descobertas através das fontes de configuração do sistema de arquivos. Com opções padrão de
query(), o SDK carrega fontes de usuário e projeto, portanto skills em ~/.claude/skills/, <cwd>/.claude/skills/ e .claude/skills/ em qualquer diretório pai de <cwd> até a raiz do repositório estão disponíveis. Se você definir settingSources explicitamente, inclua 'user' ou 'project' para manter a descoberta de skills, ou use a opção plugins para carregar skills de um caminho específico.Usando Skills com o SDK
Defina a opçãoskills em query() para controlar quais Skills estão disponíveis para a sessão. Quando omitida, Skills descobertas são habilitadas e a ferramenta Skill está disponível, correspondendo ao comportamento da CLI. Passe "all" para habilitar cada Skill descoberta, uma lista de nomes de Skill para habilitar apenas aquelas, ou [] para desabilitar todas. Quando você define skills, o SDK adiciona a ferramenta Skill a allowedTools automaticamente. Se você também passar uma lista explícita de tools, inclua "Skill" nessa lista para que Claude possa invocar skills.
Uma vez configurado, Claude descobre automaticamente Skills do sistema de arquivos e as invoca quando relevante para a solicitação do usuário.
name em SKILL.md ou ao nome do diretório da Skill. Use plugin:skill para Skills fornecidas por plugin.
skills é um filtro de contexto, não uma sandbox. Skills não listadas são ocultadas do modelo e rejeitadas pela ferramenta Skill, mas seus arquivos permanecem no disco e são acessíveis através de Read e Bash.
Locais de Skill
Skills são carregadas de diretórios do sistema de arquivos com base na sua configuraçãosettingSources/setting_sources:
- Project Skills (
.claude/skills/): Compartilhadas com sua equipe via git - carregadas quandosetting_sourcesinclui"project" - User Skills (
~/.claude/skills/): Skills pessoais em todos os projetos - carregadas quandosetting_sourcesinclui"user" - Plugin Skills: Agrupadas com plugins Claude Code instalados
Criando Skills
Skills são definidas como diretórios contendo um arquivoSKILL.md com frontmatter YAML e conteúdo Markdown. O campo description determina quando Claude invoca sua Skill.
Exemplo de estrutura de diretório:
- Agent Skills no Claude Code: Guia completo com exemplos
- Agent Skills Best Practices: Diretrizes de autoria e convenções de nomenclatura
Restrições de Ferramenta
O campo frontmatter
allowed-tools em SKILL.md é suportado apenas ao usar Claude Code CLI diretamente. Ele não se aplica ao usar Skills através do SDK.Ao usar o SDK, controle o acesso à ferramenta através da opção principal allowedTools na sua configuração de query.allowedTools para pré-aprovar ferramentas específicas. Sem um callback canUseTool, qualquer coisa não na lista é negada:
As instruções de importação do primeiro exemplo são assumidas nos seguintes trechos de código.
Descobrindo Skills Disponíveis
Para ver quais Skills estão disponíveis em sua aplicação SDK, simplesmente pergunte a Claude:Testando Skills
Teste Skills fazendo perguntas que correspondam às suas descrições:Solução de Problemas
Skills Não Encontradas
Verifique a configuração settingSources: Skills são descobertas através das fontes de configuraçãouser e project. Se você definir settingSources/setting_sources explicitamente e omitir essas fontes, skills não são carregadas:
settingSources/setting_sources, consulte a referência TypeScript SDK ou referência Python SDK.
Verifique o diretório de trabalho: O SDK carrega Skills de .claude/skills/ na opção cwd e em todos os diretórios pai até a raiz do repositório. Certifique-se de que cwd aponta para ou abaixo do diretório contendo .claude/skills/, dentro do mesmo repositório:
Skill Não Sendo Usada
Verifique a opçãoskills: Se você passou uma lista skills, confirme que o nome da skill está incluído. Passar [] desabilita todas as skills.
Verifique a descrição: Certifique-se de que é específica e inclui palavras-chave relevantes. Consulte Agent Skills Best Practices para orientação sobre como escrever descrições eficazes.
Solução de Problemas Adicional
Para solução de problemas geral de Skills (sintaxe YAML, depuração, etc.), consulte a seção de solução de problemas de Skills do Claude Code.Documentação Relacionada
Guias de Skills
- Agent Skills no Claude Code: Guia completo de Skills com criação, exemplos e solução de problemas
- Agent Skills Overview: Visão geral conceitual, benefícios e arquitetura
- Agent Skills Best Practices: Diretrizes de autoria para Skills eficazes
- Agent Skills Cookbook: Skills de exemplo e templates
Recursos SDK
- Subagents no SDK: Agentes similares baseados em sistema de arquivos com opções programáticas
- Slash Commands no SDK: Comandos invocados pelo usuário
- Visão Geral do SDK: Conceitos gerais do SDK
- Referência TypeScript SDK: Documentação completa da API
- Referência Python SDK: Documentação completa da API