agentsclimarketplace

Candidate screening

Skill trycomp-io/comp-skills/skills/candidate-screening

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.From its SKILL.md

Install
npx -y skills add trycomp-io/comp-skills --skill candidate-screening

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 1 command, including `cat candidates.json | python3 scripts/render_screening.py`.

SKILL.md

6.8 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

Dual-mode operation (Code + Cowork)

HTML pelo design system (obrigatório). Sempre que este skill for produzir HTML, carregue antes o skill comp-html-guidelines e 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 Bash tool 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.py

Output: 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

FilePurpose
scripts/render_screening.pyRenderiza ranking HTML + MD a partir de JSON
eam_client.pyLead capture + telemetria

What ships with it: 3 files

18.1 KB alongside SKILL.md, 2 of them executable

scripts/

Gives 0 of the 12 instructions most hr recruiting skills give in ~1.7k tokens

Counted across 356 of the 357 authors here whose files we hold, read 2026-08-07

  • Quantify achievements with specific metricsin 14 of 356, across 6 files
  • Keep the resume under two pagesin 14 of 356, across 6 files
  • Request the full job description if not providedin 12 of 356, across 4 files
  • Extract keywords and prioritize job requirementsin 12 of 356, across 4 files
  • Stop and ask for clarification if required inputs are missingin 12 of 356, across 5 files
  • Map candidate experience to job requirementsin 11 of 356, across 3 files
  • Ask if the user wants adjustmentsin 11 of 356, across 3 files
  • Provide strengths and gap analysis after the resumein 10 of 356, across 2 files
  • Request candidate background details if not providedin 10 of 356, across 2 files
  • Format experience bullets as action verb plus resultin 10 of 356, across 2 files
  • Ask for missing inputs before startingin 10 of 356, across 9 files
  • Use exact job description terminologyin 9 of 356, across 1 file

Said here and by no other author read

  • score each criterion from one to five with specific evidence
  • derive four to six criteria if no scorecard exists
  • calculate weighted overall score for each candidate
  • assign a recommendation per candidate
  • rank candidates by overall score descending
  • enforce deal-breakers over high scores

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.