candidate-source-auditlisted
Install: claude install-skill Zion74/candidate-source-audit
# Candidate Source Audit · 源码级候选人尽调
**核心信条:简历是包装,代码是真相(Resume is packaging; code is truth)。**
人人都会包装简历。只读简历下结论 = 让候选人自己给自己打分。本 skill 把评估的第一性原理
从"他声称做了什么"转成"**哪句经得起源码对质,哪句一查就垮**"。AI(你)是放大尽调效率的工具;
最终判断尺度由用户来把(见 [references/rubric.md](references/rubric.md) 的"不可验证≠造假"与"复核 AI 自己的结论")。
> 责任声明:仅用于正当招聘/评估;只用候选人**公开**的资料;尊重隐私,结论要基于证据、对人公平。
---
## 完整流程 SOP
按顺序做。每一步都先收集证据,最后才下判断。
### 0. 起手:抽取简历主张 + 锁定可验证物
- 读简历(PDF/图片均可),抽出:学校/专业/年级/毕业时间、声称的项目与"我负责的部分"、声称的指标、GitHub/作品链接。
- **把简历当"待证伪的主张清单",不是事实。** 标出最唬人、最该验的几条(通常是"旗舰项目"和精确指标)。
### 1. 锁定真实 GitHub 账号
简历上的链接是第一可验证物,但常常**失效或改名**——这本身就是信号。
- 跑 `python scripts/find_github.py <简历handle> <邮箱> <姓名拼音>`:直连核验 handle、从邮箱前缀派生 handle、按姓名/变体搜索用户。
- 注意:① handle 404(死链)② 账号名与简历真名不符 ③ 账号是上个月才建 ④ 真号是 `<handle>-commits` 或邮箱派生名。**这些都要记进结论。**
- 找不到≠造假,但要先穷尽再下"不可验证"的结论(见 rubric 的"不可验证≠造假")。
### 2. 枚举仓库,先读元数据(元数据本身就会暴露很多)
- 跑 `python scripts/github_enum.py <handle>`:打印账号年龄、仓库数、followers + 每个仓库的 fork?/语言/体积/star/创建/更新/描述。
- 元数据级"照妖镜":
- **fork 占比**:一堆仓库大多是知名项目的 fork(框架、知名库、甚至学习资料)→ 把 GitHub 当书签,不是 builder。
- **体积**:号称复杂系统/平台却只有几十 KB → 大概率套壳玩具。
- **新鲜度**:账号/全部仓库都是最近一个月建的 → 可能临投简历突击包装。
- **简历里的"代表作"在不在**:精选项目一个都不在 GitHub 上 → 不可验证 / 注水。
### 3. Clone 实质仓库,逐行读真实源码
- 只 clone **OWN + 有代码量 + 与岗位相关**的:`git clone --depth 1 <url>`。
- **跳过**:知名项目的 fork、纯数据/资源仓库、模板套壳。大仓库用 `--filter=blob:none` 或只看代码目录。
- 读核心源码,别读 README 话术、别看 star。看架构是否真实落地(详见判断要点)。
### 4. 核实代码到底谁写的(关键)
- `git log --pretty='%an %ad %s' --date=short`、`git shortlog -sne`、`git log --author=<na