原始内容
Claude Skills Project - Resume Screening
This project demonstrates a complete resume screening workflow using Claude Agent SDK and custom skills. It showcases the extract → assess → validate → generate workflow pattern for automated candidate evaluation.

Overview
The project includes:
- resume-screener skill: A systematic workflow for screening and evaluating candidate resumes against job requirements
- resume_screening_agent.py: Python script demonstrating how to use the skill programmatically via the Claude Agent SDK
- Sample data: Complete job description, evaluation criteria, and five diverse candidate resumes
- Customer resume-screener skill in .claude/skills/resume-scanner/skill.md.

Prerequisites
System Requirements
- Python 3.10+ (supports 3.10, 3.11, 3.12, 3.13)
- Node.js (version 18 or higher recommended)
- Claude Code CLI 2.0.0+
Installation
Install Claude Code CLI:
npm install -g @anthropic-ai/claude-codeInstall Python dependencies:
pip install -r requirements.txtSet up environment variables: Copy the example file and add your API key:
cp .env.example .envEdit
.envand set:CLAUDE_API_KEY=your_api_key_here
Resume-Screener Skill
A systematic workflow for screening candidate resumes against job requirements with validation to ensure consistent, objective, and high-quality candidate assessments.
When to Use This Skill
Use this skill when you need to:
- Screen job applicants and evaluate resumes
- Provide structured candidate assessments
- Generate hiring recommendations with detailed justifications
- Ensure consistent evaluation across multiple candidates
Trigger phrases:
- "Screen these resumes"
- "Evaluate these candidates"
- "Review these job applications"
- "Assess candidate qualifications"
Required Inputs
Mandatory:
- Job Description (
inputs/job_description.pdf) - Complete job posting including requirements, qualifications, responsibilities, and company information - Candidate Resumes (
resumes/*.pdf) - Resume files submitted by candidates (PDF or DOCX format)
Optional (but recommended):
3. Evaluation Criteria (inputs/evaluation_criteria.pdf) - Detailed scoring rubric and assessment guidelines
4. Screening Template (inputs/screening_template.pdf) - Standardized format for presenting evaluation results
Note: If job description or resumes are missing, the skill will request them before proceeding.
Resume Screening Workflow
The skill processes each resume through a 6-step workflow:
Step 1: Read and Understand Context
- Review the job description to understand role requirements
- Review evaluation criteria (if provided) to understand scoring methodology
- Review screening template (if provided) to understand output format
- Read the current candidate's resume thoroughly
Step 2: Extract and Assess Candidate Information
- Extract: contact info, education, experience, skills, projects, publications
- Compare each area against job requirements using evaluation criteria
- Note specific evidence from the resume
- Identify strengths and gaps
Step 3: Generate Initial Evaluation
- Assign points according to evaluation criteria for each category
- Provide justification based on specific resume content
- Identify 3-5 key strengths and 2-3 concerns
- Provide overall assessment and fit analysis
- Make clear recommendation with suggested next steps
Step 4: Validate the Evaluation
- Check completeness, accuracy, consistency, objectivity, clarity, alignment
- Verify each score has supporting evidence from the resume
- Confirm no information was fabricated or assumed
- Ensure scoring is proportional and consistent
Step 5: Address Validation Failures
- If validation fails, review feedback and make targeted corrections
- Re-validate after corrections
- Maximum 3 validation rounds
Step 6: Save Evaluation & Validation Results
- Format evaluation following screening template (if provided)
- Document validation summary
- Save to
candidate_evaluations.docx - All candidates in the SAME file with clear separators
Usage
Option 1: Via Claude Code
Screen the candidates in the 'resumes/' folder using the 'resume-screener' skill
Option 2: Programmatically (Python)
Run the included Python script:
python resume_screening_agent.py
The script will:
- Load your API key from
.env - Initialize the Claude Agent with the resume-screener skill
- Process all resumes in the
resumes/folder - Generate evaluations and save them to
candidate_evaluations.docx
Option 3: Via claude.ai or Claude Desktop
- Zip the entire project folder
- Go to Settings → Capabilities → Skills
- Click "Upload skill" and upload the ZIP file
- In a chat, say: "Screen the candidate resumes using the resume-screener skill"
How the Agent Works
The Resume Screening Agent is a Python script that leverages the Claude Agent SDK to programmatically invoke the resume-screener skill for evaluating candidate resumes. When executed, the script first loads environment variables from a .env file and sets up authentication by retrieving the Claude API key, which it then maps to the ANTHROPIC_API_KEY environment variable that the SDK expects.
The main function configures the Claude Agent with specific options, including the use of the Claude Sonnet 4.5 model to ensure high-quality evaluation capabilities. The agent is set to load skills and settings from both user and project directories, allowing it to access the resume-screener skill that has been defined in the project structure. The configuration also enables several essential tools including Skill, Read, Write, and Bash, which are necessary for the complete screening workflow to function properly.
Once configured, the agent receives a query prompt that instructs it to screen resumes using the resume-screener skill. The agent then processes this request asynchronously, streaming responses back as it works through each candidate resume. During execution, the agent reads all resumes from the designated folder, evaluates each resume against the job requirements and evaluation criteria, runs validation checks on each evaluation to ensure quality, and generates comprehensive feedback that is ultimately saved to the candidate_evaluations.docx file. Throughout this entire process, each message from the agent is printed to the console in real-time, providing immediate visibility into the screening progress and allowing users to monitor the evaluation workflow as it unfolds.
Project Structure
/skills/
├── .claude/
│ └── skills/
│ └── resume-screener/
│ └── skill.md # Resume screener skill definition
├── inputs/ # Resume screening inputs
│ ├── job_description.pdf # Job posting (required)
│ ├── evaluation_criteria.pdf # Scoring rubric (optional)
│ └── screening_template.pdf # Output template (optional)
├── resumes/ # Candidate resumes
├── candidate_evaluations.docx # Resume screening output (generated)
├── resume_screening_agent.py # Python agent script
├── requirements.txt # Python dependencies
├── .env.example # Example .env file
├── README.md # This file
Dependencies
Python Packages
- claude-agent-sdk (>=0.1.6) - Official Anthropic SDK for Claude Agent
- python-dotenv (>=1.0.0) - Environment variable management
Install with:
pip install -r requirements.txt
Getting Started
Clone or download this project
Install all prerequisites (Python 3.10+, Node.js, Claude Code CLI)
Install Python dependencies:
pip install -r requirements.txtCreate your
.envfile with your Claude API key:cp .env.example .env # Edit .env and add your API keyReview the sample files in
inputs/andresumes/directoriesRun the screening agent:
python resume_screening_agent.pyCheck the output in
candidate_evaluations.docx
Expected Output
The skill generates candidate_evaluations.docx containing for each candidate:
- Candidate Information (name, contact, location)
- Executive Summary (2-3 sentences + key strengths/concerns)
- Detailed Scoring Table (all 5 categories with justifications)
- Comprehensive Analysis
- Technical skills analysis
- Experience & project analysis
- Educational background assessment
- Communication & soft skills evaluation
- Key Strengths (3-5 specific points)
- Areas of Concern (2-3 specific points)
- Red Flags / Special Considerations
- Final Recommendation (Strong Interview / Interview / Maybe / Reject)
- Validation Summary (results from each validation round)
Customization
Adapt for Different Roles
- Replace
inputs/job_description.pdfwith your job posting - Update
inputs/evaluation_criteria.pdfwith your scoring rubric - Adjust
inputs/screening_template.pdfwith your output format - Add your candidate resumes to
resumes/folder
Extend Functionality
You can modify resume_screening_agent.py to:
- Change the AI model (currently
claude-sonnet-4-5) - Adjust allowed tools
- Customize the prompt
- Process resumes from different directories
- Export results in different formats