MÓDULO 1.2

📂 Progressive disclosure & estrutura

Uma skill madura raramente é um único arquivo. Ela tem pastas de apoioreferences/, scripts/, assets/ — e um SKILL.md enxuto que decide o que carregar e quando. Esse é o princípio de progressive disclosure: revelar o detalhe só na hora.

6
Tópicos
40
Minutos
Básico
Nível
Teoria
Tipo

Conteúdo detalhado

SKILL.md enxuto · só roteia "leia X quando Y" 📚references/templates, design, tabelas ⚙️scripts/código executável 🖼️assets/fontes, imagens, exemplos
1

🪜 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.

Camadas
Do leve ao pesado
Sob demanda
Só quando preciso
Economia
Contexto preservado
Velocidade
Dispara mais leve
2

📚 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.

estrutura típica árvore
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/.

Templates
Esqueletos de saída
Design
Cores, tipografia
Tabelas
Dados de consulta
Checklists
Revisão final
3

⚙️ 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
SKILL.md chamando um script (ilustrativo) Markdown
## 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.
Determinismo
Igual toda vez
Reuso
Escreve uma vez
Barato
Não gasta tokens
Confiável
Sem alucinação
4

🖼️ 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.

Fontes
Tipografia da saída
Imagens
Ícones, logos
Exemplos
Saída de referência
Configs
Arquivos de apoio
5

🪶 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.

Roteador
Aponta, não despeja
Fluxo
Alto nível só
Regras
Inegociáveis aqui
Leveza
Detalhe fora
6

🗺️ 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.

tabela de roteamento no SKILL.md (ilustrativo) Markdown
## 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.
1

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.

2

Aponte o arquivo certo

Um caminho explícito por condição. Evite "leia tudo em references/" — isso anula o ganho da revelação progressiva.

3

Reforce "só quando precisar"

Deixe explícito que os arquivos não devem ser carregados antecipadamente. Essa linha protege o contexto.

Condição
O gatilho da leitura
Destino
Qual arquivo abrir
Tabela
Mapa de roteamento
"Só se"
Nunca tudo de uma vez

🧰 Prompts copiáveis

Use estes prompts para refatorar suas skills aplicando progressive disclosure.

Prompt — diagnosticar inchaço
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.
Prompt — propor estrutura de pastas
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.
Prompt — escrever a tabela de roteamento
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.

invoice-builder/SKILL.md (enxuto) rodável
---
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

Progressive disclosure — revele o detalhe só quando ele for necessário; o resto fica fora do caminho.
references/, scripts/, assets/ — conhecimento profundo, lógica determinística e recursos estáticos, cada um no seu lugar.
SKILL.md enxuto — é um roteador, não uma enciclopédia; o detalhe pesado vai para os arquivos de apoio.
Roteamento "leia X quando Y" — é o que transforma pastas soltas numa skill que se navega sozinha.

Próximo módulo:

1.3 — Descriptions que disparam