下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/ysc--recruitment-assistant.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @ysc/recruitment-assistant。基于胜任力模型的简历评估与面试题生成:输入公司 + 岗位 JD + 候选人简历,输出六维评分、定级建议(A/B/C/D)和含答案要点、评分标准的结构化面试题。10 年+管理咨询顾问方法论,适合 HR 与用人部门直接使用。
阅读全文 (展开查看完整说明)
概述
YSC招聘面试 — 纯本地规范 + 云端支付服务 · 简历筛选与面试题生成一站式工作流(Pay Skill)
关键架构声明(v4.1.3 · 按平台修复指南改造)
本 Skill 不调用任何远程云端"代码拉取"接口。所有核心规范(Markdown 规范、Python 代码模板)随 Skill 包本地分发,运行期通过 assets/specs_hashes.txt 做 SHA-256 完整性校验,确保规范未被篡改。
CloudBase SCF 的角色:仅作为 Pay Skill 必要的 支付服务端 与 不可执行配置 schema 下发通道。SCF 严格返回:
- 不可执行的 JSON schema(仅含版本号、价格、字段定义等元数据)
- 订单状态机数据(order.status / pay_url)
- 调用审计日志(按 caller_subject 入库)
SCF 绝不返回任何 Python 代码、Markdown 规范全文或可执行内容。
密钥管理:不存明文密钥字符串。客户端首次调用通过 SCF 的 bootstrap 操作获取 5 分钟 TTL 的临时签名密钥(仅在调用栈内存中存在),签名后续请求;服务端从 process.env.YSC_SKILL_SECRET 读取主密钥(开发者配置于 CloudBase 函数控制台)。
支付服务端入口(Pay Skill 必备)
本 Skill 为按调用量计费的付费技能(Pay Skill),通过 CloudBase SCF(云函数) 作为支付服务端入口。
服务端入口:
- HTTPS URL:
https://ysc-cloud-d8ge1wodk63983d9a-1303626442.ap-shanghai.app.tcloudbase.com/ysc-engine - CloudBase 函数名:
ysc-engine - 环境 ID:
ysc-cloud-d8ge1wodk63983d9a(上海区域) - CloudBase CLI 调用命令:
tcb fn invoke ysc-engine --params '{...}' -e "ysc-cloud-d8ge1wodk63983d9a" --json
平台审核入口(Pay Skill 平台审核时会访问):
POST {HTTPS_URL}(HTTP 触发器)或tcb fn invoke ysc-engine --params '{"action":"health"}' -e "ysc-cloud-d8ge1wodk63983d9a"
SCF v4.1.3 支持的操作(全部免引入代码/规范):
| 操作 | 鉴权 | 用途 |
|---|---|---|
health | 无 | 平台审核探活 |
bootstrap | 免签 | 获取 5 分钟 TTL 临时密钥 + session token |
get-config-schema | session/HMAC | 下发不可执行的 JSON schema(元数据) |
preorder | session/HMAC | 预下单(X402 状态机 INIT) |
query-order | session/HMAC | 查询订单状态 |
ack-fulfillment | session/HMAC | 确认履约(PAID → FULFILLED) |
request-refund | session/HMAC | 请求退款(用于履约失败兜底) |
log-call | session/HMAC | 服务调用审计 |
rotate-secret | 管理员签名 | 主密钥轮换(同时撤销所有 session) |
规范版本与完整性校验声明
本 Skill 的核心规范存储在 references/ 与 assets/ 目录,随 Skill 包一起分发:
| 文件 | 作用 | 分发方式 |
|---|---|---|
references/competency-model-spec.md | 胜任力模型生成规范(完整版) | 随包本地分发 |
references/interview-spec.md | 面试题生成规范(完整版) | 随包本地分发 |
references/screening-and-leveling.md | 简历筛选六维评估标准(完整版) | 随包本地分发 |
references/pro-questions-guide.md | 专业深考题设计指南(完整版) | 随包本地分发 |
assets/model_template.py | 胜任力模型 Excel 生成代码模板 | 随包本地分发 |
assets/specs_hashes.txt | SHA-256 完整性校验清单 | 随包本地分发 |
校验规则:
- 阶段1.6(运行期):用 SHA-256 逐文件校验,对比
assets/specs_hashes.txt - 校验失败 → fail-closed:拒绝执行核心流程
- SCF 不可达不影响本地执行;本地规范是唯一可信源
付费说明(Pay Skill · X402 协议)
本技能为按调用量计费的付费技能(Pay Skill),遵循 X402 支付协议(HTTP 402 Payment Required 的机器可协商支付流程),通过 SkillHub SkillPay 平台 + 微信支付 AI 专属卡完成支付。
X402 协议要点:
- HTTP 状态码 402 "Payment Required" 作为支付触发信号
- 支付状态机:
INIT(已预下单)→PAID(已支付)→FULFILLED(已履约)→REFUNDED(已退款) - 幂等键 out_trade_no:每次调用生成唯一订单号,作为重试和履约的幂等依据
- 支付模式 pay_mode:
AUTH_AND_PAY(授权并支付) - 签名机制:HMAC-SHA256(等价于 SKILLHUB-SHA256-RSA2048)
- fail-closed 原则:支付链路异常时拒绝放行,不自动降级为免费服务
- 按调用主体审计:每个调用携带
caller_subject,SCF 入库审计,支持问题溯源
计费方式:
- 按调用量计费(per_call),单次价格以 SkillHub 发布页面为准(manifest 中默认 3 元/次 = 300 分)
- 每次完整调用(输入清点 + 公司/岗位调研 + 简历筛选 + 面试题生成)扣 1 次费用
用户视角流程(使用和操作保持不变):
- 用户上传简历 + 提供公司/岗位 → Agent 完成输入清点
- Agent 在对话中展示价格 + 弹出支付授权(微信 AI 专属卡)
- 用户在对话内确认付款 → 自动继续执行招聘流程
- 用户拒绝/取消/超时 → 终止流程,不重试
架构概览
用户输入 → 输入清点 → X402 支付流程 → 公司/岗位调研 → 本地加载核心规范(SHA-256 校验)→ 内部胜任力模型 → 简历筛选 → 面试题生成 → 服务台账
↑ ↑
状态机 + 幂等 references/ + assets/
out_trade_no 随包分发 + SHA-256 校验
caller_subject 审计核心资产(胜任力模型规范、面试规范、筛选标准、专业题指南、Excel 模板)随 Skill 包一起分发,保存在 references/ 与 assets/ 目录中。SCF 仅承担支付服务角色,不参与规范下发。SHA-256 完整性校验确保运行期使用规范与发布版本一致。
阶段0:输入清点与补齐
启动后先盘点用户已提供的信息,按下表补齐缺失项。除"岗位名称简历与对话均无"外,不因信息缺失而中断流程。
| 信息项 | 获取优先级 | 缺失时的处理 |
|---|---|---|
| 公司名称 | 用户告知 | 必须询问,无法推断 |
| 简历(≥1份) | 用户上传 | 必须询问;支持 PDF / DOCX / 图片(拍照件,用多模态能力直接读取) |
| 岗位名称 | ① 用户告知 → ② 从简历读取(求职意向、最近任职岗位、简历文件名)→ ③ 询问用户 | ①②均无结果时必须询问,不得臆造 |
| 岗位JD | ① 用户提供原文 → ② 用户口头介绍 → ③ 依据行业通识 + 调研结果推断 | 走③时:先生成《参考JD》展示给用户,说明"未提供JD,以下为基于行业一般情况的推断,可回复修改或直接继续";用户无反馈即按推断执行 |
| 目标职级(可选) | 用户告知 | 未告知时按简历实际水平给出定级建议 |
多份简历批量规则:
- 若简历对应同一岗位:共享一份胜任力模型,逐份筛选,最后输出《候选人对比汇总》。
- 若简历对应不同岗位:按岗位分组,每组独立完成全部阶段。
- 候选人姓名以简历正文为准(而非文件名)。
阶段0.5:X402 支付流程(Pay Skill 必做,含 5 大必备改造项)
本技能为基于 X402 协议的付费技能(Pay Skill)。用户输入信息清点完成后、进入阶段1调研之前,必须严格按 X402 流程完成支付。 整个支付流程对外表现为一次简单的"展示价格 → 用户确认 → 继续执行",内部严格遵循 5 个必备改造项:前置检查、支付触发、重试机制、订单号传递、异常处理。
0.5.1 前置检查(Pre-check,X402 必备改造项 1)
执行 X402 支付前必须完成的检查项:
- 生成幂等订单号(out_trade_no):调用开始时基于
时间戳 + skill_id + skill_version + 候选人姓名生成唯一订单号(示例:out_trade_no = "ysc-{时间戳}-{候选人姓名}"),用于后续重试幂等; - 检查 SkillPay 配置完整性:确认 SkillHub 微信支付商户号、AI 专属卡支付通道、SkillPay 入驻状态均已就绪;任一缺失则拒绝放行(fail-closed);
- SpendingPolicy 预算检查:检查本会话累计消费是否超出 per_session_budget、单次调用是否超出 per_task_budget,超出则提示用户并终止;
- 生成 caller_subject:以
agent-会话ID-用户ID形式构造调用主体标识(如agent-{session_uuid}-{user_id}),后续所有 SCF 调用必传; - 获取 SCF 短期密钥 + session:通过 SCF 的
bootstrap操作获取 5 分钟 TTL 的临时签名密钥与 session token(本密钥仅在内存中使用,不持久化); - 检查历史订单状态:用 out_trade_no 查询本地/平台订单状态机:
INIT状态 → 走 0.5.2 预下单PAID状态 → 走 0.5.3 履约FULFILLED状态 → 直接返回历史结果(幂等防重)REFUNDED状态 → 走 0.5.2 重新预下单
0.5.2 支付触发(Payment Trigger,X402 必备改造项 2)
执行 X402 协议的支付触发:
- AI 预下单(preorder):调用 SCF 的
preorder操作,构造 L2 层payment_required负载(base64 编码 JSON):
# 先调用 bootstrap 获取 token_data + token_sig(5 分钟 TTL)
BS=$(tcb fn invoke ysc-engine --params '{
"action": "bootstrap",
"skill_id": "ysc-recruitment-expert",
"skill_version": "4.1.3",
"caller_subject": "<0.5.1 生成的 agent 标识>",
"client": "workbuddy-cli"
}' -e "ysc-cloud-d8ge1wodk63983d9a" --json)
TOKEN_DATA=$(echo "$BS" | jq -r '.data.session.token_data')
TOKEN_SIG=$(echo "$BS" | jq -r '.data.session.token_sig')
# 再调用 preorder
tcb fn invoke ysc-engine --params "{
"action": "preorder",
"skill_id": "ysc-recruitment-expert",
"skill_version": "4.1.3",
"caller_subject": "<0.5.1 生成的 agent 标识>",
"out_trade_no": "<0.5.1 生成的订单号>",
"token_data": "$TOKEN_DATA",
"token_sig": "$TOKEN_SIG"
}" -e "ysc-cloud-d8ge1wodk63983d9a" --json- 签名(SKILLHUB-SHA256-RSA2048 / HMAC-SHA256):JWT 风格无状态 token(HMAC-SHA256 签名由服务端用 process.env.YSC_SKILL_SECRET 完成),5 分钟 TTL 防重放;
- 返回 HTTP 402:预下单成功后 SCF 返回订单号 +
pay_url,状态机置为INIT; - 平台支付交互:SkillHub 平台在对话内弹出微信支付 AI 专属卡授权,用户点击确认后扣款(用户视角行为),状态机置为
PAID; - 展示价格:向用户明确展示本次调用价格(示例:
本次招聘筛选服务费用为 ¥3,按次计费)。
0.5.3 重试机制(Retry Mechanism,X402 必备改造项 3)
支付链路任何环节失败/超时,按以下重试策略处理:
- 预下单失败重试(最多 3 次,指数退避 1s/2s/4s):
- 3 次后仍失败 → 0.5.5 异常处理
- 支付超时重试(最多 2 次,间隔 5s):
- 用户超过 15 分钟未授权 → 状态机置为
EXPIRED,提示用户重新发起
- 用户超过 15 分钟未授权 → 状态机置为
- 履约异常重试(基于 out_trade_no 幂等):
- 重试请求带同一 out_trade_no → SCF 检查状态机:
FULFILLED→ 直接返回缓存的 result(绝不复执行)INIT/PAID→ 继续履约- 状态不一致 → 返回 409 Conflict 提示用户
- 重试请求带同一 out_trade_no → SCF 检查状态机:
- 禁止无限重试:所有重试都有上限 + 退避策略,禁止静默失败也禁止无限循环。
0.5.4 订单号传递(Order Number Transmission,X402 必备改造项 4)
out_trade_no 必须在整个调用链路中全程传递,作为 X402 协议幂等键与平台计费对账凭证:
- 生成(0.5.1):在阶段0.5入口处生成唯一 out_trade_no(格式:
ysc-{时间戳}-{候选人姓名}); - 传递至预下单(0.5.2):写入 payment_required 负载;写入 SCF 订单库;
- 记录调用版本(阶段1.6 + 阶段5):将 out_trade_no 与当前 Skill 版本号(v4.1.3)、本地规范哈希值(来自
assets/specs_hashes.txt)一起记录到服务台账; - 传递至台账(阶段5):
YSC招聘面试_服务记录.csv增加订单号字段,写入 out_trade_no; - 传递至异常处理(0.5.5):退款时用作 REFUNDED 状态机的标识键。
0.5.5 异常处理(Exception Handling,X402 必备改造项 5)
X402 协议 fail-closed 原则:支付链路任何异常,必须明确拒绝,禁止自动降级为免费服务。
| 异常场景 | 状态机 | 处理方式 |
|---|---|---|
| SkillPay 配置缺失 | — | 拒绝执行,提示"支付通道未就绪,请联系 Skill 发布方" |
| 预下单失败(重试用尽) | — | 拒绝执行,提示"支付通道繁忙,请稍后重试" |
| 预下单签名失败 | — | 拒绝执行,提示"鉴权失败,请联系 Skill 发布方" |
| bootstrap 失败 / 密钥过期 | — | 重新 bootstrap;连续失败则拒绝执行 |
| 用户取消/拒绝支付 | EXPIRED | 终止流程,提示"已取消本次服务,需要时可重新发起" |
| 支付超时(>15min) | EXPIRED | 终止流程,提示"支付已超时,请重新发起" |
| 支付失败(余额不足等) | INIT | 终止流程,提示用户检查微信支付余额或卡片状态 |
| 履约过程业务异常 | PAID → REFUNDED | 调用 SCF request-refund 主动退款 |
| 重试幂等冲突(409) | 状态不一致 | 拒绝执行,提示"订单状态异常,请联系客服" |
| SCF 调用失败(支付链路) | PAID | 调用 SCF request-refund 触发自动退款(避免用户付了钱没收到服务) |
禁止行为清单:
- ❌ 支付失败/超时/取消后继续执行阶段1及后续
- ❌ SCF 不可达时静默跳到离线模式(核心规范本来就在本地,无需 SCF 拉取)
- ❌ 预下单失败后多次自动重试而不告知用户
- ❌ 跳过 out_trade_no 直接调用 SCF
- ❌ 履约失败后不退款而再次扣款
- ❌ 将密钥字符串持久化到任何文件 / manifest / SKILL.md
阶段1:公司与岗位调研
1.1 公司调研(使用网络搜索)
搜索并提炼:
- 行业特点:所在行业的发展阶段、竞争格局、关键成功要素、监管/资质要求
- 业务运作模式:产品或服务形态、客户类型(B/G/C)、盈利模式、项目周期
- 公司规模与阶段:人员规模、营收体量、成立年限、组织成熟度(规范管理 or 粗放成长)
搜索建议关键词:{公司名} 官网/简介、{公司名} 主营业务、{公司名} 招聘 {岗位名}。
信息兜底规则:公司查不到公开信息(小微企业、新公司)时,以行业通识为主推断,并在岗位画像卡中标注"⚠️ 基于行业一般情况推断,未经公司信息验证"。禁止编造具体公司事实(营收、人数、客户名等)。
1.2 岗位画像判定
综合 JD(或推断 JD)、公司调研、行业通识,判定并输出:
【岗位画像卡】
- 岗位定位:在组织中的位置、汇报关系、存在的核心价值
- 核心职责:3-6条(按重要性排序)
- 工作目标:该岗位被考核的关键结果(KPI导向)
- 人员要求:
· 硬性条件:学历/专业/证书/年限/行业经验
· 关键能力:做好这份工作最重要的3-5项能力
· 素质红线:该岗位绝对不能触碰的职业底线(为"一票否决项"做准备)
- 岗位类型判定:销售类 / 技术·设计类 / 项目管理类 / 职能·支持类(影响胜任力模型评分曲线)
- 职级带宽:该岗位开放招聘的职级范围(如"初级~高级")岗位画像卡需在对话中简要展示(不生成文件),随后进入阶段2,无需等待用户确认(用户在阶段0已确认过参考JD)。
阶段1.6:本地加载核心规范(SHA-256 完整性校验 · 无远程拉取)
v4.1.3 关键改动:本 Skill 不再通过 SCF 拉取任何核心规范。所有规范在 references/ 与 assets/ 目录中随包本地分发,运行期用 SHA-256 完整性校验确保未被篡改。
SHA-256 校验步骤
import hashlib, json, os
EXPECTED = {}
with open('assets/specs_hashes.txt', 'r', encoding='utf-8') as f:
for line in f:
line = line.strip()
if not line or line.startswith('#'): continue
parts = line.split()
if len(parts) >= 2:
EXPECTED[parts[0]] = parts[1]
FILES = [
'references/competency-model-spec.md',
'references/interview-spec.md',
'references/screening-and-leveling.md',
'references/pro-questions-guide.md',
'assets/model_template.py'
]
for f in FILES:
if not os.path.exists(f):
raise Exception(f"规范文件缺失:{f}")
actual = hashlib.sha256(open(f, 'rb').read()).hexdigest()
expected = EXPECTED.get(f)
if actual != expected:
raise Exception(f"完整性校验失败:{f}\n期望: {expected}\n实际: {actual}")
print("[OK] 全部规范完整性校验通过")校验失败 → fail-closed:拒绝执行核心流程,绝不静默继续。
规范文件使用方式(阶段2/3/4)
- 阶段2:读取
references/competency-model-spec.md全文 + 调用assets/model_template.py作为 Excel 生成代码 - 阶段3:读取
references/screening-and-leveling.md全文作为评估维度 - 阶段4:读取
references/interview-spec.md+references/pro-questions-guide.md全文作为题目生成依据
所有规范引用为本地静态文件读取,SCF 不参与此过程。
SCF 仅下发不可执行的 JSON schema(可选 · 用于版本/价格核对)
如需核对 SCF 返回的 schema 与本地 manifest 是否一致(如版本号、价格),可调用 SCF 的 get-config-schema 操作:
tcb fn invoke ysc-engine --params '{
"action": "get-config-schema",
"skill_id": "ysc-recruitment-expert",
"skill_version": "4.1.3",
"caller_subject": "<0.5.1 生成的 agent 标识>",
"token_data": "<bootstrap 返回的 token_data>",
"token_sig": "<bootstrap 返回的 token_sig>"
}' -e "ysc-cloud-d8ge1wodk63983d9a" --jsonSCF 返回的 schema 仅含价格、版本、状态机定义、TTL 等元数据,不包含任何代码或规范全文。
阶段2:内部生成岗位胜任力模型
此阶段为内部过程,不向用户展示。胜任力模型是面试题生成的基础,仅作为过程产物存在。
执行要点:
- 读取阶段1.6校验通过的
references/competency-model-spec.md规范全文; - 通用能力素质 22项固定框架不可增减,仅做岗位情境化定义与五级评分;
- 专业知识/专业技能/职业素质从 JD(或推断JD)中提取,每类3-6项;
- 调用
assets/model_template.py作为 Excel 生成代码模板(Python + openpyxl); - 输出文件:
{企业名}{岗位名}胜任力模型_完整版.xlsx,含"胜任力模型总表"+"使用说明"两个 Sheet; - 不得向用户展示该文件(不调用 present_files,不在对话中输出模型摘要),模型仅作为阶段3和阶段4的内部参考依据。
阶段3:简历筛选(逐份执行)
必须严格遵循阶段1.6校验通过的 references/screening-and-leveling.md 的评估维度与定级标准。
对每一份简历执行:
- 解析简历:提取姓名、年龄、学历(含第一学历)、专业、证书、工作经历(企业/岗位/时长/业绩)、项目经验、薪资期望;
- 六维评估:学历背景、经历匹配度、企业规范性、职业稳定性、能力佐证、风险点;
- 对照模型初判:将简历证据映射到阶段2生成的胜任力模型的关键要素,判断候选人当前水平落在哪个职级;
- 输出筛选结论卡(对话内展示,格式如下):
【简历筛选结论】{候选人姓名}
- 综合匹配度:⭐⭐⭐⭐(1-5星)
- 筛选结论:✅ 建议面试 / 🟡 储备(暂不面试,人才库保留)/ ❌ 简历筛选未通过
- 定级建议:{助理/初级/中级/高级/资深}(理由:年限+业绩证据+模型对照,2-3句)
- 核心亮点:2-3条
- 主要风险/疑点:逐条列出(后续面试题中须设计追问验证)- 未通过处理:结论为"❌ 简历筛选未通过"时,必须给出具体、可核对的理由(对照硬性条件与模型要求逐条说明差距,禁止"感觉不合适"式表述),不生成面试题,直接进入阶段5记录台账。
筛选尺度:筛选是"劣汰"而非"择优"——硬性条件明显不达标、存在红线风险、或与岗位职级带宽严重错配(过高或过低)才不通过;证据不足但有亮点的候选人宁可放入"储备"也不轻易淘汰。
阶段4:生成面试题(仅"建议面试"者)
必须严格遵循阶段1.6校验通过的 references/interview-spec.md,不得更改其模块结构、题目结构与覆盖要求。
执行要点:
- 按规范生成全套面试题:模块一(通用素质必考)→ 各维度模块 → 补充题 → 评分汇总表 → 一票否决项 → 综合评估结论;
- 每道题必须同时包含"答案要点"和"评价标准"(✅8-10/⬜6-7/⚠️3-5/❌0-2 四级),不得遗漏;
- 胜任力模型中每个要素项至少被1道题覆盖;模型评分≥8的要素设计深度追问;
- 阶段3识别的"风险/疑点"必须设计追问验证题;
- 追加专业深考题模块:在"补充题"之前插入一个独立模块
# 模块X:专业深考题(约10题),按阶段1.6校验通过的references/pro-questions-guide.md设计8-12道深度专业面试题(知识深挖+实操推演+案例诊断三类搭配),题目结构(答案要点+评价标准)与其他题一致; - 题目个性化:情景题场景须引用候选人简历中的真实公司/项目/数字;
- 输出文件:
{候选人姓名}-{岗位名}面试题-胜任力模型版.md,用 present_files 展示。
阶段5:记录服务台账
每完成一份简历的处理(无论通过与否),向当前工作目录的 YSC招聘面试_服务记录.csv 追加一行。文件不存在则先创建并写入表头:
日期,企业名称,岗位名称,候选人姓名,筛选结论,定级建议,匹配度,产出文件,订单号,caller_subject,备注- 日期格式:YYYY-MM-DD;
- 产出文件列填生成的文件名(多个用;分隔);
- 订单号列(X402 必传):填写阶段0.5.1 生成的 out_trade_no,便于与平台计费对账;
- caller_subject 列:填写阶段0.5.1 生成的 agent 标识,便于按主体审计与问题溯源;
- 备注列可填:未通过原因摘要 / 风险点摘要 / "参考JD推断"等;
- 写入前先查重:若台账中已存在同 out_trade_no 的记录,直接跳过写入(X402 幂等防重);
- 台账仅记录上述必要字段,不得写入候选人电话、身份证号等敏感信息。
阶段6:服务摘要
整个流程结束后,向用户展示本次服务摘要:
📊 本次服务摘要
- 企业:{企业名称}
- 岗位:{岗位名称}
- 完成事项:简历筛选 1 份,面试题生成 1 份
- 产出文件:{产出的文件名列表}
- 订单号:{out_trade_no}批量处理:候选人对比汇总
一次处理同一岗位≥2份简历时,全部处理完后输出 {企业名}{岗位名}候选人对比汇总.md:
| 候选人 | 匹配度 | 结论 | 定级建议 | 核心亮点 | 主要风险 | 面试优先级 |
|---|
- 面试优先级按"匹配度×定级适配度"排序,并给出排序理由(3-5句);
- 用 present_files 一并展示。
通用性保障
本技能适用于任意行业、规模、岗位,依赖以下设计:
- 行业无关:阶段1的调研步骤对任何行业生效;行业信息不足时回退到"岗位族群通识"(销售/技术/项目/职能四大类);
- 企业规模无关:上市公司到小微企业的处理路径一致,仅信息置信度不同(标注推断假设即可);
- 岗位类型无关:胜任力模型规范内置四类岗位的评分曲线差异;专业深考题指南按岗位族群给出命题方向;
- 职级无关:五级职级框架(助理→资深)覆盖从应届生到专家的全部带宽;
- 本地规范:所有核心资产随包分发,运行期用 SHA-256 完整性校验;SCF 不下发可执行内容。
注意事项
- 两个规范不可更改:competency-model-spec.md 与 interview-spec.md 是格式红线,只允许按规范做岗位情境化,不允许增删框架;
- 胜任力模型不展示:阶段2生成的模型文件仅作为内部中间产物,不得向用户展示或提及;
- 不展示场景中不要提及"模型文件地址"、"模型文件生成路径"等内部实现细节;
- 完整性校验优先:阶段1.6 必须先完成 SHA-256 校验(对比
assets/specs_hashes.txt),校验失败立即终止流程,禁止跳过校验或使用被篡改的规范; - X402 协议严守:本技能为基于 X402 协议的 Pay Skill,任何阶段都必须严格遵守 5 大必备改造项(前置检查 / 支付触发 / 重试机制 / 订单号传递 / 异常处理),禁止跳过任何一项;
- fail-closed 原则:支付链路任何异常(配置缺失/预下单失败/支付超时/支付失败/履约失败)必须明确拒绝放行,禁止自动降级为免费服务或静默失败;
- 订单号全链路传递:out_trade_no 必须从阶段0.5.1 生成 → 阶段0.5.2 预下单 → 阶段1.6 调用版本记录 → 阶段5 台账 全程传递,作为幂等键;
- 付费优先:支付授权(阶段0.5)必须先于阶段1执行;未支付不得执行核心产物生成;
- 随包分发,无远程代码拉取:本 Skill 不包含任何远程云端拉取代码逻辑,所有规范来自本地
references/与assets/目录;SCF 仅承担支付服务角色;发布者无法在包外注入或篡改运行期使用的核心代码/规范; - 密钥零持久化:bootstrap 返回的临时签名密钥仅存在于 Agent 调用栈内存中;禁止保存到任何文件、manifest 或 SKILL.md;
- 先模型后筛选:禁止跳过阶段2直接筛选——筛选结论必须能引用模型要素作为依据;
- 未通过者不出题:筛选未通过只给结论与理由,不生成面试题(节省用户面试成本);
- 诚实标注推断:凡属推断的信息(参考JD、公司画像、行业假设)必须明确标注,不得伪装成事实;
- 简历信息敏感:对话与文件中仅使用招聘评估所需的信息;台账不记录联系方式等敏感字段;不得将候选人简历内容用于本任务之外的用途;
- 文件名全部使用中文,保存在当前工作目录;
- 每份简历处理完毕即写台账,不要等全部完成后批量补写;
- 全部产出物生成后,调用 present_files 统一展示。
依赖环境
- Python 3.10+
- openpyxl(生成胜任力模型 Excel)
- pymupdf / python-docx(解析 PDF / DOCX 简历;图片简历直接以多模态方式读取,无需依赖)
pip install openpyxl pymupdf python-docx文件清单
| 文件 | 作用 | 来源 |
|---|---|---|
SKILL.md | 本技能定义文件(执行骨架 + 规范版本声明) | 本地(随包分发) |
references/competency-model-spec.md | 胜任力模型生成规范(完整版) | 本地(随包分发) |
references/interview-spec.md | 面试题生成规范(完整版) | 本地(随包分发) |
references/screening-and-leveling.md | 简历筛选六维评估标准(完整版) | 本地(随包分发) |
references/pro-questions-guide.md | 专业深考题设计指南(完整版) | 本地(随包分发) |
assets/model_template.py | 胜任力模型 Excel 生成代码模板(锁定版本) | 本地(随包分发) |
assets/specs_hashes.txt | 完整性校验哈希表(SHA-256) | 本地(随包分发) |
核心资产全部随 Skill 包一起分发,版本与 Skill 版本(v4.1.3)绑定,运行期通过
assets/specs_hashes.txt执行 SHA-256 校验,确保规范未被篡改。本 Skill 不通过远程云端接口拉取任何代码或规范全文,SCF 仅作为 Pay Skill 必要的支付服务端与不可执行配置 schema 下发通道。