agentleFS
trycomp-iotrycomp-io/comp-skills/skills/candidate-screening/SKILL.md

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

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
  1. Very specific:

    If you have the Bash tool AND can run Python → use script mode (writes the rich HTML/markdown file).

    line 12

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.