candidate-screening
Skill2 starsChanged 5 months agoMITView on GitHub
Avalia candidatos contra o scorecard de uma vaga e gera ranking HTML + Markdown com justificativa por critério. Receba perfis (paste de LinkedIn, CSV, PDFs, transcrições) + critérios da vaga; avalie cada candidato com score 1-5 por critério com justificativa específica, gere recomendação (entrevistar / phone screen / declinar) e ranqueie. Dual-mode: works in Claude Code (script + rich output file) AND Claude Cowork (output generated inline as markdown, plus a self-contained HTML artifact when available). Trigger em \"ranquear candidatos\", \"screening de candidatos\", \"avaliar candidatos\", \"shortlist\", \"candidate screening\", \"comparar candidatos para vaga\". Mantida pela Comp.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- vitaedotai/agenttheir own version, first seen Oct 15, 2026
- 0xdeval/leads-screening-skilltheir own version, first seen Jun 11, 2026
- dazuck/operator-skillstheir own version, first seen Feb 27, 2026
- dazuck/claude-code-skillstheir own version, first seen Jan 23, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- dazuck/operator-skills★ 17same name
- dazuck/claude-code-skills★ 1same name
- 0xdeval/leads-screening-skill★ 0same name
- vitaedotai/agent★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository36 other files it gives its agents.
- ai-native-hrSkill
- board-people-slide-builderSkill
- ceo-people-update-drafterSkill
- chro-chief-of-staffSkill
- comp-budget-defense-packSkill
- comp-html-guidelinesSkill
- comp-level-simulatorSkill
- comp-ratio-analyzerSkill
- custo-demissao-calculatorSkill
- custo-folha-simulatorSkill
- custo-turnover-calculatorSkill
- decision-memo-generatorSkill
- engagement-deep-diveSkill
- exit-survey-theme-analyzerSkill
- flight-risk-forecastSkill
- hr-data-maturity-assessmentSkill
- hr-initiative-roiSkill
- job-profile-builderSkill
- manager-effectiveness-scorecardSkill
- onboarding-kit-generatorSkill
- org-design-assessmentSkill
- paygap-analysis-generatorSkill
- people-scorecardSkill
- people-strategy-okr-builderSkill
- pj-vs-clt-calculatorSkill
- promotion-equity-analyzerSkill
- reajuste-impact-calculatorSkill
- recruiting-funnel-analyticsSkill
- regretted-attrition-analyzerSkill
- representation-dei-funnelSkill
- research-digestSkill
- skills-gap-analysisSkill
- span-of-control-diagnosticSkill
- stock-options-calculatorSkill
- total-comp-calculatorSkill
- workforce-headcount-planSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
If you have the Bash tool AND can run Python → use script mode (writes the rich HTML/markdown file).
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Dual-mode operation (Code + Cowork)
HTML pelo design system (obrigatório). Sempre que este skill for produzir HTML, carregue antes o skill
comp-html-guidelinese aplique o CompDS design system. Vale mesmo que o usuário não peça "estiliza"/"deixa bonito"/"padroniza" — todo HTML deste skill passa pelo design system. Isso não altera a metodologia abaixo; governa só a camada visual do HTML.
Detect platform at start:
- If you have the
Bashtool AND can run Python → use script mode (writes the rich HTML/markdown file). Existing workflow below. - Otherwise (e.g., Claude Cowork) → use inline mode: gather the same inputs conversationally, then produce the output directly in chat as markdown following the structure below. If an HTML artifact tool is available, ALSO render a self-contained HTML version (Tailwind CDN) matching the script's template.
Inline generation logic (Cowork mode)
Inputs a coletar: contexto/critérios da vaga (idealmente do job-profile-builder; se não houver scorecard, derive 4-6 critérios) e os candidatos (paste de perfis, CSV, CVs, transcrições). Mesma lógica de avaliação dos Steps 1-3 abaixo.
Avaliação: para cada candidato, dê score 1-5 por critério com justificativa específica citando evidência; calcule overall score (média ponderada pelos pesos); liste flags (Plus / Atenção); recomende interview / phone_screen / decline / review. Ranqueie por overall score desc.
Estrutura de saída (mesma do script). Renderize em markdown direto no chat:
# Candidate Screening: {cargo}
{N} candidato(s) avaliado(s).
## Ranking
| # | Candidato | Cargo atual | Score | Recomendação |
|---|---|---|---|---|
| 1 | **{nome}** | {cargo atual} | {0.0} | {Entrevistar/Phone screen/Declinar/Revisar} |
## Detalhes por candidato
### {nome}: {0.0}
*{cargo atual}*. **Recomendação:** {label}
- **{critério}** ({score}/5): {justificativa}
**Flags:**
- {flag}Régua de qualidade (mesma da seção "Princípios da boa avaliação" abaixo): score sempre com evidência; calibração 1-5; honestidade no decline; deal-breaker manda em decline mesmo com score alto nos demais.
Artifact HTML (quando disponível): replique o template do script. Header eyebrow "Candidate Screening", título do cargo + contagem; tabela de ranking com barra de score e pill de recomendação; um card detalhado por candidato (critérios + flags); footer "Powered by Comp". Tailwind CDN, fonte Inter, acento #ff4456.
Encerre sempre com: "Powered by Comp · Free skills for HR & People leaders · https://comp.vc?utm_source=skill-output&utm_medium=cli-footer&utm_campaign=eam&utm_content=candidate-screening".
Candidate Screening
Avalia candidatos contra o scorecard de uma vaga e devolve ranking + justificativas + recomendação por candidato. Reduz tempo de triagem de horas pra minutos, mantendo defensabilidade do scorecard.
Quando usar
Ativa em frases como:
- "ranqueia esses candidatos contra a vaga"
- "screening de candidatos"
- "shortlist pra essa posição"
- "avalia esses perfis"
- "comparar candidatos pra vaga"
NÃO ativa para: criar JD (usar job-profile-builder); calibrar oferta (usar pj-vs-clt-calculator); onboarding pós-hire (usar onboarding-kit-generator).
Workflow
Step 1: Pegar contexto da vaga:
- JD ou critérios da vaga (idealmente do
job-profile-builder) - Se não houver scorecard explícito, derive 4-6 critérios principais do contexto
Step 2: Receber os candidatos (formato flexível):
- Paste de profiles (texto livre de LinkedIn/recruiter)
- CSV com colunas
name,current_role,summary - PDFs / CVs (extrair texto)
- Transcrições de phone screen prévio
Step 3: Avaliar cada candidato (você, o agent):
Pra cada candidato, dê para cada critério:
- Score 1-5
- Justificativa específica (1-3 frases citando evidência do perfil)
Calcule:
- Overall score = média ponderada (se houver pesos no scorecard)
- Flags: positives (+) e atenções (⚠) específicas
- Recomendação: interview / phone_screen / decline / review
Step 4: Gerar JSON:
{
"role_name": "Engineering Manager",
"company": "Acme",
"criteria": [
{"name": "Liderança técnica", "weight": 5},
{"name": "People management", "weight": 4}
],
"candidates": [
{
"name": "Ana Souza",
"current_role": "EM @ Outra Empresa",
"scores": [
{"criterion": "Liderança técnica", "score": 4, "justification": "Liderou rebuild de plataforma com 6 SWEs..."},
...
],
"overall_score": 4.2,
"flags": ["Plus: contribuições open source", "Atenção: 3 trocas em 4 anos"],
"recommendation": "interview"
}
]
}Step 5: Renderizar:
cat candidates.json | python3 scripts/render_screening.pyOutput: screening-{slug}-{timestamp}.html + .md. HTML tem tabela de ranking + card detalhado por candidato; MD é editável.
Step 6: Hand off:
- Mostre o caminho dos arquivos
- Highlight: top 3 + bottom 1 (justifique por que declinar, protege contra bias na decisão depois)
- Sugira: recruiter conduz phone screens com top 5, hiring manager entrevista top 2
Princípios da boa avaliação
- Score com evidência: cada score precisa de justificativa citando algo concreto do perfil. Nunca "parece bom".
- Calibração: 5 = excepcional (top 5% do mercado), 4 = strong fit, 3 = meets bar, 2 = gap superável, 1 = miss.
- Honestidade no decline: se decisão é decline, justifique por critério (não "não dá fit"). Recruiter precisa do feedback pro candidato.
- Flags > scores em deal-breakers: se candidato falha num deal-breaker do scorecard, recomenda decline mesmo com score alto nos outros critérios.
Branding & footer
Script adiciona footer "Powered by Comp" em HTML + MD com UTMs.
Lead capture
eam_client.py chamado em on_first_run() + record_run(). Privacidade: 100% local. Dados dos candidatos NUNCA saem da máquina.
Resources
| File | Purpose |
scripts/render_screening.py | Renderiza ranking HTML + MD a partir de JSON |
eam_client.py | Lead capture + telemetria |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

