๐ Estrutura de Skills no Claude Code
Claude Code descobre skills automaticamente em dois locais: ~/.claude/skills/ (global) e .claude/skills/ (projeto).
Locais de Skills
~/.claude/skills/ # Skills GLOBAIS (todos os projetos)
โโโ code-review/
โ โโโ SKILL.md
โโโ tdd/
โ โโโ SKILL.md
โโโ formatting/
โโโ SKILL.md
projeto/.claude/skills/ # Skills LOCAIS (apenas este projeto)
โโโ api-patterns/
โ โโโ SKILL.md
โโโ database-migrations/
โโโ SKILL.md
Global (~/.claude/skills/)
- โข Disponivel em TODOS os projetos
- โข Ideal para skills pessoais de uso geral
- โข Code review, TDD, formatacao
Local (.claude/skills/)
- โข Apenas neste projeto
- โข Versionada com o codigo
- โข Compartilhada com o time
๐ฏ Criando sua Primeira Skill
Criar uma skill e simples: uma pasta com um arquivo SKILL.md contendo frontmatter YAML e instrucoes em Markdown.
Passo a Passo
# 1. Criar pasta da skill
mkdir -p ~/.claude/skills/my-formatter
# 2. Criar SKILL.md
cat > ~/.claude/skills/my-formatter/SKILL.md << 'EOF'
---
name: my-formatter
description: Formats code following team standards. Use when
user asks to format, lint, or clean up code files.
allowed-tools: Bash(prettier:*), Bash(eslint:*)
---
# Code Formatter
## When to Use
- User asks to format code
- Before committing changes
- After generating new files
## Instructions
1. Run prettier on the file
2. Run eslint --fix
3. Report any remaining issues
## Commands
- Format: `prettier --write {file}`
- Lint: `eslint --fix {file}`
EOF
๐ง Slash Commands Customizados
Skills podem ser invocadas como slash commands: /skill-name. O nome vem do frontmatter.
Invocando Skills
# Invocacao explicita via slash command
/my-formatter # Ativa a skill
/my-formatter src/app.js # Ativa com argumento
# Ativacao automatica (via description)
"Formate o arquivo utils.ts" # Detecta e ativa
# Listar skills disponiveis
/skills # Mostra todas as skills
๐ก Dica de Nomes
Use nomes curtos e memoraveis para suas skills. Eles viram slash commands, entao /fmt e melhor que /my-super-awesome-code-formatter-v2.
๐ฆ Skills com Recursos
Skills podem incluir arquivos adicionais: scripts, templates e configuracoes.
Estrutura com Recursos
my-skill/
โโโ SKILL.md # Obrigatorio
โโโ scripts/
โ โโโ validate.py # Script de validacao
โ โโโ generate.sh # Script de geracao
โโโ templates/
โ โโโ component.tsx.tmpl # Template de componente
โ โโโ test.ts.tmpl # Template de teste
โโโ resources/
โโโ design-tokens.json # Configuracoes
Referenciando Recursos no SKILL.md
## Scripts Disponiveis
Para validar: execute `./scripts/validate.py {arquivo}`
Para gerar: use o template em `./templates/component.tsx.tmpl`
## Design Tokens
As cores e fontes estao em `./resources/design-tokens.json`
๐งช Testando Skills
Teste suas skills antes de compartilhar. Verifique se ativam corretamente e produzem resultados esperados.
Checklist de Teste
- 1.Descoberta: Execute
/skillse verifique se aparece - 2.Slash command: Invoque com
/nome-da-skill - 3.Ativacao automatica: Use prompts naturais e veja se ativa
- 4.Resultado: Verifique se as instrucoes sao seguidas
Problemas Comuns
- โข Skill nao aparece: Verifique se SKILL.md existe e tem frontmatter valido
- โข Nao ativa automaticamente: Melhore a description com mais keywords
- โข Permissoes negadas: Verifique allowed-tools no frontmatter
๐ค Compartilhando Skills
Skills podem ser compartilhadas via Git, como submodulos ou copiando para repositorios.
Via Git (Projeto)
# Skills em .claude/skills/ sao
# versionadas automaticamente
Ideal para skills especificas do projeto.
Via Repositorio
git clone repo ~/.claude/skills/skill-name
Ideal para skills reutilizaveis.
๐ Resumo do Modulo
Proximo Modulo:
2.5 - Hooks e Automacao