Prompt Templates for Resume Evaluation in the Hiring-Agent Repository
The hiring-agent repository provides two Jinja2 prompt templates for resume evaluation—resume_evaluation_criteria for detailed scoring rubrics and resume_evaluation_system_message for system-level instructions—both managed by the TemplateManager class.
The interviewstreet/hiring-agent codebase uses a TemplateManager to orchestrate LLM interactions for automated candidate screening. These prompt templates define how the model evaluates resumes, establishing both behavioral constraints and concrete scoring criteria.
Available Resume Evaluation Prompt Templates
The prompts/templates directory contains the Jinja2 files that power resume analysis. For evaluation tasks, the system relies on two complementary templates that work together to guide the LLM.
Resume Evaluation Criteria Template
The resume_evaluation_criteria.jinja file contains the detailed scoring rubric that the LLM applies when rating a candidate’s resume. Located at prompts/templates/resume_evaluation_criteria.jinja, this template defines specific evaluation dimensions including open-source contributions, self-projects, production experience, technical skills, bonus points, and deduction criteria.
When rendered, this template injects the candidate’s resume content into a structured prompt that instructs the model to score each dimension according to predefined rules.
Resume Evaluation System Message Template
The resume_evaluation_system_message.jinja file provides the system-level instruction that sets the LLM’s behavior, constraints, and output format for the evaluation task. Stored at prompts/templates/resume_evaluation_system_message.jinja, this template establishes the persona and boundaries the model must follow throughout the resume assessment process.
How the TemplateManager Loads Prompts
The TemplateManager class handles template registration and rendering. During initialization, it scans the predefined template files in prompts/templates and registers them for use. The loading logic resides in prompts/template_manager.py (lines 35‑48), where the manager maps template names to their corresponding Jinja2 files.
from prompts.template_manager import TemplateManager
tm = TemplateManager()
print(tm.get_available_sections())
This initialization makes both resume evaluation templates available for rendering throughout the application lifecycle.
Rendering Resume Evaluation Prompts
You can programmatically generate the complete prompt suite by rendering these templates with the TemplateManager. The render_template() method accepts the template name and optional variables such as the resume text content.
To render the criteria prompt with a candidate’s resume:
from prompts.template_manager import TemplateManager
tm = TemplateManager()
resume_text = "... (plain‑text resume) ..."
prompt = tm.render_template(
"resume_evaluation_criteria",
text_content=resume_text
)
print(prompt)
To retrieve the system message for resume evaluation:
from prompts.template_manager import TemplateManager
tm = TemplateManager()
system_msg = tm.render_template("resume_evaluation_system_message")
print(system_msg)
Summary
- The hiring-agent repository uses Jinja2 prompt templates located in
prompts/templates/to standardize LLM interactions for resume screening. - Two specific templates handle resume evaluation:
resume_evaluation_criteria.jinja(scoring rubric) andresume_evaluation_system_message.jinja(system instructions). - The
TemplateManagerclass inprompts/template_manager.pymanages template loading and rendering, registering available sections during initialization. - Use
render_template()with the section name and context variables to generate production-ready prompts for candidate evaluation.
Frequently Asked Questions
Where are the resume evaluation prompt templates stored in the hiring-agent repository?
The templates are stored in the prompts/templates/ directory. Specifically, the resume evaluation criteria template is at prompts/templates/resume_evaluation_criteria.jinja and the system message template is at prompts/templates/resume_evaluation_system_message.jinja.
What is the difference between the criteria and system message templates?
The system message template establishes the LLM’s role, constraints, and output format for the evaluation task, while the criteria template provides the specific scoring instructions and rubric details (technical skills, deductions, bonuses) that the model uses to rate the resume content.
How do I render a resume evaluation prompt with candidate data?
Instantiate the TemplateManager class and call render_template("resume_evaluation_criteria", text_content=resume_text), passing the candidate’s resume text as the text_content parameter. This injects the resume into the Jinja2 template and returns the complete prompt string.
What class manages prompt template loading in the hiring-agent codebase?
The TemplateManager class, defined in prompts/template_manager.py, manages all template operations. It scans the templates directory on initialization (lines 35‑48) and provides the get_available_sections() and render_template() methods for accessing and rendering prompt templates.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →