Install
openclaw skills install hr-recruiting-trackerHR 招聘数据整理技能。用于本地解析 PDF/DOCX/TXT/Markdown 简历为 Markdown/JSON 简历包、生成候选人资料草稿、将确定性候选人草稿录入腾讯文档智能表格,以及初始化或维护岗位信息库。 Use when: resume ingestion, candidate draft extraction, Tencent Docs candidate upload, recruiting job table setup. 当前已实现工作流:resume-ingest、candidate-upload、job-management。
openclaw skills install hr-recruiting-tracker使用此技能标准化招聘数据整理。已实现三个工作流:
resume-ingest:将简历文件转换为 AI 可读的 Markdown、原始 JSON 和候选人草稿,不写入任何外部招聘系统。candidate-upload:将简历包中的确定性候选人草稿写入腾讯文档智能表格,支持招聘阶段跟踪;需 HR 审核的记录必须确认后才能上传。job-management:初始化或维护固定岗位信息智能表格,并可显式导入真实岗位记录。核心简历解析流程只依赖本地文件和 Python。腾讯文档上传和岗位库维护需要 OpenClaw 兼容 MCP 环境、mcporter CLI,以及已授权的 tencent-docs skill;高保真简历解析可选依赖 Docling,PDF 文本层回退可选依赖 pdftotext。引用此技能内部文件时使用 {baseDir}。
以下能力尚未实现,只作为路线图记录,不要承诺已经可用:
null,或明确指出缺失字段。--parser docling 或允许模型下载时才尝试。candidate-upload) 可将数据写入腾讯文档智能表格。写入前需先完成 resume-ingest。assets/schemas/recruiting_tables.json;操作腾讯文档字段时必须以该文件为准。毕业院校 只能填学校名,专业 只能填专业名,最高学历 只能填学历,毕业年份 只能填年份。不要把整段教育经历写入单个字段。--show-sensitive。candidate-upload 遇到 review_required=true 时默认禁止实际上传;HR 审核后必须显式传入 --confirmed-reviewed。resume-ingest。candidate-upload。job-management。resume-ingest,再执行 candidate-upload。腾讯文档智能表格字段统一维护在:
{baseDir}/assets/schemas/recruiting_tables.json
当前表模型:
| 表 | 固定智能表格名 | 用途 |
|---|---|---|
| candidates | HR候选人库 | 候选人核心信息、解析质量、招聘阶段 |
| jobs | HR岗位信息库 | 岗位 JD、要求、面试流程和状态 |
脚本和 Agent 都不得临时创造字段名。若需要新增字段,先修改该模型文件,再同步更新对应 workflow 文档和测试。
运行工作流前先阅读 references/workflow_resume_ingestion.md。
运行:
python3 {baseDir}/scripts/dependency_check.py --workflow resume-ingest
python3 {baseDir}/scripts/resume_extract.py "/path/to/resume.pdf" --out-dir "/path/to/output-bundle"
默认 auto 策略只使用本地安全解析器。需要 Docling 高保真解析时,使用:
python3 {baseDir}/scripts/resume_extract.py "/path/to/resume.pdf" --parser docling --out-dir "/path/to/output-bundle"
生成的简历包:
original.<ext>
resume.md
resume.raw.json
candidate_draft.json
extraction_report.json
manifest.json
将 resume.md 作为模型推理的主要来源。仅将 candidate_draft.json 用作确定性的提示。当用户要求结构化候选人字段时,使用 assets/templates/prompts/resume_extract_prompt.md。
运行工作流前先阅读 references/workflow_candidate_upload.md。
此工作流将 resume-ingest 生成的简历包中的确定性候选人草稿写入腾讯文档智能表格;HR/LLM 审核输出仅用于人工补全,不会被上传脚本自动消费。
已安装 tencent-docs skill。可使用当前运行器支持的 skill registry 安装,例如:
openclaw skills install tencent-docs
openclaw skills info tencent-docs
如果使用 SkillHub 或其他 registry,也可安装同名 skill。
已安装 mcporter CLI
已配置并授权腾讯文档 MCP(参考已安装且已审阅的 tencent-docs 技能的 references/auth.md)
已完成 resume-ingest,拥有简历包目录
将候选人草稿上传到已有智能表格:
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --file-id "your_file_id" --confirmed-reviewed
默认上传到固定候选人库。脚本会先搜索 HR候选人库,存在则追加一条记录;不存在才创建:
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --confirmed-reviewed
强制创建新的智能表格并上传:
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --create-new --sheet-title "2025届校招-候选人库" --confirmed-reviewed
在知识库空间内强制创建:
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --create-new --sheet-title "候选人库" --space-id "your_space_id" --confirmed-reviewed
预览模式(不实际写入、默认不联网、默认脱敏):
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --dry-run
预览时也探测腾讯文档目标表:
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --dry-run --probe-remote
HR 已确认 review_required=true 的草稿记录后再实际上传:
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --file-id "your_file_id" --confirmed-reviewed
上传的候选人草稿包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| 姓名 | 文本 | 候选人姓名 |
| 电话 | 电话 | 联系电话 |
| 邮箱 | 邮件 | 电子邮箱 |
| 当前公司 | 文本 | 当前/最近任职公司 |
| 工作年限 | 数字 | 工作年限 |
| 最高学历 | 文本 | 博士/硕士/本科/大专/高中及以下 |
| 毕业院校 | 文本 | 毕业学校 |
| 专业 | 文本 | 专业名称 |
| 毕业年份 | 数字 | 毕业年份 |
| 技能标签 | 文本 | 技能关键词(顿号分隔) |
| 求职意向 | 文本 | 目标岗位 |
| 招聘阶段 | 文本 | 简历筛选/HR初筛/技术一面/技术二面/HR面/Offer/入职/不合适 |
| 简历来源 | 文本 | 简历文件名 |
| 解析质量 | 文本 | 高保真/回退解析/纯文本 |
| 需HR审核 | 复选框 | 回退解析时自动勾选 |
| 简历包路径 | 文本 | 本地简历包目录路径 |
| 录入时间 | 日期 | 自动填充记录创建时间 |
| 记录ID | 文本 | 唯一标识(姓名+简历 sha256 前缀) |
检查依赖
python3 {baseDir}/scripts/dependency_check.py --workflow candidate-upload
python3 {baseDir}/scripts/dependency_check.py --workflow candidate-upload --probe-remote
授权排障(外部依赖)
仅在腾讯文档授权缺失或需要排障时,运行已安装且已审阅的 tencent-docs 技能授权排障命令。不要假设 tencent-docs 与本 skill 一定是兄弟目录;优先使用环境变量或 OpenClaw 默认目录定位:
export TENCENT_DOCS_SKILL_DIR="${TENCENT_DOCS_SKILL_DIR:-$HOME/.openclaw/workspace/skills/tencent-docs}"
bash "$TENCENT_DOCS_SKILL_DIR/setup.sh" tdoc_check_and_start_auth
上传候选人草稿
python3 {baseDir}/scripts/upload_to_smartsheet.py "/path/to/bundle" --file-id "your_file_id" --confirmed-reviewed
验证结果
打开脚本输出的腾讯文档链接,确认数据是否正确录入。
HR候选人库;只有找不到或显式传入 --create-new 时才新建候选人库HR候选人库,脚本会使用搜索结果中的第一个;生产环境建议通过 --file-id 指定唯一候选人库tencent-docs 1.0.33 通过 MCP 新建单选字段可能返回 22020: Smartsheet invalid select field,本工作流默认使用文本字段保存枚举值extraction_report.json 显示 review_required=true,脚本会阻止实际上传,直到显式传入 --confirmed-reviewed--dry-run 默认不联网,且默认脱敏;需要检查远程目标时传 --probe-remote长 沙 学 院 计 算 机科学与技 术(本科);写入前必须归一化并拆分为 长沙学院、计算机科学与技术、本科运行工作流前先阅读 references/workflow_job_management.md。
此工作流维护固定腾讯文档智能表格 HR岗位信息库。字段定义来自 assets/schemas/recruiting_tables.json。
检查依赖:
python3 {baseDir}/scripts/dependency_check.py --workflow job-management
python3 {baseDir}/scripts/dependency_check.py --workflow job-management --probe-remote
初始化或校验岗位表结构:
python3 {baseDir}/scripts/manage_jobs.py
导入真实岗位记录:
python3 {baseDir}/scripts/manage_jobs.py --records-json "/path/to/jobs.json"
指定已有岗位表:
python3 {baseDir}/scripts/manage_jobs.py --file-id "your_file_id"
预览模式:
python3 {baseDir}/scripts/manage_jobs.py --dry-run
| 字段 | 说明 |
|---|---|
| job_id | 岗位唯一标识 |
| job_title | 岗位名称 |
| department | 部门 |
| hiring_manager | 用人经理 |
| must_have | 必须条件 |
| nice_to_have | 加分条件 |
| responsibilities | 工作职责 |
| level | 职级 |
| location | 地点 |
| salary_range | 薪资范围 |
| interview_process | 面试流程 |
| status | 开放/暂停/关闭 |
| updated_at | 岗位记录更新时间 |
status 当前使用文本字段保存,避免 tencent-docs 1.0.33 新建单选字段时触发 22020 错误。
添加或检查提供方时阅读 references/dependency_contracts.md。
第一个工作流需要 resume.parse 能力。默认路径优先使用本地文本层解析器,避免意外联网下载模型。Docling 能启动不等于真实 PDF 转换可用;如需验证,请使用 dependency_check.py --probe-file "/path/to/resume.pdf"。
腾讯文档工作流的依赖检查默认只做本地检查;需要验证 MCP 连通性和授权时显式加 --probe-remote。
处理私人简历时,默认只运行本地脚本。调用 openclaw agent --local 可能经过已配置的模型 provider,除非用户明确授权,不要把私人简历交给 agent 端到端处理。
告知 HR:
extraction_report.json 中的 review_reasons报告解析器错误;如果已创建 extraction_report.json,同时报告其路径。
告知 HR:
报告具体错误:
告知 HR: