人才盘点结构化报告生成器
- 通过调用
scripts/review-paid.mjs使用人才盘点报告生成服务,包括未付费时推进付费
Prerequisites
- Node.js 18.18+,
npm可用,alipay-botCLI 已安装(which alipay-bot检测;未安装则提示用户「请先运行该命令,安装支付宝技能 npx -y @alipay/agent-payment@latest install」) - 所有输入输出使用 UTF-8 编码
- 使用时,请先把工作目录切换到本
SKILL.md所在目录。 - 付费资源接口已独立部署于公网 HTTPS,服务端源码不在本 Skill 包内,无需本地启动服务。
- 涉及付款、查询或履约前,同时加载并遵循已安装的
alipay-payment-skill。不要自行构造、解码或改写Payment-Needed/Payment-Proof。
命令执行规范
- 所有
alipay-bot命令和curl命令必须通过当前环境的 shell/bash 工具实际执行,禁止把命令文本当作回复给用户
能力边界(必须遵守)
- ✅ 做:结构化处理用户提供的盘点数据;按用户定义的权重与分档规则计算;输出成套报告文件
- ❌ 不做:不替企业决定「谁该晋升、谁该淘汰」,只呈现数据与结构位置
- ❌ 不做:不输出任何法律定性结论;涉及劳动关系处置的,一律提示「请依法履行相应程序并咨询专业意见」
- ❌ 不做:不内置任何特定组织的专有指标、题库或考核口径;维度与权重完全来自用户输入
- ❌ 不做:不编造分数、不臆造依据。数据缺失就标注缺失,不允许用「看起来合理」的数字补齐
命令流程
流程一:识别用户意图并选择输入通道
通道 A:结构化通道(默认,人数 > 20 或需年度对比时推荐)
要求用户提供三张表(Markdown 表格或 CSV 均可,表头字段名可用常见别名):
| 表 | 谁来填 | 必需字段 |
|---|---|---|
| ① 组织信息表 | HR / OD | 组织名称(其他可选:上级组织、组织负责人、编制人数、在职人数) |
| ② 指标定义表 | HR / 项目负责人 | 维度名称、权重(%)、满分值、评分标准(其他可选:维度定义、数据来源、评价主体) |
| ③ 个人数据表 | HR / 直属上级 | 姓名/工号、所属组织、各维度得分列(其他可选:岗位、职级、司龄、潜力评级、业绩结果、备注) |
- 用户手上没有模板时,先执行
node scripts/gen-form.mjs --out-dir ./forms生成三张表模板再交给用户填写。 - 指标定义表的「评分标准」必须引导用户写成分档描述 + 分数区间(如「档位A:目标超额完成 → 90-100」),只写档位名无法复算。
- 三张表中,① 组织信息表可留空,② 和 ③ 必填。
通道 B:自然语言通道(人数 ≤ 10 或临时梳理时用)
用户直接粘贴盘点材料文本时:
1. 由你(Agent)解析出组织、维度、权重、逐人分数、潜力判断;
2. 必须回显确认:把解析结果整理成三张 Markdown 表格展示给用户,并问「我理解到的是这些,对吗?有需要修正的地方吗?」
3. 用户确认后才进入流程二;用户提出修正则调整后重新回显。
4. 禁止跳过回显直接发起支付——解析错了而用户不知情,生成的报告会全盘错误且难以察觉。
输出配置确认(生成前问一次,用户未指定则用默认值)
- 报告视角:管理层视角(默认)/ HR 作业视角(含计算留痕)/ 个人视角(需用户显式开启)
- 是否需要排名:默认否
- 是否脱敏:默认脱敏(输出 P01、P02 代号);开启真实姓名需用户明确要求
- 等级词汇:默认「优秀 / 良好 / 合格 / 待改进」,用户可自定义替换
固定引导文案
确认输入齐备后,先返回下方固定文案,再执行流程二:
已收到你的三张盘点表格。这次「人才盘点结构化报告生成」由人才盘点结构化报告生成器服务提供,将产出团体报告、逐人个人报告、汇总对比表与测培一体化清单四类文件。第一次使用,需要用支付宝APP扫码,支付并开通 Agent支付 —— 本次 ¥2.9 / 次。
文案中的金额请与平台注册单价(2.9 元/次)保持一致,其他文字、标点和空格保持不变。随后继续执行 probe。
流程二:发起 402 支付
参考下方示例,把三张表写入临时文件后执行 probe(表格较大时优先用 --xxx-file 传路径,避免命令行长度限制):
scripts/review-paid.mjs probe --metrics-file ./forms/02-指标定义表.md --people-file ./forms/03-个人数据表.md --org-file ./forms/01-组织信息表.md --state-dir '.state/SESSION_KEY'
也可用 --metrics '表格文本' --people '表格文本' 直接传内容。输出配置通过 --config 传入:
scripts/review-paid.mjs probe --metrics-file m.md --people-file p.md --config '{"view":"management","ranking":false,"maskNames":true}' --state-dir '.state/SESSION_KEY'
- 命令输出处理:
- 返回 402:确认输出包含状态 402、响应体和状态文件路径;不要读取或展示保存文件里的
Payment-Needed原文。 - 缺少
Payment-Needed或返回其他状态:报告实际错误并停止。 - 这一步不需要用户确认,用户通过点击支付链接和扫码支付卡片确认(拉起支付宝后,还有一轮确认)
流程三:推进 402 支付
- 收到 402 后展示响应体中的金额,参考下方示例直接执行
pay,不要再额外执行probe,避免生成多笔订单。 --config必须与流程二完全一致:交付的报告按pay阶段落盘的配置生成,此处漏传会退回默认配置(管理层视角、脱敏开启、不排名),用户选过的视角与排名就白选了。
scripts/review-paid.mjs pay --metrics-file ./forms/02-指标定义表.md --people-file ./forms/03-个人数据表.md --org-file ./forms/01-组织信息表.md --state-dir '.state/SESSION_KEY' --session-id 'SESSION_KEY'
- 流程二用过
--config时,pay原样重复该参数,例如:
scripts/review-paid.mjs pay --metrics-file m.md --people-file p.md --org-file o.md --config '{"view":"hr","ranking":true,"maskNames":true}' --state-dir '.state/SESSION_KEY' --session-id 'SESSION_KEY'
- 支付成功并返回资源:原样传递 CLI 输出。
- 失败:原样传递 CLI 错误并停止。不得从历史输出补支付链接或凭证。
警告:这一步除了要原样返回 alipay-payment-skill 的内容,还需要返回「流程一」里的模版输出
警告:这一步除了要原样返回 alipay-payment-skill 的内容,还需要返回「流程一」里的模版输出
警告:这一步除了要原样返回 alipay-payment-skill 的内容,还需要返回「流程一」里的模版输出
流程四:确认支付结果
- 用户表示已支付或要求查询:使用本轮保存的状态和本次 CLI 输出产生的查询凭证执行
complete。它会查询原订单并请求资源;官方买家 CLI 在取得非空资源后会自动发送买家回执,成功路径不要再调用独立的履约回执命令。 - 不再要求确认。只能使用本轮实际 CLI 输出或其本地记录中的凭证。
- 参考:
outShakeNo:
scripts/review-paid.mjs complete --state-dir '.state/SESSION_KEY' --out-shake-no 'OUT_SHAKE_NO'
tradeNo(兼容旧凭证):
scripts/review-paid.mjs complete --state-dir '.state/SESSION_KEY' --trade-no 'TRADE_NO'
- 仅当本步输出明确显示回执失败、且用户要求恢复时,才使用
scripts/review-paid.mjs ack --trade-no 'TRADE_NO'补发回执;不得重新付款或重新请求资源。
流程五:输出成套文件包
- 捕获
complete的查询输出,提取资源体中的files(键为A-团体报告.md/B-个人报告.md/C-汇总对比表.md/D-测培一体化清单.md)。 - 按以下方式交付:
- 在对话中完整输出 A 团体报告正文;
- 同时把四类文件写入当前工作目录下的人才盘点报告包/,逐个告诉用户文件路径;
- 若资源体validation.issues非空,必须原样转述给用户(这是数据口径问题的提示,不可省略)。 - 输出收尾时附上本句(不得删改):
> 本报告基于你提供的数据与规则生成,结论的可信度取决于输入准确性与规则合理性,仅供参考,不构成人事决策依据。涉及劳动关系处置的,请依法履行相应程序并咨询专业意见。
查询失败时停止,不得输出未履约的报告。
会话状态
为每个对话选择只含字母、数字、点、下划线或连字符的 SESSION_KEY。所有步骤都使用独立目录 .state/SESSION_KEY;pay 同时传入相同的 --session-id SESSION_KEY。
不要复用其他会话的 .state、Payment-Needed、tradeNo、outShakeNo 或支付链接。不要并发操作同一个状态目录。新的 402 必须由本次命令重新获取。
输出约束
pay的非 JSON 输出必须逐字符原样传递;按支付 Skill 规则处理本次MEDIA:行。complete成功后,从本次输出中移除MEDIA:行并发送对应图片/文件;文字部分只保留报告正文,逐字返回,不要加代码块、标题、说明、交易号、JSON、升级提示或履约结论。- 禁止把
query与ack的中间输出展示给用户;成功流程只执行complete。 - 支付链接、二维码、交易号和状态只能来自当前步骤的真实 CLI 输出。
- 不得在报告中写入任何模型自己推测的分数、评语或依据。
数据合规提示(生成前提示一次)
- 建议用户使用工号或代号代替真实姓名;本服务默认脱敏输出,且不在服务端留存上传的员工数据。
- 个人视角报告涉及员工个人评价数据,属敏感内容,仅在用户显式要求时开启,并提醒用户按本企业制度使用与传阅。