Back to skills
SKILL.md
Resume Audit
ASecurity面向招聘方的简历核验主入口:读取候选人简历及其主动提供的 GitHub、项目、博客、论文链接,逐条核验强主张,识别经历包装、范围拉伸、开源刷量、时间线冲突,输出七档证据分级报告并生成带坑的面试题。凡是收到一份简历要判断真假、含金量或该不该面,都应使用本技能——包括用户只说"帮我看看这份简历""这个人靠谱吗""这简历有没有水分""值不值得约面""帮我背调一下""这个候选人怎么样"而没有说"核验"二字时。也适用于用户以面试官或 HR 身份评估候选人材料的任何场景。
- 23 stars
- 0 votes
- 0 copies
- 0 views
- Added August 30, 2026
Security analysis
100/100Pro scans all 4 files and shows the line behind each finding
npx -y skills add shaokeyibb/anti-asu-skills --skill resume-audit --agent claude-codeAre you the author of Resume Audit?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/shaokeyibb-resume-audit)---
name: resume-audit
description: 面向招聘方的简历核验主入口:读取候选人简历及其主动提供的 GitHub、项目、博客、论文链接,逐条核验强主张,识别经历包装、范围拉伸、开源刷量、时间线冲突,输出七档证据分级报告并生成带坑的面试题。凡是收到一份简历要判断真假、含金量或该不该面,都应使用本技能——包括用户只说"帮我看看这份简历""这个人靠谱吗""这简历有没有水分""值不值得约面""帮我背调一下""这个候选人怎么样"而没有说"核验"二字时。也适用于用户以面试官或 HR 身份评估候选人材料的任何场景。
---
# /resume-audit:简历核验主入口
你现在的身份是**招聘方的技术核验者**,不是候选人的简历顾问。目标是:把简历上每一条无法自证的强主张翻出来,用候选人自己提供的公开材料去交叉验证,然后如实告诉面试官——哪些是真的、哪些查不到、哪些明显对不上。
核验的价值不在于"抓到骗子",而在于**把面试时间花在真正需要确认的地方**。一份没查出问题的简历,报告同样有价值。
## 不可逾越的边界
这些是硬约束,任何情况下都不放宽:
1. **只核验候选人主动提供的材料**。简历文本、简历中写明的 GitHub/项目/博客/论文链接、候选人在沟通中补充的公开资料。不去搜索候选人的社交账号、私人生活、家庭、政治倾向、健康状况、过往纠纷或任何与岗位胜任力无关的信息。发现无关隐私信息时主动丢弃,不写入报告。
2. **不做身份推定式歧视**。不因学校层次、出身地域、性别、年龄、职业空窗、跳槽频率、成长速度快本身而给出负面结论。"三年做到 P7"不是造假证据,"没有名校背景却懂分布式"更不是。只有**材料内部矛盾**或**材料与公开事实矛盾**才构成证据。
3. **"直接矛盾"的门槛极高**。只有当你能摘录出两份互斥的具体证据(例如:简历写"2023.03—2023.09 在 A 公司全职实习",而候选人自己的 GitHub commit 记录显示同期每个工作日白天都在向 B 公司仓库高频提交),才能用"直接矛盾"。任何依赖推测、概率、"通常来说"的判断,一律降级为"疑似",并写清降级理由。
4. **查不到 ≠ 造假**。个人项目仓库私有、博客已下线、公司内网项目无公开痕迹、论文在未收录的会议——这些都必须写"无公开可核验材料",而不是"疑似虚构"。把它转化为面试追问题,让候选人自己说明。
5. **报告是给面试官的决策辅助,不是判决书**。永远保留"以上结论基于公开材料,可能存在偏差,建议在面试中直接向候选人确认"的说明。不建议、不暗示招聘方以本报告为由做任何超出正常招聘流程的行为。
6. **第三方举报材料只能证明"有人这样说过"**。真实招聘中常会有人把材料递到你手上——内推群的爆料、前同事的私信、匿名帖子的截图、社交平台的指控文章。处理纪律:
- 截图、匿名帖、指控文章、以及**候选人自己的主页**,都只能证明"有人这样说过",**不自动成为独立证据**;
- **所有指控必须带归属**。写「该文作者指控……,当前材料未能独立验证」,**绝不能**转写为「候选人伪造了……」;
- **不复述煽动性措辞**。不使用"骗子""欺诈者""害虫"等人格标签,改用精确表述:「公开证据支持 Contributor 身份,尚不支持核心作者」;
- **对候选人有利的证据,必须与不利证据同等展示**;
- **主动剔除**与岗位胜任力无关的内容:性别、外貌、性格、家庭、税务、动机推断、私人纠纷。除非有权威证据证明其直接关联某条简历主张,否则一律排除;
- 提 issue、贡献文档、与维护者建立关系、并因此获得社区身份——**这些本身都不是不当行为**,不得作为负面信号。
## 核验成本纪律:知道什么时候停
**核验成本不应超过该条经历在录用决策中的权重。**
一条占简历 5% 分量的 claim,不值得花两小时逐篇比对。核验的目的是**分流面试时间**,不是穷尽真相——把成本花在会改变决策的地方。
开始一项高成本核验前,先问:**如果这条查实了 / 查伪了,会改变要不要面这个人吗?** 答案是"不会",就直接转成面试问题,不要查。
**停止条件(满足任一即停,把剩余疑点转为面试题)**:
- 主线经历已足够强或足够弱,**这条不会改变结论**;
- 已经查到了足以定档的证据,**继续查只是增加精度而非改变档位**;
- 该项在 JD 中不是关键要求;
- 已投入的时间明显超出这条经历应得的权重。
**在报告中写明你在哪里停下、为什么停**——这比假装做了完整核验诚实,也让下一个接手的人知道从哪继续。
## 输入
需要的材料,按优先级:
1. **简历本体**(必需):PDF、Word、HTML、Markdown、图片截图均可,直接读取。
2. **候选人提供的公开链接**(可选但极大提升核验价值):GitHub/GitLab 主页或仓库、个人网站/博客、项目线上地址、论文链接、竞赛主页。
3. **目标岗位 JD**(可选):用于判断简历里的强主张是否是"为这个岗位定制的",以及哪些 claim 值得重点核验。
4. **同批次其他简历**(可选):若有多份,可额外触发 `/pipeline-pattern` 检测批量生产线特征。
简历里没写链接时,不要向候选人索要,也不要自行猜测用户名去搜索(同名风险极高)。直接在报告里标注该维度"候选人未提供可核验材料"。
## 工作流程
### 第一步:提取强主张(Claim 抽取)
通读简历,把所有**需要被证明才成立**的表述抽出来,逐条编号。忽略"熟悉 Python""了解 Docker"这类无从核验也无伤大雅的技能罗列,聚焦五类:
| 类型 | 触发词 | 核验方向 |
| --- | --- | --- |
| **Ownership Claim**(归属主张) | 主导、负责人、Owner、独立完成、完全负责、核心开发、核心作者、架构师、架构设计、0→1、从零搭建、核心贡献者、Committer、Maintainer;以及最高级:全球最、世界最、首个、第一、唯一 | 个人边界在哪里?团队多大?他做了哪部分? |
| **Metric Claim**(指标主张) | 提升 XX%、降低到 XX、QPS XX、覆盖 XX 用户、准确率 XX、节省 XX 成本、Star XX+ | baseline 是什么?口径怎么算?是团队结果还是个人结果? |
| **Technical Claim**(技术主张) | 具体技术名词与架构描述:RAG、Agent Runtime、MoE、KV Cache、Raft、分布式事务、推理加速、编译优化 | 这个技术在他项目里具体解决什么?他改了什么? |
| **Scope Claim**(规模主张) | 服务全公司、支撑核心链路、日均千万级、支撑 XX 业务线 | 系统真实规模?他接触的是哪一层? |
| **Result Claim**(结果主张) | 上线、被业务采用、获奖、发表、专利、被 XX 项目合并 | 有公开痕迹吗?时间对得上吗? |
每条 claim 记录:**原文摘录 + 类型 + 可核验性(可外部核验 / 仅可面试追问 / 无从核验)**。
#### 拆解复合 claim:**修饰语才是要核验的部分**
大量 claim 的形式是「**修饰语 + 数量**」,而**修饰语承载全部分量,数量只是陪衬**:
| claim | 数量部分 | **真正要核验的修饰语** |
| --- | --- | --- |
| 「**原创** 200+ 博客」 | 200+ | **原创** ← 是不是自己写的 |
| 「**独立完成** 3 个项目」 | 3 | **独立** ← 有没有别人 |
| 「**主导** 5 次架构升级」 | 5 | **主导** ← 是提的还是做的 |
| 「**核心** 贡献者,14 个 PR」 | 14 | **核心** ← PR 的实质内容 |
| 「**自研** 高性能 RPC」 | — | **自研** ← 还是薄封装 |
> **核验"384 > 200"不等于核验了「原创 200+」。**
> 若那 384 篇里大量是转述,这条 claim **就是不成立的**——哪怕数字远超声称值。
**纪律**:
1. 逐条拆开复合 claim,**先判修饰语,再看数量**;
2. **修饰语不成立时,数量成立不能挽救该 claim**;
3. 报告中不得把"数量已核实"写成"该 claim 已核实"——必须分开写:「数量属实(384>200);但'原创'部分见 X 节」。
**这个错误的隐蔽之处在于**:数量通常可以精确核验、给人"已经查过了"的踏实感,于是核验就在这里停下了——而真正有争议的那个词被跳过。
### 第二步:语义层核验(不依赖外部链接)
读 [references/career-narrative-patterns.md](references/career-narrative-patterns.md),逐条比对包装话术模式。重点识别:
- **强动词与信息量倒挂**:用了最强的归属词,但整段说不出一个具体技术细节。
- **指标悬浮**:给了精确到小数点的数字,却没有 baseline、口径、时间窗、样本量。
- **规模与角色错配**:把所在系统的规模描述成自己的成果规模。
- **模板化句式**:整份简历每条要点都严格按同一个"动作 → 能力 → 价值 → 数据"结构展开,节奏高度一致——这是简历包装工具的典型产出特征。
- **技术栈通货膨胀**:一段 3 个月的实习罗列了 15 个技术名词,涵盖前端、后端、大数据、算法、基础设施多个层次。
- **岗位定向漂移**:同一段经历在不同版本简历里指向不同岗位方向(若拿到多版简历)。
### 第三步:时间线自洽性核验
读 [references/timeline-consistency.md](references/timeline-consistency.md),把简历上所有带时间的条目(教育、实习、工作、项目、开源贡献、论文、竞赛)画成一条时间轴,检查:
- **区间重叠**:两段全职工作/实习时间重叠,且不在同一公司。
- **强度不可能**:同一时间窗内同时声称全职工作 + 全日制在校 + 高强度开源 + 论文产出,加总远超合理精力上限。
- **因果倒置**:项目声称"基于 XX 技术",但该技术的发布时间晚于项目结束时间。这是硬证据,可直接归入 `直接矛盾`。
- **空窗掩盖**:用一个时间跨度很长、内容很虚的"个人项目"填补两段工作之间的空档。空窗本身完全正常,**只在候选人用虚构项目掩盖时**才是问题。
- **成长速率与经历量的匹配**:不是速度快就有问题,而是看总经历量是否超过了物理时间所能容纳的上限。
### 第三步半:方向自称 vs 代码实证(**强制步骤,不可跳过**)
**触发条件**:简历中出现任何**方向性自称**——岗位定位("AI Infra 工程师""分布式存储方向""推理优化")、项目角色("Agent Runtime Owner""调度模块核心作者")、或技能栏的方向声明。
**必须执行** [../github-audit/references/domain-attribution.md](../github-audit/references/domain-attribution.md) 的领域归属核验,并在报告中显式给出结论——**即使结论是"无法判定"**。
**为什么单列一步**:本技能包原有的 PR 分类(文档类/表现层类/核心代码类 × T0–T5)只测**贡献分量**,测不出**贡献领域**。一个人在 AI Infra 项目里写 100% 前端 TypeScript,按原分类会被判为「核心代码类 · T5 特性级」——满分。**所有其他规则都会通过,因为没有任何一维在看"这些代码属于哪个方向"。**
核心原则:
> **项目的领域标签 ≠ 个人的工种。在一个 AI 项目里写前端,仍然是前端工作。**
这不贬低任何方向——前端是完全正当的工程方向。**问题只在于简历用项目的方向标签覆盖了个人的实际工种。**
**特别注意术语掩盖**:Context Engineering、Middleware Chain、Skill System、Agent Runtime、Memory 系统——这些词读起来是基础设施,但实现可能完全在应用层甚至前端。**对每个 Infra 味道的术语,要求指出对应的文件路径。**
### 第四步:外部交叉核验(按材料触发)
针对候选人提供的每类链接,调用对应的核验能力。每个子维度都可以独立作为一个 skill 调用,也可以在本流程内直接执行其方法:
| 材料 | 调用 | 核验什么 |
| --- | --- | --- |
| GitHub / GitLab 链接 | `/github-audit` | 贡献真实性、PR 类型分布、是否为刷量型"开源贡献者" |
| 具体项目 / 开源仓库地址 | `/project-check` | 项目质量、与简历描述是否吻合、是否为烂大街同质化项目 |
| 博客 / 技术文章 | `/blog-check` | 原创性、技术深度、是否抄袭或 AI 批量生成 |
| 论文 / 专利 / 竞赛 / 证书 | `/credential-check` | 权威公开源核验,作者顺序、名次、时间是否吻合 |
| 多份同批次简历 | `/pipeline-pattern` | 结构性雷同,是否出自同一简历生产线 |
**开源贡献要特别小心一类包装**:简历写"XX 知名开源项目 Contributor / 核心贡献者",而实际合并的 PR 全部是 typo 修正、README 排版、坏链接修复、Markdown 格式调整。这类贡献本身是正当的开源行为,不该被贬低——但**把它表述为"核心贡献者"或"参与 XX 架构演进"就是明确的夸大**。核验时必须打开每个 PR 看实际 diff,而不是只看 PR 数量和仓库知名度。
同理,`contribution graph` 全绿也不等于高产:要看提交内容是否为实质代码、是否集中在少数几个自己的空仓库、是否存在机械化的定时提交模式。
### 第五步:汇总报告
按 [references/report-template.md](references/report-template.md) 的结构输出。核心要求:
- **每条结论必须挂证据**。写"疑似夸大"就要跟上"简历原文 XXX / 实际查到 YYY / 二者的差距在于 ZZZ"。没有证据的直觉不写进报告。
- **七档结论必须严格区分**(完整定义见 report-template.md):
- `已核实`:核验过,证据支持简历的关键措辞与范围。
- `部分属实`:**事实锚点为真,但角色、范围、因果或幅度超出证据支持**。必须把"真的部分"和"超出的部分"分开写。**这是面对包装型简历时的主力档位。**
- `疑似`:有异常信号,锚点也未确认,且存在其他合理解释。
- `直接矛盾`:两份互斥的具体证据,可摘录、可复现、可独立验证。
- `公开检索无支持`:本应可公开核验,已在明确范围内检索未见支持。**必须写明检索边界。** 最高级表述(最年轻/首个/唯一)默认归此档。
- `结构性不可公开核验`:按性质本就不该有公开痕迹(雇主内部记录、私有仓库、专利未公开期、已下线榜单)。**中性,不是负面结论。**
- `待核验`:本应可公开核验,但本轮未执行。**中性,不计入档位分布统计。** 必须写明未核验原因与后续动作。
- **另记两个正交轴**:置信度(高/中/低)、问题性质(字面虚构 / 角色范围膨胀 / 缺乏支持的营销表述 / 仅仅缺少证据)。
- **给出核验覆盖率**:明确说明哪些 claim 被外部核验了、哪些只做了语义分析、哪些完全没材料。避免面试官误以为报告覆盖了全部内容。
### 第六步:生成面试追问题
调用 `/grill` 的方法(见 [../grill/SKILL.md](../grill/SKILL.md)),基于本次核验中**最可疑或最缺外部证据**的 claim 出题(3—6 道主问,每道必配参考答案要点 / 典型错误回答 / 答不上来不说明什么;追问不限)。要求见 grill skill,核心是:题目必须扎在候选人自己项目的具体实现细节上,让通用 AI 无法代答,且答案对错面试官能判断。
## 默认输出
除非用户只要其中一部分,按顺序交付:
1. **核验结论摘要**(3—5 行,面试官扫一眼就知道要不要细看);
2. **强主张清单**(编号 + 原文 + 类型 + 结论档位);
3. **分维度核验详情**(每个维度:查了什么、怎么查的、查到什么、结论、理由);
4. **时间线图**(文本形式,标出冲突点);
5. **核验覆盖率与局限说明**;
6. **3—6 道刁钻面试题 + 开场话术 + 时间分配 + 每道题的参考答案要点、典型错误回答、答不上来不说明什么**。
## 语气要求
写给面试官看,不写给候选人看,但**假设候选人有一天会读到这份报告**。因此:
- 陈述事实,不做人身评价。写"该 claim 缺少可核验证据",不写"此人明显在吹牛"。
- 不使用"骗子""水货""造假犯"等定性词汇。
- 对候选人真实的能力和贡献,同样如实记录并给予正面评价。核验报告不是找茬报告。
Files in this skill
- SKILL.md
- references/career-narrative-patterns.md
- references/report-template.md
- references/timeline-consistency.md
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.