write-a-skill

Crie novas habilidades de agente com estrutura adequada, divulgação progressiva e recursos agrupados. Use quando o usuário quiser criar, escrever ou construir uma nova habilidade.

npx skills add https://github.com/sanity-io/sanity --skill write-a-skill

Writing Skills

Process

  1. Gather requirements - ask user about:

    • What task/domain does the skill cover?
    • What specific use cases should it handle?
    • Does it need executable scripts or just instructions?
    • Any reference materials to include?
  2. Draft the skill - create:

    • SKILL.md with concise instructions
    • Additional reference files if content exceeds 500 lines
    • Utility scripts if deterministic operations needed
  3. Review with user - present draft and ask:

    • Does this cover your use cases?
    • Anything missing or unclear?
    • Should any section be more/less detailed?

Skill Structure

skill-name/
├── SKILL.md           # Main instructions (required)
├── REFERENCE.md       # Detailed docs (if needed)
├── EXAMPLES.md        # Usage examples (if needed)
└── scripts/           # Utility scripts (if needed)
    └── helper.js

SKILL.md Template

---
name: skill-name
description: Brief description of capability. Use when [specific triggers].
---

# Skill Name

## Quick start

[Minimal working example]

## Workflows

[Step-by-step processes with checklists for complex tasks]

## Advanced features

[Link to separate files: See [REFERENCE.md](REFERENCE.md)]

Description Requirements

The description is the only thing your agent sees when deciding which skill to load. It's surfaced in the system prompt alongside all other installed skills. Your agent reads these descriptions and picks the relevant skill based on the user's request.

Goal: Give your agent just enough info to know:

  1. What capability this skill provides
  2. When/why to trigger it (specific keywords, contexts, file types)

Format:

  • Max 1024 chars
  • Write in third person
  • First sentence: what it does
  • Second sentence: "Use when [specific triggers]"

Good example:

Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction.

Bad example:

Helps with documents.

The bad example gives your agent no way to distinguish this from other document skills.

When to Add Scripts

Add utility scripts when:

  • Operation is deterministic (validation, formatting)
  • Same code would be generated repeatedly
  • Errors need explicit handling

Scripts save tokens and improve reliability vs generated code.

When to Split Files

Split into separate files when:

  • SKILL.md exceeds 100 lines
  • Content has distinct domains (finance vs sales schemas)
  • Advanced features are rarely needed

Review Checklist

After drafting, verify:

  • Description includes triggers ("Use when...")
  • SKILL.md under 100 lines
  • No time-sensitive info
  • Consistent terminology
  • Concrete examples included
  • References one level deep

Mais skills de sanity-io

tdd
sanity-io
Desenvolvimento orientado a testes com ciclo red-green-refactor. Use quando o usuário quiser construir funcionalidades ou corrigir bugs usando TDD, mencionar "red-green-refactor", quiser…
performance-optimization
sanity-io
Otimiza o desempenho da aplicação. Use quando existirem requisitos de desempenho, quando suspeitar de regressões de desempenho, ou quando os Core Web Vitals ou tempos de carregamento…
content-experimentation-best-practices
sanity-io
Orientação estruturada para projetar, executar e analisar experimentos de conteúdo visando melhorar conversão e engajamento. Abrange frameworks de hipóteses, seleção de métricas, cálculo de tamanho amostral e testes de significância estatística em experimentos A/B e multivariados. Inclui recursos detalhados sobre valores-p, intervalos de confiança, análise de poder e métodos bayesianos para interpretação de resultados. Fornece padrões de integração com CMS para gerenciar variantes no nível de campo e conectar sistemas externos...
content-modeling-best-practices
sanity-io
Orientação para modelagem de conteúdo estruturado voltada ao design de esquemas, reutilização e entrega multicanal. Aborda princípios fundamentais: tratar conteúdo como dados, e não como páginas; manter fontes únicas de verdade; projetar para canais futuros; e otimizar fluxos de trabalho editoriais. Inclui estruturas de decisão para referências versus objetos incorporados, separação de responsabilidades e padrões de reutilização de conteúdo. Oferece orientação sobre taxonomia e classificação para abordagens planas, hierárquicas e facetadas. Aplica-se a...
portable-text-conversion
sanity-io
Converta conteúdo HTML e Markdown em blocos Portable Text para Sanity. Use ao migrar conteúdo de CMSs legados, importando HTML ou Markdown para o Sanity,…
portable-text-serialization
sanity-io
Renderize e serialize Portable Text para React, Svelte, Vue, Astro, HTML, Markdown e texto simples. Use ao implementar a renderização de Portable Text em qualquer frontend…
sanity-best-practices
sanity-io
Práticas recomendadas abrangentes e guias de integração para desenvolvimento no Sanity CMS em diferentes frameworks e tópicos. Abrange mais de 10 integrações de frameworks, incluindo Next.js, Nuxt, Astro, Remix, SvelteKit e Angular, com padrões específicos de cada framework e orientações de configuração. Inclui guias de tópicos para design de esquemas, otimização de consultas GROQ, Edição Visual, Portable Text, imagens, TypeGen, localização e migrações de conteúdo. Fornece uma estrutura de referência rápida para carregar apenas guias relevantes com base no tipo de tarefa,...
sanity-migration
sanity-io
Planeja, implementa e revisa migrações de outros CMSs e sistemas de conteúdo para o Sanity. Use ao migrar ou replataformar para o Sanity a partir de AEM, Adobe Experience Manager, Contentful, Strapi, Webflow, WordPress, Payload, Drupal, arquivos Markdown/MDX/frontmatter, exportações WXR/XML, APIs de CMS, dumps de banco de dados, HTML estático, ou ao projetar fluxos de extração, transformação, conversão de Portable Text, migração de ativos, redirecionamentos, validação e cutover.
data-analysisdatabasedevelopment