SpyBara
Go Premium

agent-sdk/skills.md 2026-06-09 06:34 UTC to 2026-06-10 23:57 UTC

46 added, 16 removed.

2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

Agent Skills no SDK

Estenda Claude com capacidades especializadas usando Agent Skills no Claude Agent SDK

Visão Geral

Agent Skills estendem Claude com capacidades especializadas que Claude invoca autonomamente quando relevante. Skills são empacotadas como arquivos SKILL.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:

  1. Definidas como artefatos do sistema de arquivos: Criadas como arquivos SKILL.md em diretórios específicos (.claude/skills/)
  2. Carregadas do sistema de arquivos: Skills são carregadas de locais do sistema de arquivos governados por settingSources (TypeScript) ou setting_sources (Python)
  3. 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
  4. Invocadas pelo modelo: Claude escolhe autonomamente quando usá-las com base no contexto
  5. 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

Diferentemente de subagentes (que podem ser definidos programaticamente), Skills devem ser criadas como artefatos do sistema de arquivos. O SDK não fornece uma API programática para registrar Skills.

Usando Skills com o SDK

Defina a opção skills 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.

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions


async def main():
options = ClaudeAgentOptions(
cwd="/path/to/project",  # Project with .claude/skills/
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",  # Enable every discovered Skill
allowed_tools=["Read", "Write", "Bash"],
)

async for message in query(
prompt="Help me process this PDF document", options=options
):
print(message)


asyncio.run(main())

Para habilitar apenas Skills específicas, passe seus nomes. Os nomes correspondem ao campo name em SKILL.md ou ao nome do diretório da Skill. Use plugin:skill para Skills fornecidas por plugin.

options = ClaudeAgentOptions(skills=["pdf", "docx"])

A opção 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ção settingSources/setting_sources:

  • Project Skills (.claude/skills/): Compartilhadas com sua equipe via git - carregadas quando setting_sources inclui "project"
  • User Skills (~/.claude/skills/): Skills pessoais em todos os projetos - carregadas quando setting_sources inclui "user"
  • Plugin Skills: Agrupadas com plugins Claude Code instalados

Criando Skills

Skills são definidas como diretórios contendo um arquivo SKILL.md com frontmatter YAML e conteúdo Markdown. O campo description determina quando Claude invoca sua Skill.

Exemplo de estrutura de diretório:

.claude/skills/processing-pdfs/
└── SKILL.md

Para orientação completa sobre criação de Skills, incluindo estrutura SKILL.md, Skills multi-arquivo e exemplos, consulte:

Restrições de Ferramenta

Para controlar o acesso à ferramenta para Skills em aplicações SDK, use allowedTools para pré-aprovar ferramentas específicas. Sem um callback canUseTool, qualquer coisa não na lista é negada:

options = ClaudeAgentOptions(
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",
allowed_tools=["Read", "Grep", "Glob"],
)

async for message in query(prompt="Analyze the codebase structure", options=options):
print(message)

Descobrindo Skills Disponíveis

Para ver quais Skills estão disponíveis em sua aplicação SDK, simplesmente pergunte a Claude:

options = ClaudeAgentOptions(
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",
)

async for message in query(prompt="What Skills are available?", options=options):
print(message)

Claude listará as Skills disponíveis com base no seu diretório de trabalho atual e plugins instalados.

Testando Skills

Teste Skills fazendo perguntas que correspondam às suas descrições:

options = ClaudeAgentOptions(
cwd="/path/to/project",
setting_sources=["user", "project"],  # Load Skills from filesystem
skills="all",
allowed_tools=["Read", "Bash"],
)

async for message in query(prompt="Extract text from invoice.pdf", options=options):
print(message)

Claude invoca automaticamente a Skill relevante se a descrição corresponder à sua solicitação.

Solução de Problemas

Skills Não Encontradas

Verifique a configuração settingSources: Skills são descobertas através das fontes de configuração user e project. Se você definir settingSources/setting_sources explicitamente e omitir essas fontes, skills não são carregadas:

# Skills not loaded: setting_sources excludes user and project
options = ClaudeAgentOptions(setting_sources=[], skills="all")

# Skills loaded: user and project sources included
options = ClaudeAgentOptions(
setting_sources=["user", "project"],
skills="all",
)

Para mais detalhes sobre 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:

# Ensure your cwd points to the directory containing .claude/skills/
options = ClaudeAgentOptions(
cwd="/path/to/project",  # .claude/skills/ here or in a parent directory
setting_sources=["user", "project"],  # Loads skills from these sources
skills="all",
)

Consulte a seção "Usando Skills com o SDK" acima para o padrão completo.

Verifique o local do sistema de arquivos:

# Check project Skills
ls .claude/skills/*/SKILL.md

# Check personal Skills
ls ~/.claude/skills/*/SKILL.md

Skill Não Sendo Usada

Verifique a opção skills: 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.

Guias de Skills

Recursos SDK