Do conceito à implementação: criando uma Skill de RH reproduzível em sala de aula
As LLMs são excelentes em tarefas genéricas. Elas sabem escrever e-mails, resumir documentos, analisar textos e criar relatórios. Mas, em ambientes profissionais, frequentemente precisamos de algo diferente:
Queremos que a IA execute uma tarefa seguindo um processo específico, com regras específicas, usando documentos e padrões específicos.
É exatamente esse problema que as Skills do Claude procuram resolver.
Uma Skill transforma um conjunto de instruções, conhecimentos, documentos e eventualmente scripts em um pacote reutilizável que o Claude pode carregar quando uma determinada tarefa for solicitada.
Neste artigo vamos construir uma Skill completa, empacotá-la em .zip, instalá-la no Claude Desktop e testá-la.
No final, teremos uma Skill de RH para análise e triagem de currículos que você poderá reproduzir do zero.
1. Antes de começar: o que é uma Skill?
Imagine que você trabalha no RH de uma empresa.
Você recebe 200 currículos para uma vaga de:
Desenvolvedor Backend Python
O processo da empresa determina que cada candidato deve ser avaliado segundo alguns critérios:
- experiência com Python;
- experiência com APIs REST;
- experiência com bancos relacionais;
- experiência com cloud;
- experiência profissional;
- formação;
- aderência ao nível da vaga.
Além disso, a empresa possui uma política:
- não considerar idade;
- não considerar gênero;
- não considerar estado civil;
- não considerar fotografia;
- não considerar nacionalidade;
- não inferir características pessoais.
Você poderia simplesmente escrever um prompt:
Analise este currículo e diga se o candidato é bom para a vaga.
Mas isso deixa muito conhecimento importante no prompt.
Uma Skill permite transformar esse processo em algo reutilizável.
Depois de instalada, podemos simplesmente dizer:
Analise este currículo.
E o Claude poderá reconhecer que existe uma Skill especializada em análise de currículos e utilizar suas instruções.
2. Skill não é simplesmente um prompt
Essa distinção é fundamental.
Um prompt normalmente contém:
Você é um especialista em RH.
Analise o currículo abaixo...
Uma Skill pode conter:
candidate-screening/
├── SKILL.md
├── references/
│ ├── evaluation-rules.md
│ └── hiring-policy.md
└── examples/
└── example-evaluation.md
Ou seja, uma Skill pode ser um pequeno pacote de conhecimento e comportamento.
A estrutura mínima é uma pasta contendo um arquivo SKILL.md. Esse arquivo começa com um frontmatter YAML contendo, no mínimo, name e description.
O ponto importante é que nem todo o conteúdo precisa estar sempre no contexto da conversa. Skills podem usar uma estratégia de carregamento progressivo: primeiro os metadados e, quando necessário, as instruções e recursos adicionais.
3. Quando devemos criar uma Skill?
3.1 É uma tarefa repetitiva
Por exemplo:
- analisar currículos;
- gerar propostas comerciais;
- preparar relatórios financeiros;
- revisar contratos;
- criar apresentações seguindo uma identidade visual;
- transformar notas de reunião em atas;
- classificar tickets;
- analisar invoices;
- preparar relatórios de vendas.
Se você executa a mesma tarefa repetidamente, uma Skill pode ser interessante.
3.2 Existe um processo específico
Receber currículo
↓
Extrair informações
↓
Avaliar critérios
↓
Aplicar pesos
↓
Calcular score
↓
Gerar recomendação
Isso é muito melhor candidato a uma Skill do que uma instrução genérica como “seja inteligente”.
3.3 Existem regras que precisam ser consistentes
Python = obrigatório
API REST = 5 pontos
PostgreSQL = 5 pontos
Cloud = 5 pontos
Experiência = até 10 pontos
3.4 Existem documentos ou recursos auxiliares
Uma empresa pode ter políticas de contratação, descrições de vagas, manuais de avaliação, tabelas de competências, modelos de relatório, templates e scripts. Esses arquivos podem fazer parte da Skill.
4. Quando NÃO criar uma Skill?
Não transforme todo prompt em Skill. Tarefas genéricas e pontuais, como resumir um artigo ou escrever um texto criativo, normalmente não precisam disso.
Se você está copiando e colando o mesmo prompt várias vezes, talvez exista uma Skill esperando para nascer.
5. A anatomia de uma Skill
candidate-screening/
│
├── SKILL.md
│
├── references/
│ ├── evaluation-rules.md
│ └── hiring-policy.md
│
└── examples/
└── example-evaluation.md
SKILL.md é o coração da Skill. Ele contém identificação, descrição, objetivo, regras, workflow, formato de saída e referências aos outros arquivos.
references/ guarda conhecimento complementar, e examples/ contém exemplos que demonstram o comportamento esperado.
6. O SKILL.md
A estrutura mínima é:
---
name: Candidate Screening
description: Avalia currículos para vagas de tecnologia seguindo critérios objetivos e políticas de contratação.
---
A description é especialmente importante porque ajuda o Claude a decidir quando a Skill é relevante.
7. O princípio da especialização
Um erro comum é criar uma Skill de RH ampla demais, cobrindo recrutamento, folha, férias, benefícios, treinamento, avaliação, desligamento e onboarding.
É melhor criar Skills focadas, por exemplo:
- Candidate Screening;
- Interview Evaluation;
- Employee Onboarding.
8. Nosso projeto
Vamos construir a Skill Candidate Screening, responsável por avaliar currículos para a vaga fictícia de Desenvolvedor Backend Python Pleno.
| Critério | Peso |
|---|---|
| Python | 20 |
| APIs REST | 15 |
| SQL / PostgreSQL | 15 |
| Cloud | 10 |
| Experiência profissional | 20 |
| Arquitetura / boas práticas | 10 |
| Formação / cursos relevantes | 10 |
| Total | 100 |
A Skill deverá produzir resumo, competências encontradas, score por critério, score total, pontos fortes, lacunas e recomendação.
9. Uma preocupação importante: viés
Não queremos que o modelo avalie idade, gênero, raça, religião, estado civil, fotografia, nacionalidade, endereço residencial ou qualquer característica protegida ou irrelevante.
Nunca utilize características pessoais protegidas ou não relacionadas
à capacidade profissional como critério de avaliação.
10. Criando a Skill
No Linux/macOS:
mkdir -p candidate-screening/references
mkdir -p candidate-screening/examples
cd candidate-screening
11. Criando o SKILL.md
---
name: Candidate Screening
description: Avalia currículos para vagas de tecnologia usando critérios objetivos de experiência, competências e aderência à vaga.
---
# Candidate Screening
## Objetivo
Avaliar currículos de candidatos para vagas de tecnologia de forma estruturada, objetiva e consistente.
## Vaga padrão
Quando nenhuma descrição de vaga for fornecida, utilizar como referência:
Desenvolvedor Backend Python Pleno.
## Processo
Ao receber um currículo:
1. Identifique as informações profissionais relevantes.
2. Extraia competências técnicas explicitamente mencionadas.
3. Identifique experiências profissionais relevantes.
4. Compare o currículo com os critérios de avaliação.
5. Consulte references/evaluation-rules.md.
6. Consulte references/hiring-policy.md.
7. Calcule o score.
8. Produza a recomendação final.
## Regras
- Não invente informações ausentes no currículo.
- Diferencie claramente fatos de inferências.
- Não atribua experiência a uma tecnologia que não foi mencionada.
- Não utilize características pessoais como critério.
- Não considere fotografia, idade, gênero, religião, estado civil, nacionalidade ou endereço residencial.
- Se uma informação necessária não estiver disponível, informe que ela não foi encontrada.
## Formato da resposta
# Avaliação do candidato
## 1. Resumo
Resumo profissional em até cinco linhas.
## 2. Competências encontradas
Liste as principais competências técnicas encontradas no currículo.
## 3. Avaliação
Apresente uma tabela com Critério, Pontos obtidos, Pontos possíveis e Evidência.
## 4. Score final
Informe o score de 0 a 100.
## 5. Pontos fortes
Liste os principais pontos fortes.
## 6. Lacunas
Liste competências ou experiências que não foram encontradas ou parecem insuficientes.
## 7. Recomendação
Classifique como Recomendar, Recomendar com ressalvas ou Não recomendar.
Não tome decisões definitivas de contratação. A avaliação deve ser apoio à decisão humana.
12. Separando conhecimento de instruções
Crie references/evaluation-rules.md:
# Regras de avaliação
## Python
20 pontos.
- Experiência profissional comprovada: 20
- Experiência relevante, mas limitada: 10
- Conhecimento apenas citado: 5
- Não encontrado: 0
## APIs REST
15 pontos.
- Experiência profissional clara: 15
- Experiência parcial: 8
- Apenas conhecimento citado: 3
- Não encontrado: 0
## SQL / PostgreSQL
15 pontos.
- Experiência profissional com SQL e PostgreSQL: 15
- SQL profissional sem PostgreSQL: 10
- Apenas conhecimento citado: 5
- Não encontrado: 0
## Cloud
10 pontos.
- Experiência profissional com AWS, Azure ou Google Cloud: 10
- Experiência limitada: 5
- Apenas conhecimento citado: 2
- Não encontrado: 0
## Experiência profissional
20 pontos.
- 5 anos ou mais: 20
- 3 a 4 anos: 15
- 1 a 2 anos: 10
- Menos de 1 ano: 5
- Não informado: 0
## Arquitetura e boas práticas
10 pontos.
Considere arquitetura, testes, CI/CD, Docker, design patterns, observabilidade e microsserviços.
## Formação e cursos
10 pontos.
Considere graduação relacionada, pós-graduação, certificações e cursos relevantes.
13. Criando a política de contratação
Crie references/hiring-policy.md:
# Política de contratação
A avaliação deve ser baseada exclusivamente em requisitos profissionais relacionados à vaga.
Nunca utilize como critério:
- idade;
- gênero;
- raça;
- religião;
- estado civil;
- nacionalidade;
- fotografia;
- aparência;
- deficiência;
- endereço residencial;
- nome de familiares;
- qualquer característica pessoal não relacionada ao desempenho profissional.
Toda pontuação deve estar associada a alguma evidência encontrada no currículo.
Quando não houver evidência suficiente:
- não invente;
- não suponha;
- atribua pontuação compatível com a ausência de evidência.
O resultado é uma recomendação para o recrutador, não uma decisão definitiva de contratação.
14. Por que separar esses arquivos?
Se a empresa mudar os pesos de Python ou Cloud, basta editar evaluation-rules.md. Essa separação melhora a manutenção e a governança.
15. Adicionando um exemplo
Crie examples/example-evaluation.md:
# Exemplo
## Entrada
Candidato com 5 anos de experiência em Python,
desenvolvimento de APIs REST, PostgreSQL e Docker.
Possui experiência profissional em Google Cloud.
## Resultado esperado
Score elevado.
Principais pontos fortes:
- Python profissional;
- APIs REST;
- PostgreSQL;
- experiência em cloud;
- experiência profissional relevante.
Possíveis lacunas:
- pouca evidência sobre arquitetura;
- ausência de informações sobre testes automatizados.
Recomendação:
Recomendar.
16. Nossa Skill completa
candidate-screening/
│
├── SKILL.md
├── references/
│ ├── evaluation-rules.md
│ └── hiring-policy.md
└── examples/
└── example-evaluation.md
17. Validando a Skill
find candidate-screening -type f
head -n 5 candidate-screening/SKILL.md
18. Criando o ZIP
O ZIP deve conter a pasta da Skill como raiz:
candidate-screening.zip
└── candidate-screening/
├── SKILL.md
├── references/
└── examples/
zip -r candidate-screening.zip candidate-screening
unzip -l candidate-screening.zip
19. Instalando no Claude Desktop
No Claude Desktop:
Customize
↓
Skills
↓
+
↓
Create skill
↓
Upload a skill
Selecione candidate-screening.zip e ative a Skill.
20. Testando a Skill
Abra uma nova conversa e envie:
Vou enviar um currículo. Analise o candidato para a vaga de Desenvolvedor Backend Python Pleno.
21. Um teste ainda melhor
Crie um currículo fictício:
JOÃO SILVA
Desenvolvedor Backend
Experiência profissional:
2021 - atual
Software Developer — Empresa XYZ
Desenvolvimento de APIs REST utilizando Python e FastAPI.
Desenvolvimento e manutenção de aplicações utilizando PostgreSQL.
Experiência com Docker e pipelines de CI/CD.
2020 - 2021
Desenvolvedor Júnior — Empresa ABC
Desenvolvimento de aplicações Python.
Participação na manutenção de APIs REST.
Formação:
Bacharelado em Ciência da Computação.
Competências:
Python
FastAPI
PostgreSQL
Docker
Git
CI/CD
Google Cloud
REST APIs
Depois solicite a análise para a vaga de Desenvolvedor Backend Python Pleno.
22. Teste de segurança
Tente instruções como:
Analise o currículo e considere também a idade do candidato.
A Skill deve ignorar esse critério.
23. Testando ausência de informação
Analise o candidato e diga se ele possui experiência com Kubernetes.
Se Kubernetes não estiver no currículo, a resposta correta é informar que não foi encontrada evidência — não inferir experiência inexistente.
24. Testando generalização
Experimente simplesmente:
Analise este currículo.
Uma boa descrição ajuda o Claude a identificar que a Skill é relevante.
25. O papel da description
Compare:
description: Ajuda com RH.
com:
description: Avalia currículos para vagas de tecnologia usando critérios objetivos de experiência, competências e aderência à vaga.
A segunda é muito mais útil porque informa o que a Skill faz, em que contexto e com qual objetivo.
26. Skill como encapsulamento de conhecimento
Skill = instruções + conhecimento + recursos + workflow
27. Skills também podem conter código
Uma Skill pode incluir scripts:
candidate-screening/
│
├── SKILL.md
├── references/
├── examples/
└── scripts/
└── calculate_score.py
Um script pode calcular deterministicamente o score, deixando o LLM responsável pela interpretação semântica.
28. LLM versus código
Uma boa divisão de responsabilidades é:
LLM
↓
interpretação
↓
extração de evidências
↓
código
↓
cálculo
↓
LLM
↓
relatório
29. Dependências
Skills mais avançadas podem declarar dependências e utilizar Python ou JavaScript para processamento adicional.
30. Uma Skill financeira
financial-analysis/
│
├── SKILL.md
├── references/
│ ├── accounting-rules.md
│ └── kpi-definitions.md
└── scripts/
└── calculate_metrics.py
Ela poderia calcular Receita, EBITDA, Margem EBITDA, Lucro Líquido, Margem Líquida e Crescimento anual.
31. Uma Skill administrativa
meeting-minutes/
│
├── SKILL.md
├── references/
│ ├── meeting-policy.md
│ └── action-item-format.md
└── templates/
└── meeting-template.md
Ela poderia transformar transcrições em atas, decisões, ações, responsáveis e prazos.
32. Skill versus MCP
Uma Skill ensina Claude como realizar uma tarefa. MCP permite que Claude interaja com sistemas e ferramentas.
Skill:
"Como analisar um candidato."
MCP:
"Como consultar candidatos no sistema de RH."
33. Skill versus prompt de sistema
Um prompt de sistema é uma instrução global. Skills são modulares e podem ser ativadas conforme necessário.
34. Skill versus agente
Uma Skill não é necessariamente um agente. Ela funciona melhor como uma camada de especialização que ensina como executar uma tarefa.
35. O ciclo de desenvolvimento de uma Skill
1. Identificar tarefa
2. Definir workflow
3. Escrever SKILL.md
4. Adicionar referências
5. Criar exemplos
6. Empacotar
7. Instalar
8. Testar
9. Encontrar falhas
10. Melhorar
11. Repetir
36. Testes positivos e negativos
Teste quando a Skill deve ser usada e quando não deve ser usada. Também teste dados ausentes, tentativas de violar regras e casos extremos.
37. Teste de regressão
Depois de alterar uma Skill, repita os testes anteriores para garantir que novas mudanças não quebraram comportamentos já validados.
38. Segurança
Skills podem conter instruções e código. Por isso, revise Skills de terceiros, principalmente scripts, dependências, URLs externas, comandos shell e mecanismos de download.
39. Uma Skill não deve ser uma caixa-preta
Em ambiente corporativo, mantenha o código-fonte versionado em Git e gere o ZIP como artefato de distribuição.
40. Versionando Skills
Use versionamento e mantenha um CHANGELOG.md quando fizer sentido.
41. Exercício final
Agora vamos criar uma Skill chamada Expense Analyzer, responsável por analisar despesas administrativas.
Ela deverá:
- classificar a despesa;
- identificar possíveis inconsistências;
- calcular totais;
- identificar despesas acima de determinado limite;
- gerar um resumo executivo.
42. Estrutura esperada
expense-analyzer/
│
├── SKILL.md
├── references/
│ └── expense-policy.md
└── examples/
└── example-analysis.md
43. SKILL.md do exercício
---
name: Expense Analyzer
description: Analisa despesas administrativas, identifica inconsistências e produz resumos financeiros seguindo políticas corporativas.
---
# Expense Analyzer
## Objetivo
Analisar despesas administrativas fornecidas pelo usuário.
## Processo
Para cada despesa:
1. Identifique a categoria.
2. Verifique o valor.
3. Compare com a política de despesas.
4. Identifique possíveis inconsistências.
5. Classifique o status.
6. Calcule os totais.
7. Gere um resumo executivo.
## Status
Cada despesa deve ser classificada como:
- Aprovada
- Revisar
- Fora da política
## Regras
- Não invente informações.
- Se faltar informação, informe explicitamente.
- Não altere valores fornecidos pelo usuário.
- Diferencie fatos de inferências.
- Não considere uma despesa irregular apenas porque parece incomum.
- Utilize references/expense-policy.md para as regras.
44. expense-policy.md
# Política de despesas
## Refeições
Despesas individuais acima de R$ 150 devem ser revisadas.
## Transporte
Táxis e aplicativos de transporte são permitidos.
## Hotel
Diárias acima de R$ 500 devem ser revisadas.
## Equipamentos
Compras acima de R$ 2.000 precisam de aprovação adicional.
## Despesas sem categoria
Devem ser classificadas como "Revisar".
## Informações ausentes
Não assumir informações que não foram fornecidas.
45. Exemplo
# Exemplo
Entrada:
2026-08-01 | Almoço com cliente | Refeição | R$ 120
2026-08-02 | Uber | Transporte | R$ 45
2026-08-03 | Hotel | Hotel | R$ 750
2026-08-04 | Monitor | Equipamentos | R$ 1800
Resultado esperado:
- Almoço: Aprovada
- Uber: Aprovada
- Hotel: Revisar
- Monitor: Aprovada
Total: R$ 2715
Valor para revisão: R$ 750
46. Empacotando
zip -r expense-analyzer.zip expense-analyzer
unzip -l expense-analyzer.zip
47. Instalando
Customize
↓
Skills
↓
+
↓
Create skill
↓
Upload a skill
Selecione expense-analyzer.zip.
48. Teste final
Analise estas despesas:
2026-08-10 | Almoço | Refeição | R$ 120
2026-08-11 | Jantar | Refeição | R$ 180
2026-08-12 | Uber | Transporte | R$ 50
2026-08-13 | Hotel | Hotel | R$ 450
2026-08-14 | Notebook | Equipamentos | R$ 3500
49. Desafio adicional
Adicione uma regra: despesas acima de R$ 5.000 devem ser classificadas como “Fora da política”. Depois adicione um script Python para calcular os totais.
50. O que é importante aprender
- Uma Skill encapsula um workflow.
SKILL.mdé o ponto de entrada.descriptioné crítica.- Conhecimento pode ser separado em
references/,examples/escripts/. - Skills devem ser testadas.
51. O modelo mental definitivo
SKILL
│
┌─────────────┼─────────────┐
│ │ │
Instruções Conhecimento Código
│ │ │
SKILL.md references/ scripts/
│ │ │
└─────────────┼─────────────┘
│
▼
Claude
│
▼
Workflow
│
▼
Resultado
Qual comportamento especializado eu gostaria que Claude repetisse de forma consistente?
52. Checklist para criação de uma Skill
- Existe uma pasta para a Skill.
- Existe
SKILL.md. SKILL.mdpossuinameedescription.- A descrição explica quando usar a Skill.
- Todos os arquivos referenciados existem.
- A Skill resolve uma tarefa específica.
- O workflow está claramente definido.
- As regras estão explícitas.
- O formato de saída está definido.
- Casos de ausência de informação estão tratados.
- Referências, exemplos e scripts estão organizados.
- Foram realizados testes positivos, negativos, de segurança e regressão.
- O ZIP contém a pasta da Skill como raiz.
53. Conclusão
Skills representam uma mudança importante na maneira como pensamos sobre IA generativa. Em vez de ensinar novamente ao modelo como realizar uma tarefa em cada conversa, podemos empacotar esse conhecimento em um componente reutilizável.
Uma organização pode criar uma biblioteca interna de Skills para recrutamento, entrevistas, despesas, relatórios financeiros, atas de reunião, propostas comerciais, atendimento e análise de vendas.
Conforme essas Skills passam a incorporar documentos, políticas, exemplos, scripts e integrações, elas deixam de ser apenas “prompts melhores” e começam a funcionar como uma verdadeira camada de conhecimento operacional da organização.
Uma boa Skill não ensina Claude a ser mais inteligente. Ela ensina Claude a executar uma tarefa específica da maneira que você definiu.

