← Back to Skills Marketplace
tyqqj0

Xihu Hiring

by 郭凯文(Kaiwen Guo) · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
56
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install xihu-hiring
Description
拉取飞书审批数据(人事-西湖数智),生成招聘进度 Excel 报表。 Triggers: 招聘进度, 刷新招聘表, 拉审批, 更新候选人, 重跑招聘, hiring tracker, xihu hiring. NOT for: 其他飞书审批, 通用 Excel 制作, 消息发送.
README (SKILL.md)

西湖数智招聘进度

拉取飞书审批模板「人事 - 西湖数智」的全部实例,应用人工更正,生成 3-sheet Excel 报表。

触发条件

用户说以下任何一种时触发此 skill:

  • "刷新招聘表" / "重跑招聘进度" / "拉一下飞书审批"
  • "把候选人数据更新一下" / "更新西湖数智的招聘 Excel"
  • "X 应该是一面后拒绝"(人工更正后重新生成)
  • "hiring tracker" / "recruitment dashboard"

不触发:无关的飞书审批、通用 Excel 工作。

常量

  • 审批 approval_code: 57E726C3-EA5E-4422-A2F3-ACED3A75F8D2
  • 时间窗口: 最近 120 天(飞书 API 硬限制)
  • 输出文件: 西湖数智-招聘进度.xlsx(覆盖写入当前工作目录)

执行流程

Step 0 — 环境准备

python3 -c "import openpyxl" 2>/dev/null || pip install openpyxl -q

如果 pip install 也失败,告诉用户需要安装 openpyxl。

Step 1 — 列出审批实例

计算 120 天前的毫秒时间戳,然后拉取实例列表:

lark-cli api GET "/open-apis/approval/v4/instances" \
  --params '{"approval_code":"57E726C3-EA5E-4422-A2F3-ACED3A75F8D2","start_time":"\x3C120天前ms>","end_time":"\x3C当前ms>","page_size":"100"}' \
  --as bot --page-all --format json

从返回的 data.instance_code_list 中获取所有实例 code。如果有分页(has_more=true),--page-all 会自动处理。

Step 2 — 获取每个实例详情

逐个获取(或批量,每次最多 5 个并行 shell):

lark-cli approval instances get \
  --params '{"instance_code":"\x3Ccode>","locale":"zh-CN"}' \
  --as bot --format json

每个实例包含 serial_number, status, start_time, end_time, form(JSON 字符串), task_list(审批节点)。

Step 3 — 组装 payload JSON

将所有实例数据组装为 build_excel.py 所需的 JSON 格式(参见 references/fetch-approvals.md)。

关键字段映射:

  • form 中提取:姓名、申请职位、手机号、邮箱、毕业院校、曾经任职、cv
  • task_list 中按节点名聚合状态(优先级:REJECTED > PENDING > APPROVED)
  • 节点名:简历筛查/简历筛选、一面、二面、终面(= 三面)、办理

将 payload 写入 /tmp/hiring_payload.json

Step 4 — 生成 Excel

references/build-excel.md 中的 Python 脚本写到 /tmp/build_excel.py,然后执行:

python3 /tmp/build_excel.py --workspace "$(pwd)" --payload /tmp/hiring_payload.json

脚本会:

  • 读取当前目录下的 招聘进度_人工更正.json(如果存在)
  • 应用人工更正
  • 生成 西湖数智-招聘进度.xlsx
  • 输出 JSON 摘要(行数、各职位统计)

Step 5 — 报告结果

向用户展示:

  1. 简短摘要:投递人数 / 面试进行中 / 已发 Offer
  2. 文件路径
  3. 如有未映射的新职位(unmapped_positions 非空),提示用户确认归类

隐私规则:不要在对话中粘贴完整的候选人 PII(姓名+手机+邮箱),这些在 Excel 里有。


人工更正

当用户说"X 应该是一面后拒绝"时:

  1. 在当前 Excel 中查找 X 的审批编号
  2. 编辑 招聘进度_人工更正.json,将编号添加到对应类别
  3. 重新运行 Step 4

更正类别(对应 JSON key):

  • rejected_after_screening → 简筛后拒绝
  • rejected_after_round_1 → 一面后拒绝
  • rejected_after_round_2 → 二面后拒绝
  • rejected_after_round_3 → 三面后拒绝
  • withdrawn → 撤回

新职位出现时

如果脚本输出中 unmapped_positions 非空,必须询问用户:

"我看到一个新职位 'X',不在现有归一规则中。应该归入哪个类别?
现有类别:视觉设计&视频制作、数据科学家、模型训练专家、具身算法专家、运动控制算法工程师、硬件全栈专家、硬件测试工程师、Infra专家、算法工程师、公关、商务拓展。
还是新建一个类别?"

确认后,更新 references/build-excel.md 中脚本的 CANONICAL 字典。


参考文件

  • references/fetch-approvals.md — 详细的数据获取和 payload 组装步骤
  • references/normalization-rules.md — 职位归一规则及原因
  • references/build-excel.md — build_excel.py 脚本源码及使用说明
Usage Guidance
Install only if this will be run by authorized recruiting or HR personnel in a secure workspace with the correct Feishu bot permissions. Treat the generated Excel and /tmp payload as sensitive applicant data, avoid shared terminals or CI logs, delete temporary files after use, and confirm before overwriting an existing report.
Capability Assessment
Purpose & Capability
The Feishu approval access, applicant field extraction, and Excel generation are coherent with the stated hiring-progress reporting purpose and are scoped to a specific approval code and 120-day window.
Instruction Scope
The workflow processes names, phone numbers, emails, schools, employment history, approval history, and interview status, but only partially warns against exposing PII and does not clearly require authorization, minimization, secure storage, or retention controls.
Install Mechanism
It requires lark-cli and installs openpyxl if missing; this is purpose-aligned, but users should understand it relies on the local Feishu/Lark bot credential context.
Credentials
The skill writes a full sensitive payload to /tmp/hiring_payload.json and generates an Excel file in the current directory, creating local copies that may be exposed in shared workspaces or logs.
Persistence & Privilege
The fixed output file 西湖数智-招聘进度.xlsx is overwritten in the current directory, and the temporary payload has no documented restrictive permissions or cleanup step.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install xihu-hiring
  3. After installation, invoke the skill by name or use /xihu-hiring
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
西湖数智招聘进度报表(lark-cli 适配版)
Metadata
Slug xihu-hiring
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Xihu Hiring?

拉取飞书审批数据(人事-西湖数智),生成招聘进度 Excel 报表。 Triggers: 招聘进度, 刷新招聘表, 拉审批, 更新候选人, 重跑招聘, hiring tracker, xihu hiring. NOT for: 其他飞书审批, 通用 Excel 制作, 消息发送. It is an AI Agent Skill for Claude Code / OpenClaw, with 56 downloads so far.

How do I install Xihu Hiring?

Run "/install xihu-hiring" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Xihu Hiring free?

Yes, Xihu Hiring is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Xihu Hiring support?

Xihu Hiring is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Xihu Hiring?

It is built and maintained by 郭凯文(Kaiwen Guo) (@tyqqj0); the current version is v1.0.0.

💬 Comments