Conteúdo detalhado
🪜 O que é progressive disclosure
Progressive disclosure (revelação progressiva) é um princípio emprestado do design
de interfaces: mostre primeiro só o essencial e revele o detalhe apenas quando ele for necessário. Numa skill, isso significa
que o SKILL.md carrega o fluxo principal, e o
conhecimento profundo fica guardado em arquivos que só são lidos sob demanda.
🪜 Por que isso importa
Tudo que entra no SKILL.md custa contexto toda vez que a skill dispara — mesmo o detalhe que aquela execução específica nem vai usar.
- •Camada 1 — sempre vista: a description (no índice).
- •Camada 2 — ao disparar: o corpo do SKILL.md.
- •Camada 3 — sob demanda: os arquivos de
references/,scripts/,assets/.
💡 Dica prática
Pense num manual de produto: a capa diz o que é, o índice mostra os capítulos, e você só lê o capítulo 7 quando precisa do capítulo 7. A skill bem estruturada funciona igual — ela não despeja o livro inteiro na sua frente.
📚 A pasta references/
A pasta references/ guarda o conhecimento
profundo da skill: templates HTML, design systems, tabelas de cores, checklists, exemplos longos. São coisas que
tornariam o SKILL.md gigantesco se ficassem inline — e que nem toda execução precisa.
minha-skill/
├── SKILL.md ← enxuto: fluxo + roteamento
└── references/
├── DESIGN-REFERENCE.md ← paleta, componentes, tokens
├── TEMPLATE.md ← esqueleto da saída
└── CHECKLIST.md ← revisão antes de entregar
📊 Um caso real
O gerador de itinerários que o curso disseca mantém um documento de Design System separado, com paleta, tipografia e uma biblioteca de 12 componentes (hero banner, flight cards, day selector, budget breakdown...). O SKILL.md só diz "siga o design system" — ele não repete tudo isso inline.
Resultado: o arquivo principal fica legível, e o detalhe pesado só entra em contexto quando a página realmente vai ser construída.
💡 Dica prática
Regra de bolso: se um bloco do seu SKILL.md passa de ~40 linhas e é "conhecimento de consulta" (uma tabela, um template), ele provavelmente pertence a references/.
⚙️ A pasta scripts/
Quando uma tarefa tem lógica determinística — filtrar dados, transformar um arquivo, chamar uma API com regras fixas —, é melhor escrever um script e fazer a skill executá-lo, em vez de pedir ao Claude para reinventar a lógica a cada chamada. Código roda igual sempre; prosa regenerada, não.
✓ Bom candidato a script
- ✓Cálculo repetível (scoring, parsing, conversão)
- ✓Chamada de API com formato fixo
- ✓Transformação de dados estruturados
- ✓Qualquer coisa que precisa ser exata e idêntica toda vez
✗ NÃO é trabalho de script
- ✗Julgamento, redação, criatividade
- ✗Decisões que dependem de contexto da conversa
- ✗Interpretação de linguagem natural
- ✗Tarefas onde "depende" é a resposta certa
## Workflow
1. Ask the user for the leads CSV path.
2. Run `python scripts/qualify_leads.py <path>` to score each lead.
3. Read the script's JSON output and summarize the top 10.
# A lógica de scoring vive no script — não é regenerada
# em cada execução. O Claude orquestra, o código calcula.
🖼️ A pasta assets/
assets/ guarda os recursos estáticos
que a saída usa ou referencia: fontes, imagens, ícones, um exemplo de saída pronto, um arquivo de configuração. A ideia é
manter a skill autocontida — tudo que ela precisa viaja junto, então ela funciona
igual em qualquer máquina.
📦 O valor de um exemplo pronto
Um dos assets mais valiosos é um exemplo de saída completo. O gerador de itinerários, por exemplo, inclui um arquivo de exemplo (uma viagem de demonstração já renderizada).
- •Ancora a qualidade: o Claude vê o nível esperado.
- •Documenta o formato melhor que mil palavras.
- •Serve de teste: a nova saída deve ficar tão boa quanto.
🧷 Autocontido na prática
Skills bem feitas evitam dependências externas. O princípio "um arquivo, zero dependências" do gerador de itinerários — CSS e JS inline, imagens em base64, só uma fonte externa — é o mesmo espírito: o entregável não quebra porque um servidor caiu ou um link mudou.
🪶 Mantendo o SKILL.md enxuto
Esta é a regra de ouro da estrutura: o SKILL.md é um
roteador, não uma enciclopédia. Ele deve conter o fluxo, as decisões e as regras
— e apontar para os detalhes, não despejá-los. Um SKILL.md inchado paga o preço em contexto a cada disparo.
✓ Fica no SKILL.md
- ✓Frontmatter (name + description)
- ✓O workflow de alto nível
- ✓As regras duras e os princípios
- ✓A tabela "leia X quando Y"
✗ Vai para os arquivos de apoio
- ✗Templates HTML/CSS completos
- ✗Tabelas longas de dados de consulta
- ✗Lógica de cálculo (vira script)
- ✗Exemplos enormes de saída
⚠️ O sintoma do SKILL.md inchado
Se o seu arquivo principal tem 800 linhas e a maioria são tabelas e templates que só são usados em metade das execuções, você está pagando contexto por nada toda vez que a skill dispara. Mova o peso para references/ e deixe o SKILL.md respirar.
💡 Dica prática
Leia seu SKILL.md inteiro em voz alta. Se você se pega "pulando" um bloco porque é só uma tabela de referência, o Claude também não precisa dele sempre — esse bloco é candidato a virar arquivo de apoio.
🗺️ Roteando entre os arquivos
Ter pastas de apoio só funciona se o SKILL.md souber quando
abrir cada uma. O padrão é simples e poderoso: uma instrução condicional do tipo
"leia references/X.md quando for fazer Y". Isso transforma um amontoado de arquivos
numa skill que se navega sozinha.
## Quando ler cada arquivo
| Se você vai... | Leia primeiro |
|-----------------------------|----------------------------|
| construir a página de saída | references/DESIGN.md |
| revisar antes de entregar | references/CHECKLIST.md |
| calcular o score | (rode scripts/score.py) |
Não leia tudo de uma vez — abra cada arquivo só na etapa
que precisa dele.
Nomeie a condição
"Quando for construir a saída", "quando o usuário pedir uma revisão". A condição precisa ser reconhecível dentro do fluxo.
Aponte o arquivo certo
Um caminho explícito por condição. Evite "leia tudo em references/" — isso anula o ganho da revelação progressiva.
Reforce "só quando precisar"
Deixe explícito que os arquivos não devem ser carregados antecipadamente. Essa linha protege o contexto.
🧰 Prompts copiáveis
Use estes prompts para refatorar suas skills aplicando progressive disclosure.
Aqui está meu SKILL.md: <cole>. Aponte quais blocos são
"conhecimento de consulta" (tabelas, templates, exemplos longos)
que deveriam sair para references/, e quais blocos são fluxo/regras
que devem ficar. Justifique cada um.
Para uma skill que faz <descreva>, proponha a árvore de pastas
(SKILL.md + references/ + scripts/ + assets/) e diga, para cada
arquivo, o que ele contém e em que etapa do workflow é lido.
Escreva uma seção "Quando ler cada arquivo" para minha skill,
em forma de tabela (condição → arquivo a abrir), deixando claro
que os arquivos só devem ser carregados sob demanda.
📤 Exemplo de saída
Um SKILL.md enxuto que delega para arquivos de apoio — o padrão de progressive disclosure em ação.
---
name: invoice-builder
description: Builds a clean PDF-ready HTML invoice. Use when the
user wants to "create an invoice", "bill a client", or /invoice.
---
# Invoice Builder
## Workflow
1. Collect client, items, amounts, due date.
2. When building the layout, read `references/TEMPLATE.md`.
3. Before delivering, run `references/CHECKLIST.md`.
## Rules
- Never invent line items the user didn't provide.
- Totals must match the sum of the lines exactly.
## When to read each file
| If you are... | Read first |
|----------------------|-------------------------|
| building the layout | references/TEMPLATE.md |
| reviewing the output | references/CHECKLIST.md |
Load support files only at the step that needs them.
✏️ Exercícios práticos
1. Classifique cada bloco
Pegue uma skill existente e classifique cada bloco do SKILL.md em: "fica" (fluxo/regras), "vai para references/", ou "vira script". Conte quantas linhas você conseguiria mover para fora.
2. Desenhe a árvore
Para uma skill que gere relatórios de auditoria, desenhe a árvore de pastas completa (SKILL.md + references/ + scripts/ + assets/) e justifique por que cada item está onde está.
3. Crie um SKILL.md rodável com referência ⭐
Escreva um SKILL.md enxuto MAIS um arquivo references/TEMPLATE.md de apoio. O SKILL.md deve ter uma instrução de roteamento ("leia o template quando construir a saída"). Depois peça ao Claude para executar a skill e confirme que ele abre o template só na etapa certa — não antes.
📂 Resumo do módulo
Próximo módulo:
1.3 — Descriptions que disparam