本文へ移動
cccskills
無料GitHub で公開

github-audit

GitHub/GitLab 贡献真实性核验:逐个查看 PR 的实际 diff、按领域与深度分类统计、核对贡献量级与"Contributor/核心贡献者/Maintainer"类表述是否相符,识别刷绿、刷 PR、刷 star 与领域错配(如自称 AI Infra 实则全是前端提交)。

凡是要评估某人 GitHub 的含金量就使用本技能——包括用户说"他这个 GitHub 怎么样""这个 contributor 有多少水分""开源经历值多少""帮我看看这个账号"时。也在 /resume-audit 需要核验代码托管材料时调用。

インストール方法を見る

含まれるファイル(4)

  • SKILL.md9.4 KB
  • references/contribution-red-flags.md9.4 KB
  • references/domain-attribution.md10.2 KB
  • references/quick-metrics.md12.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/github-audit:GitHub 贡献真实性核验

简历上的"开源贡献"是最容易被误读的一栏:仓库越有名,HR 越容易高估;而 GitHub 的公开数据恰恰能让这件事被精确核实。

本 skill 的核心原则是:看 diff,不看数字。PR 数量、star 数、绿格子密度都可以被廉价地做出来,唯有每个 PR 实际改了什么代码无法伪装。

边界

  • 只访问候选人在简历或沟通中主动提供的账号/仓库链接。绝不根据姓名、拼音、邮箱前缀去搜索猜测账号——同名账号极多,误认的后果是把无关的人的行为归到候选人头上。
  • 只读公开信息。不尝试访问私有仓库,不通过任何手段推断私有活动。
  • 不核验与技术能力无关的内容(候选人 star 过什么项目、follow 了谁、在什么议题下发过言)。这些既不相关也涉及隐私。
  • GitHub 活跃度低完全不是负面信号。大量优秀工程师的产出全在公司内网。只有当简历主动声称了开源贡献时,本核验才适用。

核验流程

第一步:确认账号归属

在核验任何内容前,先确认这个账号确实是候选人的。可接受的归属证据:简历中直接写明的链接、账号 profile 中与简历一致的姓名/学校/公司信息、个人网站与账号的互相链接。

归属存疑时停止核验,在报告中写"账号归属无法确认,未做核验"。宁可不查,不可查错人。

第一步半:速查粗筛(先做这个,再决定细看哪些)

逐个开 PR 看 diff 准确但慢。先按 references/quick-metrics.md 花几分钟做量化粗筛,决定把精力投在哪里:

  1. 先查两项硬证据(若简历声称 Maintainer / 核心作者):目标仓库根目录有无 MAINTAINERS/CODEOWNERS/OWNERS 且名单含候选人;Releases 页有无候选人作为发布者。这两项能最快证实高强度身份主张。
  2. 按 owner 分叉:在 github.com/pulls?q=is:pr+author:{用户名}+is:merged 里,先剔除打向自己仓库的 PR,剩下的才是可核验的外部贡献。
  3. 看比例,不看个例:统计外部 PR 中文档类的占比(用 Files changed 的文件后缀机械判定)。
  4. 蹭明星项目核验:声称贡献过某知名项目时,直接看 /{org}/{repo}/commits?author={用户名} 的 commit 数。

粗筛结果决定细看范围:占比异常或身份主张强的,再进入第二步逐个开 diff。

第二步:贡献类型分布(核心)

先读这条纪律:单个小 PR 不构成任何信号。 实测中 58% 的开发者都至少有一个琐碎的外部 PR,而"多数 PR 都琐碎"的只有 0.4%。任何惩罚"提过小 PR"这个事件的判断,都是为了抓极少数人而误伤绝大多数人。

因此报告里不要写"该 PR 为 T0 级",要写"N 个外部 PR 中 T0/T1 占比 X%"。造假是账号历史的比例属性,不是单个 diff 的事件属性。

打开候选人在外部项目(非自己的仓库)的 PR,查看实际 diff。建议按两个正交轴分类——类型轴(文档 / 表现层 / 核心代码,可按文件路径机械判定)× 深度轴(下表)。把"改 README 里的架构说明"和"改架构代码"放在同一个梯子上会失真:

