skills/morning-start/coze-skills/recruitment-processor

recruitment-processor

SKILL.md

招聘信息处理Skill

任务目标

  • 本Skill用于:批量处理包含招聘信息的markdown文档,自动识别图片内容(包括本地图片和在线图片链接),提取关键信息,根据条件筛选并生成结构化报告
  • 能力包含:文件路径识别与扫描、自适应分批处理、图片链接识别、图片下载、图片识别与OCR、文本理解、信息提取、条件匹配、进度跟踪、完整性验证、报告生成
  • 触发条件:用户提供招聘markdown文档(单个文件或文件夹)及筛选条件

前置准备

  • 依赖说明:图片下载功能依赖requests库,版本>=2.28.0

操作步骤

标准流程

阶段一:文件扫描与规划

  1. 输入路径识别

    • 判断用户提供的路径是:
      • 单个文件:直接添加到处理列表
      • 文件夹:扫描文件夹内所有markdown文件
    • 记录文件类型和路径
  2. 文件扫描(针对文件夹)

    • 如果是文件夹,扫描该目录下的所有markdown文件
    • 支持的文件扩展名:.md, .markdown
    • 递归扫描子目录(可选,根据用户需求决定)
    • 记录所有文件的完整路径
    • 必须扫描所有文件,不得遗漏
  3. 数量评估与分批决策

    • 统计需要处理的文档总数
    • 自适应分批规则
      • 文档数量 ≤ 10:一次性处理所有文档
      • 文档数量 > 10:分批处理,每批处理10个文档
    • 计算需要分多少批
    • 记录批次规划:总批次、每批文件列表
  4. 进度跟踪初始化

    • 记录以下信息:
      • 总文件数
      • 已处理数(初始为0)
      • 待处理数(初始为总文件数)
      • 当前批次(初始为0)
      • 成功处理数(初始为0)
      • 失败处理数(初始为0)

