cv_analyzer

CV Analyzer

v0.0.4MITValidated9 installs3/2/2026Pipelex/methodsEvotis S.A.S
Main pipescreen_candidate

Install

$npx mthds install https://github.com/Pipelex/methods --method cv_analyzer

Run

$npx mthds run method cv_analyzer

CV Analyzer

An end-to-end candidate screening pipeline that automates the process of evaluating CVs against job offers and generating appropriate follow-up actions.

What it does

Given a candidate CV (as a document) and a job offer (as text), this method:

  1. Extracts the CV content from the uploaded document into readable pages.
  2. Analyzes the match between the candidate's profile and the job requirements using an LLM acting as an HR expert. This produces a structured MatchResult containing a boolean is_match flag and a detailed match_analysis explanation.
  3. Routes conditionally based on the match result:
    • If the candidate matches: generates 5 tailored interview questions that probe relevant experience, skills, and cultural fit, focusing on strengths and gaps identified in the analysis.
    • If the candidate does not match: drafts a professional refusal email that is courteous, respectful, and references specific reasons from the analysis.

Concepts

  • MatchResult: A structured assessment with is_match (boolean) and match_analysis (text explanation).
  • Email: A professional email message.
  • InterviewQuestion: A tailored interview question for a candidate.

Pipeline overview

screen_candidateextract_cvanalyze_matchroute_on_match → (generate_interview_questions | write_refusal_email)

Exports

candidate_screening

screen_candidate

Method Flowchart

Loading diagram…

Bundle Files

Select a file to view its contents

METHODS.toml

METHODS.toml
[package]
name = "cv_analyzer"
display_name = "CV Analyzer"
address = "github.com/pipelex/methods"
version = "0.0.4"
description = "# CV Analyzer\n\nAn end-to-end candidate screening pipeline that automates the process of evaluating CVs against job offers and generating appropriate follow-up actions.\n\n## What it does\n\nGiven a **candidate CV** (as a document) and a **job offer** (as text), this method:\n\n1. **Extracts** the CV content from the uploaded document into readable pages.\n2. **Analyzes the match** between the candidate's profile and the job requirements using an LLM acting as an HR expert. This produces a structured `MatchResult` containing a boolean `is_match` flag and a detailed `match_analysis` explanation.\n3. **Routes conditionally** based on the match result:\n   - **If the candidate matches**: generates **5 tailored interview questions** that probe relevant experience, skills, and cultural fit, focusing on strengths and gaps identified in the analysis.\n   - **If the candidate does not match**: drafts a **professional refusal email** that is courteous, respectful, and references specific reasons from the analysis.\n\n## Concepts\n\n- **MatchResult**: A structured assessment with `is_match` (boolean) and `match_analysis` (text explanation).\n- **Email**: A professional email message.\n- **InterviewQuestion**: A tailored interview question for a candidate.\n\n## Pipeline overview\n\n`screen_candidate` → `extract_cv` → `analyze_match` → `route_on_match` → (`generate_interview_questions` | `write_refusal_email`)"
license = "MIT"
authors = ["Evotis S.A.S"]
main_pipe = "screen_candidate"

[exports.candidate_screening]
pipes = ["screen_candidate"]