类型判定标准含金量
T0 文本类错别字、标点、Markdown 格式、坏链接、注释排版正当贡献,但不构成技术能力证明
T1 文档类补充文档内容、示例说明、翻译、README 结构调整说明读懂了项目,有一定理解
T2 配置/构建类CI 配置、依赖升级、构建脚本、lint 规则需要一定工程理解
T3 测试类补充测试用例、修复 flaky test需要理解被测逻辑
T4 缺陷修复修复实际 bug,含逻辑改动实质技术贡献
T5 特性/架构新增功能、重构模块、性能优化、参与设计讨论强技术贡献

关键判断:把统计结果与简历表述对照。

简历表述实际分布结论
"为 XX 项目贡献文档修正"T0/T1 为主已核实 —— 如实描述
"XX 项目 Contributor"T0/T1 为主疑似 —— 技术上成立但易致误解,建议面试澄清贡献性质
"XX 项目核心贡献者 / 参与核心模块设计"全部 T0/T1部分属实 —— 表述与实际贡献量级存在明显落差
"主导 XX 模块重构"有对应 T5 PR 且已合并已核实 —— 核验通过

必须写进报告的免责说明:T0/T1 贡献是完全正当且对社区有价值的开源参与,不应被贬低。本核验针对的只是表述与实际的落差,不是贡献本身。

第二步半:领域归属(简历有方向自称时强制)

上一步的类型分级(文档/表现层/核心代码 × T0–T5)测的是贡献分量,测不出贡献领域。.tsx 是"核心代码类"满分——但它是前端。

简历一旦出现方向性自称(AI Infra、推理优化、分布式存储、某某 Runtime Owner),必须按 references/domain-attribution.md 统计改动行数的领域分布,并与自称对照。

速记:按路径判领域,不按语言;.py 可能是训练脚本也可能是 Web 后端,.ts 可能是前端也可能是 Node 服务。

第三步:识别刷量模式

读 references/contribution-red-flags.md,逐条比对。重点看:

  • 广度优先型:在大量不同仓库各提 1 个极小 PR,追求"参与项目数"而非深度;
  • 知名度导向:所选仓库高度集中在 star 数最高的明星项目,且改动均极小——目标是简历上能写出的仓库名;
  • 时间聚集:全部贡献集中在求职季前的短窗口内,此前此后无活动;
  • 合并状态混淆:简历写"贡献被采用",但 PR 实际状态是 open 或 closed(未合并)。这一条可以给出较强结论,因为 PR 状态是客观的。

第四步:自有仓库核验

对候选人自己的仓库(简历上作为项目展示的):

  • 提交历史形态:是长期渐进式开发,还是少数几个巨型 commit 一次性推上来?后者常见于把已完成代码(含他人代码)一次性导入。这不必然有问题(从私有仓库迁移、初次开源都会这样),但值得追问。
  • 首次 commit 时间 vs 简历声称的项目时间:明显矛盾时构成硬证据。
  • 是否为 fork:fork 来的仓库若在简历中被表述为自研项目,是明确问题。注意区分:基于开源项目做二次开发并说明来源,是正当行为。
  • 代码风格一致性:整个仓库的命名、注释、错误处理风格是否统一。风格断层可能意味着代码来源混杂——但不能据此下结论,团队协作、AI 辅助、不同时期的自己都会造成风格差异。

第五步:Star 与关注度核验(谨慎)

若简历以 star 数作为成果指标:

  • 查看 stargazers 列表的账号特征——大量注册时间接近、无任何其他活动、无头像的账号,是刷 star 的信号;
  • 查看 star 的增长曲线是否存在异常陡峭的孤立尖峰;
  • 注意区分:项目被某个技术周刊、热榜、大 V 转发也会造成尖峰,这是正常的。

这一维度极易误判,结论上限为"疑似",且必须写明其他可能性。

输出

### GitHub 贡献核验

**核验对象**:[账号链接],归属确认方式:[如何确认是候选人本人]
**核验范围**:外部项目 PR N 个(已全部打开查看 diff)、自有仓库 M 个

**贡献类型分布**:
| 类型 | 数量 | 代表 PR |
| T0 文本类 | 12 | [链接](改动:README 3 处错别字) |
| T4 缺陷修复 | 1 | [链接](改动:修复 XX 空指针) |
| ... |

**简历表述对照**:
- 简历原文:"..."
- 实际情况:...
- 结论:[档位]
- 其他可能的解释:...

**其他发现**:[时间聚集 / fork 情况 / 合并状态 等]

**本维度免责**:文档类贡献是正当的开源参与;本核验只针对表述与实际的落差。

常见误判警示

