How to Process a Resume with Hiring Agent: CLI Command Guide

Run python score.py /path/to/resume.pdf to process a resume with Hiring Agent and trigger the complete evaluation pipeline.

Hiring Agent is an open-source Python pipeline that transforms PDF resumes into structured, fairness-aware evaluations. The tool orchestrates extraction, LLM parsing, GitHub enrichment, and scoring through a single command-line entry point. Understanding the basic CLI command to process a resume with Hiring Agent enables local candidate evaluation using either Ollama or Gemini backends.

The Basic CLI Command to Process a Resume

The entry point for the end-to-end workflow is score.py. Invoke the script with a single argument pointing to your PDF file:

python score.py /path/to/resume.pdf

Replace /path/to/resume.pdf with the actual file location on your system. This command initiates the full pipeline regardless of whether you configured the backend to use local Ollama models or cloud-based Gemini APIs.

The script requires environment variables defined in a .env file, including LLM_PROVIDER and DEFAULT_MODEL. Ensure these are configured before execution.

What Happens When You Run the Command

Executing the CLI command triggers a five-stage pipeline defined across the repository's core modules.

PDF Extraction and Text Conversion

First, pymupdf_rag.py converts the PDF pages into Markdown-like text. This extraction phase handles the initial document parsing, preparing the raw content for structured analysis.

LLM-Powered Resume Parsing

Next, pdf.py processes the extracted text by calling a local or remote LLM using Jinja templates stored in prompts/. The output is normalized by transform.py into a standardized JSONResume object that conforms to the project's schema requirements.

GitHub Profile Enrichment

Then, github.py scans the parsed resume for GitHub profile URLs. When found, the module fetches the user’s public repositories and selects the most relevant projects to enrich the candidate profile with verifiable open-source contributions.

Fairness-Aware Evaluation

The evaluator.py module applies scoring rules across fairness-aware categories including open-source contributions, production experience, and technical skills. This step produces objective metrics designed to reduce bias in the assessment process.

Output Generation and CSV Logging

Finally, score.py prints a human-readable summary to the console. When DEVELOPMENT_MODE=True is set in the environment, the script also appends a CSV row to resume_evaluations.csv and caches intermediate JSON files to the cache/ directory.

Complete Workflow Example

Activate your virtual environment and invoke the pipeline:


# Activate the virtual environment

source .venv/bin/activate

# Process a resume with Hiring Agent

python score.py examples/resume.pdf

Typical console output includes:


✅ PDF extracted → cache/resumecache_resume.json
🔎 GitHub profile found: johndoe
📊 Evaluation:
  open_source: 8.5   (strong contributions)
  production: 7.0   (several shipped features)
  technical_skills: 9.0
...
CSV row appended to resume_evaluations.csv

The output confirms successful extraction, enrichment, and scoring while logging structured data for further analysis.

Environment Configuration Prerequisites

Before running the CLI command, create a .env file in the project root with the following variables:

LLM_PROVIDER=ollama  # or 'gemini'

DEFAULT_MODEL=llama3.1:latest
DEVELOPMENT_MODE=True

These settings determine which backend powers the LLM calls in pdf.py and whether the system persists results to CSV.

Summary

  • Run python score.py <pdf_path> to execute the complete Hiring Agent pipeline from the command line.
  • Pipeline stages: PDF extraction (pymupdf_rag.py), LLM parsing (pdf.py), GitHub enrichment (github.py), and fairness-aware scoring (evaluator.py).
  • Output: Console summary plus CSV logging when DEVELOPMENT_MODE=True.
  • Configuration: Requires .env variables including LLM_PROVIDER and DEFAULT_MODEL.

Frequently Asked Questions

What is the exact command to process a resume with Hiring Agent?

The exact command is python score.py /path/to/resume.pdf. This invokes the orchestration script located in the repository root, which automatically triggers extraction, parsing, enrichment, and evaluation stages without requiring additional flags.

Which file handles the CLI argument parsing in Hiring Agent?

The score.py file handles CLI argument parsing and orchestrates the entire workflow. It accepts the PDF path as a positional argument and coordinates calls to pymupdf_rag.py, pdf.py, github.py, and evaluator.py in sequence.

Can I use Hiring Agent with local LLMs instead of cloud APIs?

Yes. Set LLM_PROVIDER=ollama in your .env file to route LLM calls to a local Ollama instance. The pdf.py module and prompts/template_manager.py support both local and remote backends, allowing offline processing when using local models.

Where does Hiring Agent store the evaluation results?

When DEVELOPMENT_MODE=True, Hiring Agent appends evaluation results to resume_evaluations.csv in the project root. Intermediate JSON cache files are written to the cache/ directory, while final console output displays the structured scores immediately after processing.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →