Hiring Agent Scoring Breakdown: The Four Evaluation Categories Explained

Hiring Agent evaluates résumés across four weighted categories—Open Source (35 points), Self Projects (30 points), Production Experience (25 points), and Technical Skills (10 points)—summing capped scores with optional bonuses and deductions to generate a final assessment.

The interviewstreet/hiring-agent repository implements a structured scoring system that quantifies candidate qualifications through four distinct evaluation dimensions. Understanding this scoring breakdown helps developers interpret their evaluation results and identify specific areas for improvement. The scoring logic resides in the Scores model definition and the results formatting utilities within the codebase.

The Four Evaluation Categories

The evaluation system assigns points across four specific domains, each with a defined maximum point value as specified in the source code.

Open Source (35 Points)

The Open Source category measures contributions to open-source projects, including pull requests, maintained repositories, and community involvement. This category carries the highest weight at 35 points, reflecting the value placed on demonstrated public collaboration and code quality visible to the engineering community.

Self Projects (30 Points)

Self Projects assesses personal side-projects, hobby work, or independent codebases that showcase initiative and technical curiosity. With a maximum of 30 points, this category evaluates the breadth and depth of work candidates pursue outside of formal employment contexts.

Production Experience (25 Points)

The Production Experience category evaluates professional, production-grade work experience from employed roles and shipped features. Worth 25 points, this dimension focuses on the reliability and scale of code written in real-world industry environments.

Technical Skills (10 Points)

Technical Skills examines the breadth and depth of relevant technical abilities, including programming languages, frameworks, and tools. At 10 points, this category provides a baseline assessment of the candidate's stated competencies.

How the Scoring Model Works

According to the interviewstreet/hiring-agent source code, the scoring architecture centers on the Scores model defined in [models.py](https://github.com/interviewstreet/hiring-agent/blob/main/models.py#L24-L28). This model groups four CategoryScore objects, each containing three key fields:

  • score: The points awarded for that category
  • max: The maximum possible points (35, 30, 25, or 10)
  • evidence: A string explaining the rationale for the given score

The final calculation occurs in score.py within the print_evaluation_results function ([score.py](https://github.com/interviewstreet/hiring-agent/blob/main/score.py#L81-L85)). The system sums the capped category scores, adds any bonus points, and subtracts deductions to produce the overall evaluation result.

Accessing Category Scores in Code

Developers can programmatically access individual category scores through the EvaluationData object returned by the evaluation pipeline.

from models import EvaluationData

def show_category_scores(evaluation: EvaluationData):
    # Access each category directly

    print("Open Source score:", evaluation.scores.open_source.score)
    print("Self Projects score:", evaluation.scores.self_projects.score)
    print("Production Experience score:", evaluation.scores.production.score)
    print("Technical Skills score:", evaluation.scores.technical_skills.score)

# Example usage after running the evaluator

evaluation = main("example_resume.pdf")  # returns an EvaluationData object

show_category_scores(evaluation)

For reporting or API integration, convert the scores to a dictionary format:


# Converting the scores to a dictionary for further reporting

def scores_to_dict(evaluation: EvaluationData) -> dict:
    return {
        "open_source": evaluation.scores.open_source.model_dump(),
        "self_projects": evaluation.scores.self_projects.model_dump(),
        "production": evaluation.scores.production.model_dump(),
        "technical_skills": evaluation.scores.technical_skills.model_dump(),
    }

Summary

  • Hiring Agent uses four weighted categories: Open Source (35 points), Self Projects (30 points), Production Experience (25 points), and Technical Skills (10 points).
  • The Scores model in models.py encapsulates these categories as CategoryScore objects with score, max, and evidence attributes.
  • Final scoring sums capped category values, applies bonuses, and subtracts deductions through the print_evaluation_results function.
  • Individual scores are accessible via the EvaluationData object returned by the evaluation pipeline.

Frequently Asked Questions

What are the maximum points for each evaluation category?

The maximum points are 35 points for Open Source, 30 points for Self Projects, 25 points for Production Experience, and 10 points for Technical Skills. These values are defined in the Scores model and referenced when calculating the final evaluation.

How is the final score calculated in Hiring Agent?

The final score is calculated by summing the capped category scores (ensuring no category exceeds its maximum), then adding any bonus points and subtracting deductions. This logic is implemented in the print_evaluation_results function in score.py.

Where is the scoring breakdown defined in the source code?

The scoring breakdown is defined in the Scores model located in [models.py](https://github.com/interviewstreet/hiring-agent/blob/main/models.py#L24-L28). The display and calculation logic appears in [score.py](https://github.com/interviewstreet/hiring-agent/blob/main/score.py#L81-L85), which handles the end-to-end evaluation flow and prints detailed results.

What data structure stores individual category scores?

Individual category scores are stored as CategoryScore objects within the Scores model. Each CategoryScore contains a score (integer), max (maximum possible value), and evidence (explanatory string) that documents why the specific score was assigned.

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 →