MODULO 3.2

⚡ Skills: Criando Fluxos Sob Demanda

Skills sao comandos customizados que automatizam tarefas repetitivas. Aprenda a criar, configurar e compartilhar skills para multiplicar sua produtividade com Claude Code.

6
Topicos
45
Minutos
Avancado
Nivel
Pratico
Tipo
1

🎯 O que sao Skills

Skills sao comandos slash customizados que voce define para encapsular prompts complexos, fluxos de trabalho ou instrucoes especificas. Quando invocado, o skill injeta seu conteudo no contexto e executa as instrucoes.

💡 Analogia Simples

Pense em skills como macros ou aliases para prompts. Em vez de digitar um prompt de 500 palavras toda vez que quiser fazer code review, voce cria um skill /review que faz isso automaticamente.

  • Invocados com /nome-do-skill
  • Podem receber argumentos dinamicos
  • Salvos em arquivos markdown (.md)
  • Podem ser globais ou por projeto

📊 Casos de Uso Comuns

  • /review - Code review automatizado
  • /test - Geracao de testes
  • /doc - Documentacao automatica
  • /refactor - Refatoracao guiada
  • /commit - Mensagens de commit
  • /debug - Analise de bugs
2

📁 Estrutura e Localizacao

Skills sao arquivos markdown armazenados em diretorios especificos. O nome do arquivo (sem extensao) define o comando slash.

Diretorios de Skills

# Skills globais (todas as sessoes)
~/.claude/skills/
├── review/
│   └── SKILL.md   # /review
├── commit/
│   └── SKILL.md   # /commit
└── debug/
    └── SKILL.md   # /debug

# Skills do projeto (apenas este projeto)
.claude/skills/
├── deploy/
│   └── SKILL.md   # /deploy
└── test-e2e/
    └── SKILL.md   # /test-e2e

⚠️ Importante: Estrutura Correta

O nome do diretorio define o comando slash, NAO o nome do arquivo. O arquivo DEVE se chamar SKILL.md (maiusculo).

✓ Correto: .claude/skills/review/SKILL.md
✗ Errado: .claude/skills/review.md

Skills Globais

  • Disponiveis em todos os projetos
  • Bom para fluxos pessoais
  • Local: ~/.claude/skills/nome/SKILL.md

Skills de Projeto

  • Especificos para o projeto
  • Versionados no Git com a equipe
  • Local: .claude/skills/nome/SKILL.md

💡 Prioridade

Skills de projeto tem prioridade sobre globais. Se existir /review em ambos, o do projeto sera usado.

3

✍️ Criando seu Primeiro Skill

Vamos criar um skill de code review passo a passo. Este skill analisara codigo e fornecera feedback estruturado.

1

Criar o diretorio do skill

mkdir -p .claude/skills/review

O nome da pasta define o comando: /review

2

Criar o arquivo SKILL.md (dentro da pasta)

# Code Review Skill

Analise o codigo fornecido e forneca feedback estruturado:

## Checklist de Review
- [ ] Logica correta e sem bugs obvios
- [ ] Tratamento de erros adequado
- [ ] Codigo legivel e bem nomeado
- [ ] Sem duplicacao desnecessaria
- [ ] Performance aceitavel
- [ ] Testes cobrindo casos principais

## Formato de Resposta
Para cada issue encontrada:
1. **Severidade**: Critica/Alta/Media/Baixa
2. **Localizacao**: Arquivo e linha
3. **Descricao**: O que esta errado
4. **Sugestao**: Como corrigir

## Exemplo
**Severidade**: Media
**Localizacao**: src/auth.ts:45
**Descricao**: Senha nao esta sendo hasheada
**Sugestao**: Use bcrypt.hash() antes de salvar

---
Agora analise: $ARGUMENTS
3

Usar o skill

/review o arquivo src/auth.ts

O texto apos /review substitui $ARGUMENTS

Variaveis Disponiveis

Variavel Descricao
$ARGUMENTS Texto apos o comando /skill
$SELECTION Texto selecionado (se integrado com editor)
$FILE Caminho do arquivo atual
4

🎨 Skills Avancados

Skills podem ser muito mais sofisticados, incluindo condicoes, multiplas etapas e integracao com outras ferramentas.

Skill Multi-etapas: /new-feature

# New Feature Skill

Voce vai implementar uma nova feature seguindo TDD.

## Etapa 1: Entendimento
Primeiro, analise o requisito e faca perguntas de clarificacao
se necessario: $ARGUMENTS

## Etapa 2: Testes
Depois de entender, escreva os testes ANTES da implementacao.
Use o padrao do projeto (ver CLAUDE.md para convencoes de teste).

## Etapa 3: Implementacao
Implemente o minimo necessario para passar os testes.

## Etapa 4: Refatoracao
Melhore o codigo mantendo testes passando.

