autor: George Marmelstein projeto: Sistema Marmelstein licenca: Todos os direitos reservados ano: 2026
Orquestrador: criar-skill v3.0
Propósito: Meta-orquestrador para criação de skills com TDD (Test-Driven Development) e CSO (Claude Search Optimization).
Princípio: "Se você não viu o agente falhar SEM a skill, você não sabe se a skill ensina a coisa certa."
Padrão: RED (teste sem skill) → GREEN (skill mínima) → REFACTOR (fechar brechas)
description: | Use when creating new skills, automations, or specialized knowledge packages. Keywords: criar skill, nova skill, automatizar, conhecimento, TDD skill. argument-hint: [ideia-geral-da-skill] allowed-tools: Read Write Skill Task TodoWrite AskUserQuestion
<meta_orquestrador> <tipo>Criador de Artefatos com TDD</tipo> <artefato_alvo>Skill (diretório + SKILL.md + references/)</artefato_alvo> <spec_referencia>.claude/specs/templates/skill.md</spec_referencia> <checklist_referencia>.claude/specs/referencias/checklist-validacao-skill.md</checklist_referencia> <guia_referencia>docs/2026-01-23-guia-escrita-skills.md</guia_referencia> </meta_orquestrador>
<variaveis> | Variável | Origem | Descrição | |----------|--------|-----------| | $ARGUMENTS | Usuário | Ideia geral da skill | | $NOME | Fase 1 | Nome kebab-case (ex: converter-pdf) | | $TIPO | Fase 1 | "conhecimento", "scripts", "híbrida" ou "disciplina" | | $USAR_FORK | Fase 0 | true se skill executa scripts verbosos (v2.7) | | $CAMINHO | Calculado | `.claude/skills/$NOME/` | </variaveis><contratos_dados> | Fase | Entrada | Saída | Validação | |------|---------|-------|-----------| | 0 | $ARGUMENTS | Variáveis calculadas | $NOME, $TIPO e $USAR_FORK definidos | | 1 | Ideia geral | Especificação + cenário de teste | Perguntas respondidas | | 2 | Especificação | Campos preenchidos com CSO | Description otimizada, fork avaliado | | 3 | Cenário de teste | Resultado RED | Falha documentada | | 4 | Skill mínima | Resultado GREEN | Compliance verificado | | 5 | Skill refinada | Validação final | Checklist ≥ 96 pts | </contratos_dados>
Princípios Fundamentais
<principios><tdd_para_skills> ### TDD Aplicado a Skills
| Conceito TDD | Criação de Skill |
|--------------|------------------|
| Caso de teste | Cenário de pressão com subagente |
| Código de produção | Documento SKILL.md |
| Fase RED | Agente viola regra SEM a skill |
| Fase GREEN | Agente cumpre COM a skill |
| Refactor | Fechar brechas mantendo compliance |
**Lei de Ferro:** NENHUMA SKILL SEM TESTE FALHANDO PRIMEIRO
</tdd_para_skills>
<cso_optimization> ### CSO - Claude Search Optimization
A description determina se o Claude encontra e ativa a skill corretamente.
**Regras da Description:**
1. DEVE começar com "Use when..."
2. Descrever apenas GATILHOS (quando usar)
3. NUNCA resumir o workflow da skill
4. Incluir palavras-chave de busca
**Por quê?** Testes mostram que quando a description resume o workflow,
o Claude segue a description em vez de ler o conteúdo completo.
```yaml
# ❌ RUIM (resume workflow)
description: "Executes plans by dispatching subagents with code review between tasks"
# → Claude faz UMA revisão porque description diz "code review"
# ✅ BOM (apenas gatilhos)
description: "Use when executing implementation plans with independent tasks"
# → Claude lê a skill completa e descobre que são DUAS revisões
```
</cso_optimization>
<tipos_skill> ### Tipos de Skill e Necessidade de Teste
| Tipo | Descrição | Precisa TDD? |
|------|-----------|--------------|
| **Disciplina** | Impõe regras, tem custo de compliance | SIM - obrigatório |
| **Técnica** | Método concreto com passos | SIM - verificar aplicação |
| **Padrão** | Modelo mental, abordagem | SIM - verificar reconhecimento |
| **Referência** | Documentação, sintaxe | NÃO - apenas validar recuperação |
</tipos_skill>
<isolamento_contexto> ### Isolamento de Contexto (v2.7)
Skills que executam scripts com output verboso devem usar `context: fork`:
| Característica | Usar fork? | Motivo |
|----------------|------------|--------|
| Executa scripts Python/Bash | **SIM** | Output verboso polui contexto |
| Apenas conhecimento/regras | NÃO | Sem execução |
| Processamento de lote | **SIM** | Muito output acumulado |
| Múltiplas tentativas/retry | **SIM** | Isolamento de falhas |
| Tarefa rápida (<10 linhas) | NÃO | Overhead desnecessário |
**Campos de Isolamento:**
```yaml
context: fork # Executa em sub-agente isolado
agent: general-purpose # Tipo de agente
```
**Padrão de Skill Imperativa (com fork):**
- SKILL.md enxuto (<100 linhas)
- Comandos literais para copiar e executar
- "REGRA ABSOLUTA: NAO crie codigo novo"
- Documentação rica em references/
</isolamento_contexto>
<eficiencia_tokens> ### Eficiência de Tokens
| Tipo de Skill | Limite |
|---------------|--------|
| Workflows frequentes | < 150 palavras |
| Skills carregadas sempre | < 200 palavras |
| Outras skills | < 500 palavras |
| SKILL.md máximo | < 500 linhas |
</eficiencia_tokens>
</principios>Fase 0: Inicialização
<instrucoes_fase_0> <passo numero="1" nome="Registrar tarefa"> Usar TodoWrite para registrar as fases: - Fase 1: Brainstorming e Design - Fase 2: Especificação com CSO - Fase 3: Teste RED (sem skill) - Fase 4: Implementação GREEN (skill mínima) - Fase 5: Validação e REFACTOR </passo>
<passo numero="2" nome="Ler referências"> Read: .claude/specs/templates/skill.md Read: .claude/specs/referencias/checklist-validacao-skill.md Read: docs/2026-01-23-guia-escrita-skills.md (se existir) </passo> <passo numero="3" nome="Classificar tipo"> Determinar tipo da skill:**DISCIPLINA** se:
- Impõe regras que têm custo de seguir
- Contradiz objetivos imediatos (ex: "testar antes de commitar")
- Risco de racionalização ("só desta vez...")
**TÉCNICA** se:
- Método concreto com passos definidos
- Transforma input em output específico
**PADRÃO** se:
- Modelo mental para tomada de decisão
- "Quando usar A vs B"
**REFERÊNCIA** se:
- Documentação de API, sintaxe, ferramentas
- Sem regras a violar
</passo>
<passo numero="4" nome="Avaliar necessidade de isolamento (v2.7)">
Determinar se a skill precisa de `context: fork`:
**USAR FORK** se:
- [ ] Executa scripts Python/Bash
- [ ] Output pode ter mais de 50 linhas
- [ ] Processamento de lote/múltiplos arquivos
- [ ] Múltiplas tentativas podem ser necessárias
- [ ] Queremos evitar poluição de contexto
**NÃO USAR FORK** se:
- [ ] Skill é apenas conhecimento/regras
- [ ] Output é mínimo (<10 linhas)
- [ ] Tarefa é rápida e simples
Se USAR FORK:
- SKILL.md deve ser enxuto (<100 linhas)
- Comandos literais (copiar e colar)
- "REGRA ABSOLUTA: NAO crie codigo"
- Documentação rica vai para references/
</passo>
</instrucoes_fase_0>
Fase 1: Brainstorming e Design
<config_fase_1> <objetivo>Refinar ideia e planejar cenário de teste</objetivo> <ferramenta>Skill tool com skill="brainstorming"</ferramenta> <criterio_saida>Especificação clara + cenário de teste definido</criterio_saida> </config_fase_1>
<perguntas_skill>
Identidade e Propósito
- Qual o NOME da skill? (kebab-case)
- O que essa skill FAZ? (verbo de ação)
- Que VALOR ela entrega ao usuário?
- Qual o DOMÍNIO de conhecimento?
Tipo e Necessidade de TDD
- É skill de DISCIPLINA (impõe regras com custo)?
- É skill de TÉCNICA (método com passos)?
- É skill de PADRÃO (modelo mental)?
- É skill de REFERÊNCIA (documentação)?
- Precisa de teste TDD? (disciplina/técnica/padrão = SIM)
CSO - Gatilhos de Ativação
- Quais SINTOMAS/ERROS devem ativar essa skill?
- Quais PALAVRAS-CHAVE o usuário pode usar?
- Quais SINÔNIMOS devem ser cobertos?
- Quais COMANDOS/FERRAMENTAS estão relacionados?
- Quando ela NÃO deve ser usada?
Cenário de Teste (se tipo ≠ referência)
- Qual cenário de PRESSÃO testará a skill?
- Quais PRESSÕES combinar? (tempo, autoridade, custo, pragmatismo)
- Qual comportamento ESPERADO sem a skill? (falha)
- Qual comportamento ESPERADO com a skill? (compliance)
Estrutura
- O SKILL.md ficará com menos de 500 linhas?
- O que vai para references/?
- O que vai para scripts/?
Isolamento de Contexto (v2.7)
- A skill executa scripts com output verboso?
- Precisa de
context: forkpara isolamento? - Se fork, deve usar padrão imperativo (comandos literais)?
- Onde ficará a documentação rica (references/)? </perguntas_skill>
<instrucoes_fase_1> <passo numero="1" nome="Ativar brainstorming"> Usar Skill tool: skill="brainstorming" Focar nas perguntas acima. </passo>
<passo numero="2" nome="Definir cenário de teste"> Se $TIPO ∈ {disciplina, técnica, padrão}:Criar cenário de pressão combinando:
- [ ] Pressão de TEMPO ("cliente esperando")
- [ ] Pressão de AUTORIDADE ("tech lead disse para pular")
- [ ] Pressão de CUSTO AFUNDADO ("já gastamos 40 tokens")
- [ ] Pressão PRAGMÁTICA ("funciona no meu ambiente")
- [ ] Pressão de EXAUSTÃO ("12 horas de debug")
Formato do cenário:
```
CONTEXTO: [situação específica com arquivos reais]
PRESSÕES: [lista das pressões aplicadas]
PERGUNTA: "Você precisa escolher entre:
A) [Opção que viola a regra]
B) [Opção que segue a regra]
C) [Opção intermediária]
O que você faz?"
ESPERADO SEM SKILL: Escolhe A (viola)
ESPERADO COM SKILL: Escolhe B (cumpre)
```
</passo>
<passo numero="3" nome="Confirmar especificação">
Apresentar resumo:
- Nome: $NOME
- Tipo: $TIPO
- Gatilhos: [lista]
- Cenário de teste: [resumo]
→ Aguardar confirmação.
</passo>
</instrucoes_fase_1>
Fase 2: Especificação com CSO
<instrucoes_fase_2>
<passo numero="1" nome="Construir description otimizada"> A description DEVE:1. Começar com "Use when..."
2. Listar GATILHOS (sintomas, cenários)
3. Incluir PALAVRAS-CHAVE
4. NÃO resumir o workflow
Template:
```yaml
description: >
Use when [GATILHO 1], [GATILHO 2], or [GATILHO 3] -
[benefício em uma frase].
Keywords: [palavra1], [palavra2], [palavra3].
```
Exemplo:
```yaml
description: >
Use when tests have race conditions, timing dependencies, or
inconsistent pass/fail behavior - replaces arbitrary timeouts
with condition polling. Keywords: flaky test, timeout, race condition.
```
</passo>
<passo numero="1b" nome="Definir isolamento (v2.7)">
Se a skill executa scripts com output verboso:
```yaml
# Campos de isolamento
context: fork # Executa em sub-agente isolado
agent: general-purpose # Tipo de agente (general-purpose, Explore, Plan)
allowed-tools: Bash Read Write
```
**Quando usar fork:**
- [ ] Skill executa scripts Python/Bash
- [ ] Output pode ter mais de 50 linhas
- [ ] Processamento de lote/múltiplos arquivos
- [ ] Múltiplas tentativas podem ser necessárias
**Se usar fork, aplicar padrão imperativo:**
- SKILL.md enxuto (<100 linhas)
- Comandos literais (copiar e colar)
- "REGRA ABSOLUTA: NAO crie codigo novo"
- Documentação rica em references/
</passo>
<passo numero="2" nome="Definir identidade">
```xml
<identidade>
<papel>[Especialista em domínio]</papel>
<dominio>[Área de conhecimento]</dominio>
<estilo>[Técnico/Didático/Analítico]</estilo>
</identidade>
```
</passo>
<passo numero="3" nome="Definir propósito">
```xml
<proposito>
<objetivo>[O QUE a skill faz]</objetivo>
<razao>[POR QUE isso é valioso]</razao>
<resultado>[O QUE o usuário obtém]</resultado>
</proposito>
```
NÃO mencionar pipelines ou contextos específicos.
</passo>
<passo numero="4" nome="Definir quando_usar com CSO">
```xml
<quando_usar>
<gatilhos>
Use quando:
- [Sintoma/erro específico]
- [Cenário de uso]
- [Palavra-chave que usuário menciona]
</gatilhos>
<exclusoes>
NÃO use quando:
- [Cenário onde não se aplica]
- [Alternativa mais apropriada]
</exclusoes>
<keywords>
Palavras-chave: [termo1], [termo2], [sinônimo1], [erro1]
</keywords>
</quando_usar>
```
</passo>
<passo numero="5" nome="Definir instruções">
```xml
<instrucoes>
<passo numero="1" nome="[Nome descritivo]">
[Instrução clara e específica]
</passo>
<passo numero="2" nome="[Nome descritivo]">
[Instrução clara e específica]
</passo>
</instrucoes>
```
</passo>
<passo numero="6" nome="Definir restrições com red_flags">
Para skills de DISCIPLINA, incluir:
```xml
<restricoes>
<nunca>
- [Comportamento proibido 1]
- [Comportamento proibido 2]
</nunca>
<sempre>
- [Comportamento obrigatório 1]
- [Comportamento obrigatório 2]
</sempre>
<red_flags>
Se você está pensando:
- "Só desta vez..."
- "O contexto é diferente..."
- "Já sei que funciona..."
PARE. Isso é exatamente quando a skill é mais necessária.
</red_flags>
</restricoes>
```
</passo>
<passo numero="7" nome="Criar tabela de racionalizações (se disciplina)">
Para skills de DISCIPLINA:
```xml
<racionalizacoes>
| Desculpa Comum | Por Que Está Errada | Resposta Correta |
|----------------|---------------------|------------------|
| "Já testei mentalmente" | Testes mentais não encontram bugs | Executar teste real |
| "É só uma mudança pequena" | Mudanças pequenas causam bugs | Seguir o processo |
| "O prazo não permite" | Bugs causam mais atraso | Renegociar prazo |
</racionalizacoes>
```
</passo>
</instrucoes_fase_2>
Fase 3: Teste RED (sem skill)
<instrucoes_fase_3> <condicao>Executar apenas se $TIPO ∈ {disciplina, técnica, padrão}</condicao>
<passo numero="1" nome="Preparar cenário de teste"> Usar o cenário definido na Fase 1. Garantir que combina múltiplas pressões. </passo> <passo numero="2" nome="Executar teste SEM a skill"> Usar Task tool com subagente que NÃO tem a skill:```
Task(
subagent_type="general-purpose",
prompt="[Cenário de pressão definido]"
)
```
Observar: O agente escolheu opção A (viola)?
</passo>
<passo numero="3" nome="Documentar falha e racionalização">
Capturar VERBATIM:
- Qual opção o agente escolheu
- Qual justificativa deu
- Quais racionalizações usou
```
RESULTADO RED:
- Opção escolhida: A (viola)
- Justificativa: "[texto exato do agente]"
- Racionalização: "[desculpa usada]"
```
</passo>
<passo numero="4" nome="Validar fase RED">
Se agente NÃO violou (escolheu B):
- O cenário não tem pressão suficiente
- Adicionar mais pressões e re-testar
Se agente VIOLOU (escolheu A):
- RED passou ✓
- Prosseguir para GREEN
</passo>
</instrucoes_fase_3>
Fase 4: Implementação GREEN (skill mínima)
<instrucoes_fase_4>
<passo numero="1" nome="Criar estrutura de diretório">
.claude/skills/$NOME/ ├── SKILL.md ├── references/ (se necessário) └── scripts/ (se necessário)
</passo>
**ESCOLHA O TEMPLATE APROPRIADO:**
### Template A: Skill com Isolamento (context: fork)
Use quando a skill executa scripts com output verboso:
```markdown
---
name: $NOME
description: >
Use when [GATILHOS]. Keywords: [palavras-chave].
context: fork
agent: general-purpose
allowed-tools: Bash Read Write
---
# $NOME
REGRA ABSOLUTA: Execute os scripts existentes. NAO crie codigo novo.
## Scripts Disponiveis
| Script | Comando |
|--------|---------|
| [nome] | `python .claude/skills/$NOME/scripts/[script].py` |
## Comandos Prontos
### [Tarefa 1]
```bash
python .claude/skills/$NOME/scripts/[script].py --arg valor
```
## Retorno Esperado
Retorne APENAS:
- Status (sucesso/erro)
- Caminhos gerados
- Estatisticas
NAO inclua:
- Output completo dos scripts
- Logs detalhados
## Documentacao
Para detalhes: references/documentacao-completa.md
```
### Template B: Skill Padrão (sem fork)
Use para skills de conhecimento, disciplina ou referência:
```markdown
---
name: $NOME
description: >
Use when [GATILHOS]. Keywords: [palavras-chave].
---
<identidade>
<papel>[Papel]</papel>
<dominio>[Domínio]</dominio>
<estilo>[Estilo]</estilo>
</identidade>
<proposito>
<objetivo>[O que faz]</objetivo>
<razao>[Por que é valioso]</razao>
<resultado>[O que usuário obtém]</resultado>
</proposito>
<quando_usar>
<gatilhos>
Use quando:
- [Gatilho 1]
- [Gatilho 2]
</gatilhos>
<exclusoes>
NÃO use quando:
- [Exclusão 1]
</exclusoes>
<keywords>
Palavras-chave: [termo1], [termo2]
</keywords>
</quando_usar>
<instrucoes>
<passo numero="1" nome="[Nome]">
[Instrução]
</passo>
</instrucoes>
<conhecimento> <!-- OU <scripts> -->
[Conteúdo]
</conhecimento>
<restricoes>
<nunca>
- [Proibição]
</nunca>
<sempre>
- [Obrigação]
</sempre>
<red_flags>
Se você está pensando:
- "Só desta vez..."
PARE. Isso é quando a skill é mais necessária.
</red_flags>
</restricoes>
<racionalizacoes> <!-- Se tipo = disciplina -->
| Desculpa | Por Que Errada | Resposta Correta |
|----------|----------------|------------------|
| "[Desculpa do RED]" | [Explicação] | [Correção] |
</racionalizacoes>
<exemplos>
<exemplo tipo="uso_correto">
[Demonstração]
</exemplo>
</exemplos>
```
</passo>
<passo numero="3" nome="Executar teste COM a skill">
Usar Task tool com subagente que TEM a skill:
```
Task(
subagent_type="general-purpose",
prompt="
Leia a skill: .claude/skills/$NOME/SKILL.md
[Mesmo cenário de pressão do RED]
"
)
```
Observar: O agente escolheu opção B (cumpre)?
</passo>
<passo numero="4" nome="Validar fase GREEN">
Se agente ainda VIOLA (escolheu A):
- Skill não está clara o suficiente
- Identificar o que faltou
- Adicionar regra específica
- Re-testar
Se agente CUMPRE (escolheu B):
- GREEN passou ✓
- Verificar se cita seções da skill como justificativa
- Prosseguir para REFACTOR
</passo>
</instrucoes_fase_4>
Fase 5: Validação e REFACTOR
<instrucoes_fase_5> <passo numero="1" nome="Teste sob pressão máxima"> Criar cenário com TODAS as pressões combinadas: - Tempo + Autoridade + Custo + Pragmatismo + Exaustão
Re-executar teste COM a skill.
</passo>
<passo numero="2" nome="Identificar brechas">
Se agente racionaliza violação mesmo com skill:
1. Capturar exatamente a desculpa
2. Adicionar negação explícita em `<nunca>`
3. Adicionar entrada na tabela `<racionalizacoes>`
4. Adicionar red flag em `<red_flags>`
5. Re-testar
</passo>
<passo numero="3" nome="Verificar tamanho e isolamento">
**Tamanho:**
- SKILL.md < 500 linhas? (skill padrão)
- Se $USAR_FORK: SKILL.md < 100 linhas?
- Se não, mover para references/
**Isolamento (se $USAR_FORK = true):**
- [ ] context: fork presente?
- [ ] agent: general-purpose presente?
- [ ] "REGRA ABSOLUTA: NAO crie codigo" presente?
- [ ] Comandos são literais (copiar e colar)?
- [ ] Retorno define o que incluir/não incluir?
- [ ] Documentação rica em references/?
</passo>
<passo numero="4" nome="Aplicar checklist">
Read: .claude/specs/referencias/checklist-validacao-skill.md
Validar (120 pts total):
1. YAML Frontmatter com CSO (25 pts)
2. Estrutura de Diretório (20 pts)
3. Tags XML Obrigatórias (35 pts)
4. Tags XML Recomendadas (15 pts)
5. Ausência de Anti-Patterns (15 pts)
6. Scripts e Dependências (10 pts)
Score mínimo: 96 pts (80%)
</passo>
<passo numero="5" nome="Verificar indicadores de skill blindada">
A skill está "à prova de balas" quando:
- [ ] Agente escolhe opção correta sob pressão máxima
- [ ] Agente cita seções específicas da skill
- [ ] Agente reconhece tentação mas segue regras
- [ ] Tabela de racionalizações cobre desculpas observadas
</passo>
<passo numero="6" nome="Reportar resultado">
Apresentar:
- Skill criada: $CAMINHO
- Tipo: $TIPO
- Score: X/120 (Y%)
- Testes: RED ✓ GREEN ✓ REFACTOR ✓
- Estrutura de diretório
- Próximos passos
</passo>
</instrucoes_fase_5>
Checklist Resumido
<checklist_rapido>
CSO (Claude Search Optimization)
[ ] Description começa com "Use when..." [ ] Description lista GATILHOS, não workflow [ ] Palavras-chave incluídas (sintomas, erros, sinônimos) [ ] Tag <quando_usar> com gatilhos e exclusões
TDD (se não for referência)
[ ] Fase RED executada (falha documentada) [ ] Fase GREEN executada (compliance verificado) [ ] Fase REFACTOR executada (brechas fechadas) [ ] Cenário de teste com múltiplas pressões
Estrutura
[ ] Localização: .claude/skills/[name]/SKILL.md [ ] Nome pasta = campo name do YAML [ ] SKILL.md < 500 linhas [ ] Progressive disclosure (references/ se necessário)
Isolamento de Contexto (v2.7)
[ ] Se executa scripts verbosos, usa context: fork? [ ] Se fork, tem agent definido? [ ] Se fork, SKILL.md é enxuto (<100 linhas)? [ ] Se fork, tem "REGRA ABSOLUTA: NAO crie codigo"? [ ] Se fork, documentação rica em references/? [ ] Se fork, comandos são literais (copiar e colar)?
Conteúdo
[ ] Tag <proposito> com objetivo + razão + resultado [ ] Tag <instrucoes> com passos numerados [ ] Tag <restricoes> com nunca + sempre + red_flags [ ] Tag <racionalizacoes> (se tipo = disciplina) [ ] ZERO caminhos hardcoded [ ] ZERO credenciais </checklist_rapido>
Anti-Padrões a Evitar
<anti_patterns> | Anti-Padrão | Problema | Correção | |-------------|----------|----------| | Description resume workflow | Claude segue description, não lê skill | Usar apenas gatilhos | | Skill sem teste RED | Não sabe se ensina certo | Testar antes de escrever | | Pressão única no teste | Muito fácil de passar | Combinar 3+ pressões | | Racionalizações genéricas | Não fecha brechas reais | Usar texto verbatim do teste | | SKILL.md > 500 linhas | Muito contexto | Mover para references/ | | Labels vagos | "Processar" não diz nada | Usar verbos específicos | | Script sem fork | Output verboso polui contexto | Adicionar context: fork | | Fork sem agent | Erro de execução | Adicionar agent: general-purpose | | Fork com instruções ricas | Modelo se perde | Usar padrão imperativo (<100 linhas) | | Fork sem regra explícita | Modelo cria código novo | "REGRA ABSOLUTA: NAO crie codigo" | </anti_patterns>
Diferenças: Skill vs Agent vs Orquestrador
<comparativo> | Aspecto | Agent | Skill | Skill (fork) | Orquestrador | |---------|-------|-------|--------------|--------------| | Localização | `.claude/agents/` | `.claude/skills/[name]/` | `.claude/skills/[name]/` | `.claude/commands/` | | Estrutura | Arquivo único | Diretório + SKILL.md | Diretório + SKILL.md enxuto | Arquivo único | | Foco | Capacidade atômica | Conhecimento + TDD | Scripts + Isolamento | Coordenação | | Discovery | Descrição no frontmatter | CSO otimizado | CSO otimizado | /comando | | Teste | Opcional | TDD obrigatório* | Validação de execução | Via subagentes | | Tamanho | Sem limite | < 500 linhas | < 100 linhas | Sem limite | | Contexto | Isolado (Task) | Compartilhado | Isolado (fork) | Principal |*Obrigatório para tipos: disciplina, técnica, padrão. Opcional para referência.
Quando usar Skill com fork:
- Scripts Python/Bash com output verboso
- Processamento de lote/múltiplos arquivos
- Tarefas que podem exigir retry/múltiplas tentativas </comparativo>
Referências
Sistema Marmelstein | George Marmelstein | Todos os direitos reservados | 2026
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.