阶段二:分批处理文档

  1. 批次循环处理 对于每个批次(按顺序执行):

    5.1 批次初始化

    • 当前批次编号 += 1
    • 确定本批次处理的文件列表(按编号顺序取10个或剩余文件)
    • 报告本批次进度:"正在处理第X批,共Y批,文件数Z个"

    5.2 逐个文档处理 对于本批次中的每个招聘文档,必须完整处理,不得跳过

    5.2.1 图片链接识别与提取

    • 扫描文档中所有图片引用,识别两种格式:
      • 本地图片:![alt](local_path.png)
      • 在线图片:![alt](https://example.com/image.jpg)
    • 提取所有图片的URL或路径
    • 记录图片在文档中的位置和上下文

    5.2.2 在线图片下载 对于每个在线图片链接:

    • 调用 python /workspace/projects/recruitment-processor/scripts/download_image.py --image-url <URL> --output-dir ./downloaded_images
    • 捕获下载结果,获取本地保存路径
    • 如下载失败,记录错误但继续处理其他图片
    • 记录图片来源(在线下载/本地文件)

    5.2.3 图片识别与内容提取

    • 对于所有可访问的图片(下载成功的在线图片和本地图片)
    • 使用图像识别能力提取每张图片中的文字信息
    • 必须逐一识别所有图片,不得遗漏任何一张
    • 记录图片内容与上下文的对应关系
    • 标注每张图片的信息来源

    5.2.4 文本理解与整合

    • 阅读文档文本内容
    • 将图片识别的文字信息与文本内容进行整合理解
    • 确保文本和图片信息都被充分利用
    • 形成对该招聘文档的完整认知

    5.2.5 关键信息提取 提取以下信息(如文档中未明确提及某项信息,标注"未提及"):

    • 职位名称
    • 公司名称
    • 薪资待遇(明确范围或具体数值)
    • 截止时间
    • 发布时间
    • 企业性质(国企/民企/外企/事业单位等)
    • 工作地点
    • 学历要求
    • 工作经验要求
    • 岗位职责
    • 任职要求
    • 图片数量及来源统计

    5.2.6 错误处理

    • 如果某个文件处理失败:

      • 记录失败原因
      • 失败处理数 += 1
      • 不影响其他文件的处理,继续处理批次中的剩余文件
    • 如果文件处理成功:

      • 成功处理数 += 1
      • 将提取的信息暂存

    5.3 批次进度更新

    • 已处理数 += 本批次文件数
    • 待处理数 = 总文件数 - 已处理数
    • 报告批次进度:"第X批完成,已处理A个文件,待处理B个文件"

阶段三:条件筛选与汇总

  1. 条件筛选

    • 读取用户提供的筛选条件(参考筛选条件模板格式)
    • 对所有成功提取的招聘信息进行条件匹配
    • 严格判断是否符合所有筛选条件
    • 保留所有符合条件的信息,剔除不符合的
    • 每个文档都必须经过筛选判断,不得跳过
  2. 完整性验证

    • 验证处理结果:
      • 已处理数 + 待处理数 = 总文件数
      • 每个文件都有处理结果(成功或失败)
    • 如果发现遗漏:
      • 立即补充处理遗漏的文件
      • 更新进度跟踪信息
    • 必须确保所有文件都经过审查,不得有任何遗漏
  3. 生成总结文档 对筛选后的所有招聘信息生成结构化总结报告,包含:

    8.1 报告概览

    • 处理的文档总数
    • 批次处理情况:总批次数、每批文件数
    • 成功处理的文档数量
    • 失败的文档数量及失败原因列表
    • 提取的图片总数(在线图片/本地图片)
    • 筛选符合条件的数量
    • 处理时间

    8.2 招聘信息列表 对每个符合条件的招聘信息,按以下格式呈现:

    ## [职位名称] - [公司名称]
    
    **基本信息**
    - 薪资待遇:[具体数值或范围]
    - 企业性质:[国企/民企/外企等]
    - 工作地点:[城市/地区]
    
    **时间信息**
    - 截止时间:[具体日期]
    - 发布时间:[具体日期]
    
    **要求信息**
    - 学历要求:[学历层次]
    - 工作经验:[年限要求]
    
    **岗位详情**
    - 岗位职责:[摘要]
    - 任职要求:[摘要]
    
    **图片信息**
    - 图片总数:[数量]张(在线图片X张,本地图片Y张)
    - 图片来源标注:[哪些关键信息来源于图片]
    
    ---
    

    8.3 失败文件列表

    • 列出所有处理失败的文件
    • 说明每个文件的失败原因
    • 提供可能的解决方案

    8.4 处理进度报告

    • 批次处理时间线
    • 每批处理的文件列表
    • 进度跟踪信息

    8.5 注意事项

    • 标注信息来源于图片或文本
    • 标注缺失的关键信息
    • 说明图片下载和识别的情况
  4. 输出结果

    • 将总结文档输出为markdown格式
    • 文件名格式:招聘信息总结_YYYYMMDD_HHMMSS.md

资源索引

注意事项

完整性要求(最高优先级)

  • 必须完整读取所有提供的文档,严禁跳过任何文档
  • 必须逐一识别文档中的所有图片,不得遗漏任何一张
  • 必须处理所有图片链接,包括本地图片和在线图片
  • 必须确保所有文件都经过审查,不得有任何遗漏
  • 处理完成后必须进行完整性验证

自适应分批处理

  • 根据文档数量自动选择处理策略:
    • 少量文档(≤10):一次性处理
    • 大量文档(>10):分批处理,每批10个
  • 分批处理时严格按顺序执行,不跳过任何批次
  • 每批处理完成后报告进度
  • 如果某批处理失败,不影响后续批次的处理
  • 所有批次完成后统一进行筛选和汇总

进度跟踪

  • 实时跟踪处理进度
  • 记录每个文件的处理状态
  • 每批次完成后更新进度信息
  • 便于监控整体处理情况和排查问题

错误处理

  • 单个文件处理失败不影响其他文件
  • 记录所有失败的文件和失败原因
  • 在总结文档中单独列出失败文件
  • 提供错误原因和可能的解决方案

图片链接处理

  • 识别markdown中的图片语法: alt
    • 区分本地图片路径和在线URL
    • 在线图片必须先下载到本地再进行识别
    • 下载失败的图片要记录错误但不影响整体处理

图片识别准确性

  • 仔细核对图片提取的文字与上下文的一致性,必要时多次识别确保准确性

条件筛选严格性

  • 用户提出的每个条件都必须严格满足,部分不符合即视为不符合

信息缺失处理

  • 对于文档中未明确提及的信息,必须标注"未提及",不要主观推断

时间格式统一

  • 所有时间信息统一为YYYY-MM-DD格式

薪资格式规范

  • 薪资信息应包含数值范围和单位(如:15-25K/月,年薪30-40万)

使用示例

示例1:处理单个文件

  • 功能说明:用户提供单个markdown文件
  • 执行方式:一次性处理
  • 关键要点
    • 直接读取文件内容
    • 完整处理所有图片
    • 提取关键信息
    • 进行条件筛选
  • 筛选条件
    薪资范围:15-25K/月
    企业性质:国企
    

示例2:处理少量文件(≤10个)

  • 功能说明:用户提供包含5个markdown文件的文件夹
  • 执行方式:一次性处理
  • 关键要点
    • 扫描文件夹内所有markdown文件
    • 文档数量≤10,一次性处理
    • 逐个处理每个文件
    • 统一进行筛选和汇总
  • 筛选条件
    工作地点:北京
    学历要求:本科及以上
    

示例3:处理大量文件(>10个)- 分批处理

  • 功能说明:用户提供包含25个markdown文件的文件夹
  • 执行方式:分批处理(3批:10+10+5)
  • 关键要点
    • 扫描文件夹,识别25个文件
    • 文档数量>10,自动分批
    • 第1批:处理文件1-10
    • 第2批:处理文件11-20
    • 第3批:处理文件21-25
    • 每批处理完成后报告进度
    • 所有批次完成后统一筛选
    • 确保所有文件都经过审查
  • 筛选条件
    薪资范围:15-25K/月
    企业性质:国企
    

示例4:处理包含在线图片的文档

  • 功能说明:文档中包含在线图片链接,需要先下载再识别
  • 执行方式:智能体调用脚本下载图片 + 智能体识别
  • 关键要点
    • 识别markdown中的图片URL
    • 调用download_image.py下载图片
    • 识别下载后的图片内容
    • 记录图片来源为"在线下载"
  • 筛选条件
    薪资范围:15-25K/月
    企业性质:国企
    

示例5:多条件组合筛选

  • 功能说明:筛选北京地区的、本科学历、1-3年经验的技术岗位
  • 执行方式:智能体处理
  • 关键要点
    • 地点信息可能在正文或图片中
    • 工作经验要求可能模糊表述(如"应届生可"、"有相关经验者优先"),需要准确判断
    • 学历要求可能有多个层次,选取最低要求作为筛选依据
    • 逐一识别所有图片,确保不遗漏关键信息
    • 严格按分批逻辑处理所有文件
  • 筛选条件
    工作地点:北京
    学历要求:本科及以上
    工作经验:1-3年
    职位类型:技术岗位
    

示例6:处理混合图片来源的文档

  • 功能说明:文档中同时包含本地图片和在线图片链接
  • 执行方式:智能体调用脚本下载在线图片 + 智能体识别所有图片
  • 关键要点
    • 区分本地图片和在线图片
    • 下载所有在线图片
    • 逐一识别所有图片(本地+下载)
    • 在总结中标注图片来源
    • 确保所有图片都被识别
  • 筛选条件
    无特殊条件,仅提取信息
    

分批处理流程示例

场景:处理30个文件的文件夹

阶段一:文件扫描与规划

  • 扫描文件夹,发现30个markdown文件
  • 文档数量 > 10,决定分批处理
  • 计算批次:30个文件,每批10个,共3批
  • 初始化进度:总文件数=30,已处理=0,待处理=30

阶段二:分批处理

第1批处理

  • 当前批次=1,处理文件1-10
  • 扫描文件1-10,识别图片,提取信息
  • 处理结果:成功10个,失败0个
  • 更新进度:已处理=10,待处理=20
  • 报告:"第1批完成,已处理10个文件,待处理20个文件"

第2批处理

  • 当前批次=2,处理文件11-20
  • 扫描文件11-20,识别图片,提取信息
  • 处理结果:成功9个,失败1个(文件15损坏)
  • 更新进度:已处理=20,待处理=10
  • 报告:"第2批完成,已处理20个文件,待处理10个文件"

第3批处理

  • 当前批次=3,处理文件21-30
  • 扫描文件21-30,识别图片,提取信息
  • 处理结果:成功10个,失败0个
  • 更新进度:已处理=30,待处理=0
  • 报告:"第3批完成,已处理30个文件,待处理0个文件"

阶段三:条件筛选与汇总

  • 对29个成功处理的招聘信息进行条件筛选
  • 完整性验证:已处理30个=总文件数30个,验证通过
  • 生成总结文档,包含:
    • 处理概览:总30个,成功29个,失败1个
    • 符合条件的招聘信息列表
    • 失败文件列表(文件15:文件损坏)
    • 批次处理进度报告

图片下载脚本使用说明

调用方式

python /workspace/projects/recruitment-processor/scripts/download_image.py --image-url <图片URL> --output-dir <输出目录>

参数说明

  • --image-url:必填,图片的URL地址
  • --output-dir:可选,图片保存目录,默认为./downloaded_images

返回结果

  • 成功:输出SUCCESS:<本地路径>
  • 失败:输出ERROR:<错误信息>到标准错误流

使用场景

当文档中包含在线图片链接(如https://example.com/image.jpg)时,先调用此脚本下载图片,然后对下载后的本地文件进行图像识别。

示例

# 下载图片到默认目录
python /workspace/projects/recruitment-processor/scripts/download_image.py --image-url https://example.com/salary.jpg

# 下载图片到指定目录
python /workspace/projects/recruitment-processor/scripts/download_image.py --image-url https://example.com/salary.jpg --output-dir ./temp_images
Weekly Installs
24
GitHub Stars
1
First Seen
Feb 18, 2026
Installed on
gemini-cli24
github-copilot24
codex24
kimi-cli24
amp24
opencode24