观察不能推出的结论
绿格子稀疏不能推出"不写代码"——公司代码不在 GitHub
绿格子全绿不能推出"高产"——也不能推出"刷的",需看提交内容
PR 数量少不能推出"能力差"——一个高质量 PR 胜过百个 typo
只有 typo PR不能推出"造假"——只能说明表述若为"核心贡献者"则不符
代码风格不统一不能推出"抄的"——多种正常原因均可致此
仓库无 star不能推出"项目差"——star 与质量弱相关
深夜/周末提交多不能做任何推断——涉及作息隐私,且与能力无关

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

技术博客与公开技术输出的原创性核验:整段正文逐字检索比对来源、全量标题批量筛查、分层抽样给出可复现的命中率,判断内容是原创实践还是未标注的搬运,并与简历经历做时间与内容交叉印证。凡是要评估某人技术写作的真实性或含金量就使用本技能——包括用户说"他博客写得怎么样""这些文章是不是抄的""原创 200 篇是真的吗""公众号/掘金/CSDN 这些内容可信吗"时。

日本語の概要は準備中です。原文の説明を表示しています。

shaokeyibb/anti-asu-skills282026年8月25日 更新

学术、竞赛与资质凭证核验:对论文、专利、竞赛名次、职业证书、开源社区身份、公开 benchmark 成绩逐条比对权威公开源,核对作者顺序、名次分母与定语、专利法律状态、头衔层级,识别申请写成授权、Workshop 写成主会、省略分母等拔高手法。凡是简历上出现可对外部权威源核对的凭证就使用本技能——包括用户说"他这个论文是真的吗""这个竞赛奖含金量如何""专利查得到吗""他说自己是 Committer 靠谱吗"时。

日本語の概要は準備中です。原文の説明を表示しています。

shaokeyibb/anti-asu-skills282026年8月25日 更新

grill

無料

面试官出题技能:基于最难核验或最可疑的经历,生成 3—6 道扎在候选人自己项目具体实现细节上的追问题,通过锚定私有细节、反事实推理、错误前提陷阱、现场量级估算四种机制让通用 AI 难以代答,并附参考答案要点、评分标准、典型错误回答与"答不上来不说明什么"。凡是要为一次面试准备问题就使用本技能——包括用户说"面试该问他什么""帮我准备几个问题""怎么问才能问出他是不是真做过""出几道能压住他的题"时。

日本語の概要は準備中です。原文の説明を表示しています。

shaokeyibb/anti-asu-skills282026年8月25日 更新

批量简历生产线识别:在一批简历中检测版式、句式、项目组合、开源模式的结构性雷同,识别可能出自同一简历工具或培训模板的群体,产出的是"这些共性表述不具备区分度"的提问策略建议,绝不用于淘汰任何候选人。凡是同时面对多份简历要做批量判断就使用本技能——包括用户说"这批简历怎么都长一个样""这几个人是不是一个班出来的""帮我筛一下这十份简历"时。

日本語の概要は準備中です。原文の説明を表示しています。

shaokeyibb/anti-asu-skills282026年8月25日 更新

项目经历真实性与质量核验:核对项目实际代码与简历描述是否吻合、复杂度与声称难度是否匹配、个人贡献边界、是否有真实使用痕迹,并比对同质化项目难度基准表判断简历描述强度是否超出该类项目的典型范围。凡是要判断一个项目的真实分量就使用本技能——包括用户说"这项目有多难""是不是套模板的""这个项目能说明什么水平""他是不是真做过"时。

日本語の概要は準備中です。原文の説明を表示しています。

shaokeyibb/anti-asu-skills282026年8月25日 更新

面向招聘方的简历核验主入口:读取候选人简历及其主动提供的 GitHub、项目、博客、论文链接,逐条核验强主张,识别经历包装、范围拉伸、开源刷量、时间线冲突,输出七档证据分级报告并生成带坑的面试题。凡是收到一份简历要判断真假、含金量或该不该面,都应使用本技能——包括用户只说"帮我看看这份简历""这个人靠谱吗""这简历有没有水分""值不值得约面""帮我背调一下""这个候选人怎么样"而没有说"核验"二字时。也适用于用户以面试官或 HR 身份评估候选人材料的任何场景。

日本語の概要は準備中です。原文の説明を表示しています。

shaokeyibb/anti-asu-skills282026年8月25日 更新

shaokeyibb のスキルをすべて見る

このスキルの問題を報告する