SuperAPI AI Directory

resume-analyzer

Office & productivity

View repository

Updated 10-16 03:13

About this skill

Resume Analysis and Evaluation

Extract information from PDF resumes, score candidates across multiple dimensions according to the target position requirements, and generate a structured Excel evaluation report.

Workflow

Resume analysis includes the following steps:

  1. Confirm input information (resume path, target position)
  2. Load position requirements (read the corresponding position document under resources/ )
  3. Read resumes (run scripts/read_pdf.py)
  4. Analyze and score one by one (AI scores each resume across multiple dimensions according to the position requirements)
  5. Generate Excel report (run scripts/write_excel.py)

Step 1: Confirm input information

Confirm the following information with the user:

  • Resume path: path to a single PDF file or path to a folder containing multiple PDFs (required)
  • Target position: the position name used for evaluation (required)
  • Output path: the location where the Excel report is saved (optional, by default generated in the same directory as the resumes 简历分析报告.xlsx)

Step 2: Load position requirements

Position requirement documents are stored in the resources/ directory, named after the position (e.g., 产品经理.md)。

Existing positions: Product Manager, Frontend Development, Java Engineer, Test Engineer, Project Manager

  • The position specified by the user exists in resources/ → directly read the corresponding file
  • The position specified by the user does not exist → inform the user that there is no requirement document for that position and ask whether they need:
    • (a) to choose from existing positions
    • (b) AI to generate general requirements based on the position name and then continue the analysis

After reading the position document, focus on itscore skill requirementsandscoring criteriasections.

Step 3: Read resumes

Use the scripts/read_pdf.py script to extract resume text:

# 单个简历
python scripts/read_pdf.py /路径/简历.pdf

# 批量简历
python scripts/read_pdf.py /路径/简历文件夹/

The script outputs JSON-formatted results to stdout, including the path, filename, and extracted text content of each file.

Dependency: requires installation of pdfplumber(pip install pdfplumber). Check whether it is installed before running; if not installed, install it first.

Step 4: Analyze and score one by one

For each resume, score across the following six dimensions according to the position requirements:

Dimension Score Scoring points
Educational background 15 points Degree level (PhD 15/Master's 12/Bachelor's 9/Associate 5), institution level (985/211 bonus), major relevance
Work experience 20 points Years of work in the relevant field, position fit, career level growth trajectory
Skill match 25 points The degree to which the skills demonstrated in the resume match the position's core skill requirements
Project experience 20 points Project complexity, role undertaken, outcomes produced, relevance to the position
Stability 10 points Average tenure at each company, job-hopping frequency (frequent job-hopping results in point deductions)
Development potential 10 points Learning ability, growth speed, technical/management vision, additional skills and certifications

Total score = sum of scores across all dimensions (maximum 100 points)

Scoring principles

  • In the resumeonly content that is explicitly mentionedis scored; do not make excessive inferences
  • For dimensions with insufficient information, give a below-average score rather than zero
  • Scoring must incorporate the specific skill weights in the job requirements document

Recommendation conclusion

Give a recommendation conclusion based on the total score:

  • Recommended: total score ≥ 75 points
  • Pending: total score 60-74 points
  • Not recommended: total score < 60 points

Comprehensive evaluation

Write a 100-200 word comprehensive evaluation for each candidate, including:

  • Core strengths (1-2 highlights)
  • Main shortcomings (1-2 weaknesses)
  • Overall assessment conclusion

Information extraction

Extract the following basic information from the resume text as much as possible:

姓名、性别、年龄、学历、毕业院校、专业、工作年限、联系电话、邮箱

For fields that cannot be extracted, enter "-".

Step 5: Generate Excel report

Organize all analysis results into JSON format, then call scripts/write_excel.py:

echo '<JSON数据>' | python scripts/write_excel.py /输出路径/简历分析报告.xlsx

or first write the JSON to a temporary file and then call:

python scripts/write_excel.py /输出路径/简历分析报告.xlsx --input /临时文件.json

Dependency: requires installation of openpyxl(pip install openpyxl). Check before running whether it is installed; if not, install it first.

JSON data format

{
    "position": "岗位名称",
    "candidates": [
        {
            "name": "姓名",
            "file_name": "源文件名",
            "basic_info": {
                "gender": "性别",
                "age": "年龄",
                "education": "学历",
                "school": "毕业院校",
                "major": "专业",
                "work_years": "工作年限",
                "phone": "联系电话",
                "email": "邮箱"
            },
            "scores": {
                "education_score": 0,
                "experience_score": 0,
                "skill_match_score": 0,
                "project_score": 0,
                "stability_score": 0,
                "potential_score": 0,
                "total_score": 0
            },
            "evaluation": "综合评价",
            "recommendation": "推荐/待定/不推荐"
        }
    ]
}

Completed

After the report is generated, show the user an analysis summary:

  • The total number of resumes analyzed
  • The distribution of the number of people in each recommendation level
  • The top 3 candidates with the highest scores, along with their scores and core strengths
  • The location where the Excel report is saved