recruitment-processor

自动处理多份招聘markdown文档,识别文档中的图片内容(包括在线图片链接),提取关键信息(职位、薪资、截止时间等),根据用户条件筛选,生成结构化总结报告

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "recruitment-processor" with this command: npx skills add morning-start/coze-skills/morning-start-coze-skills-recruitment-processor

招聘信息处理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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

project-wiki

No summary provided by upstream source.

Repository SourceNeeds Review
General

six-layer-architect

No summary provided by upstream source.

Repository SourceNeeds Review
General

coze-skill-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

api-doc-generator

No summary provided by upstream source.

Repository SourceNeeds Review