- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8.8 KiB
Padrões Oficiais Anthropic para Skills
Referência baseada na documentação oficial do marketplace anthropic-agent-skills.
Sumário
- Progressive Disclosure (3 níveis de carregamento)
- Graus de Liberdade (alta/média/baixa)
- Anatomia de uma Skill
- Padrões de Progressive Disclosure
- O Que Não Incluir
- Scripts init_skill.py e package_skill.py
1. Progressive Disclosure
Skills usam um sistema de carregamento em 3 níveis para gerir o contexto de forma eficiente:
| Nível | O que carrega | Quando | Tamanho |
|---|---|---|---|
| Metadata | name + description |
Sempre em contexto | ~100 palavras |
| SKILL.md corpo | Instruções e workflow | Quando a skill é activada | <500 linhas |
| Bundled resources | Scripts, references, assets | Conforme necessário | Ilimitado |
Princípio fundamental: O contexto é um bem público. Skills partilham o contexto com o system prompt, histórico de conversa, metadata de outras skills e o pedido actual do utilizador.
Assunção base: O agente já é inteligente. Incluir apenas contexto que o agente não possui. Questionar cada parágrafo: "O agente realmente precisa desta explicação?" e "Este parágrafo justifica o custo em tokens?"
2. Graus de Liberdade
Calibrar o nível de especificidade ao risco e variabilidade da tarefa:
Alta Liberdade — Instruções Textuais
Usar quando múltiplas abordagens são válidas, as decisões dependem do contexto, ou heurísticas guiam a abordagem.
## Análise de logs
Examinar os logs do servidor para identificar padrões de erro.
Priorizar erros críticos e repetidos. Correlacionar timestamps com eventos
conhecidos. Sugerir acções correctivas com base nos padrões encontrados.
Média Liberdade — Pseudocódigo ou Scripts com Parâmetros
Usar quando existe um padrão preferido, alguma variação é aceitável, ou a configuração afecta o comportamento.
## Criar endpoint API
1. Definir rota em `routes/api.php`
2. Criar FormRequest para validação
3. Implementar Controller com Service injectado
4. Retornar Resource para transformação
5. Documentar com PHPDoc
Adaptar ao contexto: GET sem body, POST/PUT com FormRequest.
Baixa Liberdade — Scripts Específicos, Poucos Parâmetros
Usar quando as operações são frágeis e propensas a erro, a consistência é crítica, ou uma sequência específica deve ser seguida.
# SEMPRE usar exactamente esta sequência para deploy:
git pull origin main
composer install --no-dev --optimize-autoloader
php artisan config:cache
php artisan route:cache
php artisan migrate --force
sudo systemctl reload php-fpm
Analogia: O agente é como um explorador num caminho — uma ponte estreita com precipícios precisa de guardas específicos (baixa liberdade), enquanto um campo aberto permite muitas rotas (alta liberdade).
3. Anatomia de uma Skill
nome-da-skill/
├── SKILL.md (obrigatório)
│ ├── Frontmatter YAML (obrigatório: name + description)
│ └── Corpo Markdown (obrigatório: instruções)
└── Recursos Bundled (opcional)
├── scripts/ Código executável (Python/Bash/etc.)
├── references/ Documentação carregada conforme necessário
└── assets/ Ficheiros usados no output (templates, ícones, fonts)
SKILL.md
Frontmatter: Contém apenas name e description. Estes são os únicos campos que o sistema lê para determinar quando a skill é activada. A description deve ser clara e abrangente — é o mecanismo primário de triggering.
Corpo: Instruções e orientações para usar a skill. Só é carregado DEPOIS de a skill ser activada.
scripts/
Código executável para tarefas que requerem fiabilidade determinística ou são reescritas repetidamente.
- Quando incluir: quando o mesmo código é reescrito repetidamente ou fiabilidade determinística é necessária
- Exemplo:
scripts/rotate_pdf.pypara rotação de PDFs - Vantagem: eficiente em tokens, determinístico, pode ser executado sem carregar para contexto
references/
Documentação e material de referência para ser carregado conforme necessário.
- Quando incluir: para documentação que o agente deve consultar durante o trabalho
- Exemplos: schemas de BD, documentação de API, políticas da empresa, guias detalhados de workflow
- Se ficheiros grandes (>10k palavras): incluir padrões de pesquisa grep em SKILL.md
- Evitar duplicação: informação deve existir em SKILL.md OU em references, nunca em ambos
assets/
Ficheiros não destinados a ser carregados em contexto, mas usados no output produzido.
- Quando incluir: quando a skill precisa de ficheiros que serão usados no output final
- Exemplos:
assets/logo.png,assets/slides.pptx,assets/frontend-template/
4. Padrões de Progressive Disclosure
Padrão 1: Guia de Alto Nível com References
# Processamento de PDF
## Início rápido
Extrair texto com pdfplumber:
[exemplo de código]
## Funcionalidades avançadas
- **Preenchimento de formulários**: Ver references/forms.md para guia completo
- **Referência da API**: Ver references/reference.md para todos os métodos
- **Exemplos**: Ver references/examples.md para padrões comuns
Claude carrega forms.md, reference.md, ou examples.md apenas quando necessário.
Padrão 2: Organização por Domínio
Para skills com múltiplos domínios, organizar por domínio para evitar carregar contexto irrelevante:
bigquery-skill/
├── SKILL.md (visão geral e navegação)
└── references/
├── finance.md (métricas de receita, facturação)
├── sales.md (oportunidades, pipeline)
├── product.md (uso da API, funcionalidades)
└── marketing.md (campanhas, atribuição)
Quando o utilizador pergunta sobre métricas de vendas, Claude lê apenas sales.md.
Padrão 3: Detalhes Condicionais
Mostrar conteúdo básico, ligar a conteúdo avançado:
# Processamento DOCX
## Criar documentos
Usar docx-js para novos documentos. Ver references/docx-js.md.
## Editar documentos
Para edições simples, modificar o XML directamente.
**Para tracked changes**: Ver references/redlining.md
**Para detalhes OOXML**: Ver references/ooxml.md
Directrizes importantes:
- Evitar references aninhadas — manter um nível de profundidade a partir de SKILL.md
- Para ficheiros de reference com mais de 100 linhas: incluir índice no topo
5. O Que Não Incluir
Uma skill deve conter apenas ficheiros essenciais que suportam directamente a sua funcionalidade. Não criar:
- README.md
- INSTALLATION_GUIDE.md
- QUICK_REFERENCE.md
- CHANGELOG.md
- Qualquer outro ficheiro auxiliar de documentação
A skill deve conter apenas a informação que um agente precisa para executar o trabalho. Não deve conter contexto sobre o processo de criação, procedimentos de setup/teste, ou documentação orientada ao utilizador.
6. Scripts init_skill.py e package_skill.py
init_skill.py
Gera um directório de skill template com tudo o que é necessário:
python scripts/init_skill.py <nome-skill> --path <directório-output>
O script:
- Cria o directório da skill no path especificado
- Gera SKILL.md template com frontmatter correcto e placeholders TODO
- Cria directórios de exemplo:
scripts/,references/,assets/ - Adiciona ficheiros de exemplo em cada directório
Após inicialização, personalizar ou remover os ficheiros gerados conforme necessário.
package_skill.py
Empacota a skill num ficheiro .skill distribuível:
python scripts/package_skill.py <path/para/pasta-skill>
# Com directório de output opcional:
python scripts/package_skill.py <path/para/pasta-skill> ./dist
O script de packaging:
-
Valida automaticamente:
- Formato do frontmatter YAML e campos obrigatórios
- Convenções de naming e estrutura de directórios
- Completude e qualidade da description
- Organização de ficheiros e referências a recursos
-
Empacota se a validação passar, criando um ficheiro
.skill(zip com extensão .skill)
Se a validação falhar, o script reporta os erros e sai sem criar o pacote.
Processo Completo de Criação
- Compreender a skill com exemplos concretos
- Planear conteúdos reutilizáveis (scripts, references, assets)
- Inicializar a skill (executar init_skill.py)
- Implementar recursos e escrever SKILL.md
- Empacotar a skill (executar package_skill.py)
- Iterar com base em uso real
Workflow de iteração:
- Usar a skill em tarefas reais
- Notar dificuldades ou ineficiências
- Identificar como SKILL.md ou recursos devem ser actualizados
- Implementar alterações e testar novamente