## Etapa 5: Documentacao
Atualize README ou JSDoc se necessario.

---
Requisito da feature: $ARGUMENTS

Comece pela Etapa 1.

Skill com Condicoes: /deploy

# Deploy Skill

Antes de fazer deploy, verifique:

1. Rode `npm run test` - TODOS testes devem passar
2. Rode `npm run lint` - Sem erros de lint
3. Rode `npm run build` - Build sem erros

Se algum falhar, PARE e reporte o erro.

Se todos passarem, execute o deploy para o ambiente:
- Se $ARGUMENTS contem "prod": use `npm run deploy:prod`
- Se $ARGUMENTS contem "staging": use `npm run deploy:staging`
- Caso contrario: use `npm run deploy:dev`

Ambiente solicitado: $ARGUMENTS

💡 Dica Pro

Skills podem referenciar outros skills! Use /outro-skill dentro do markdown para criar fluxos compostos.

5

🤝 Compartilhando Skills

Skills de projeto podem ser versionados no Git e compartilhados com toda a equipe, padronizando fluxos de trabalho.

✓ Beneficios de Compartilhar

  • Padronizacao de code review
  • Onboarding mais rapido
  • Melhores praticas documentadas
  • Consistencia entre desenvolvedores

Estrutura Recomendada

.claude/
├── skills/
│   ├── review/
│   │   └── SKILL.md
│   ├── test/
│   │   └── SKILL.md
│   └── deploy/
│       └── SKILL.md
└── README.md  # Documenta os skills

Template de README para Skills

# Skills do Projeto

## Disponiveis

| Skill | Descricao | Exemplo |
|-------|-----------|---------|
| /review | Code review automatico | /review src/auth.ts |
| /test | Gera testes unitarios | /test UserService |
| /deploy | Deploy com verificacoes | /deploy staging |

## Criando Novos Skills

1. Crie uma pasta em .claude/skills/ com o nome do comando
2. Dentro da pasta, crie o arquivo SKILL.md
3. Use o template em .claude/skills/_template/SKILL.md
4. Teste localmente antes de commitar
5. Adicione a tabela acima

Exemplo: /meu-skill → .claude/skills/meu-skill/SKILL.md

⚠️ Atencao

Nao inclua informacoes sensiveis (tokens, senhas, endpoints internos) em skills versionados. Use variaveis de ambiente para dados sensiveis.

6

📚 Biblioteca de Skills Prontos

Aqui estao skills prontos para usar que cobrem os casos mais comuns. Copie, adapte e expanda conforme sua necessidade.

/commit - Mensagem de Commit

Analise as mudancas staged (git diff --cached) e gere uma
mensagem de commit seguindo Conventional Commits:

- feat: nova funcionalidade
- fix: correcao de bug
- docs: documentacao
- refactor: refatoracao
- test: testes

Formato:
tipo(escopo): descricao curta

Corpo opcional com mais detalhes.

Gere APENAS a mensagem, sem explicacoes.

/explain - Explicacao de Codigo

Explique o codigo a seguir de forma clara e didatica:

1. **Visao Geral**: O que este codigo faz em uma frase
2. **Passo a Passo**: Explique cada parte relevante
3. **Entrada/Saida**: Quais dados recebe e retorna
4. **Complexidade**: Analise Big O se relevante
5. **Possiveis Melhorias**: Sugestoes de refatoracao

Codigo para explicar: $ARGUMENTS

/optimize - Otimizacao de Performance

Analise o codigo fornecido focando em performance:

## Checklist
- Loops desnecessarios ou ineficientes
- Operacoes N+1 (queries em loop)
- Falta de memoizacao/cache
- Algoritmos com complexidade alta
- Memory leaks potenciais

## Formato de Resposta
1. Issues encontradas (ordenadas por impacto)
2. Codigo otimizado
3. Benchmarks estimados (antes vs depois)

Codigo para otimizar: $ARGUMENTS

Proximo Passo

Crie um skill para sua tarefa mais repetitiva esta semana. Comece simples e itere conforme aprende o que funciona.

# Exemplo: criar skill de traducao
mkdir -p ~/.claude/skills/pt
echo "Traduza para portugues: \$ARGUMENTS" > ~/.claude/skills/pt/SKILL.md

📋 Resumo do Modulo

Skills sao macros para prompts - automatize tarefas repetitivas
Dois niveis: global e projeto - skills de projeto versionados no Git
Use $ARGUMENTS para parametros - skills dinamicos e reutilizaveis
Skills podem ser multi-etapas - fluxos complexos encapsulados
Estrutura: pasta/SKILL.md - .claude/skills/nome-skill/SKILL.md
Compartilhe com a equipe - versione no Git com o projeto

Proximo Modulo:

3.3 - MCP: Model Context Protocol - conectando Claude a fontes de dados externas