开发与工程 repo-auditdocumentation-driftci-workflowgithub-actionscode-reviewoutput-only

Upkeep 仓库审计技能

为代码仓库配备一支 AI 审计小组,自动发现文档、规格与资产随代码漂移的问题,并附带证据输出报告——只报告,从不改动文件。

FollowSkills 评估 · FSRS-2.0
谨慎使用
56/ 100 五分制 2.8 / 5
1 2 3 4 5 6
1信任安全15 / 25 · 3.0/5

技能声明为纯输出型(从不修改目标仓库),明确要求报告写入目标仓库之外,回滚策略(缓存检出可丢弃重克隆)清晰,数据流(克隆 wei18/upkeep、npm ci、本地运行 claude CLI)披露充分。扣分点:首次使用会自动从远程仓库克隆并执行 npm ci 与 claude 子进程,未经用户显式确认;对 ~/.cache/upkeep 内容的供应链完整性未做校验(无固定 revision/校验和),故未达满分。

2可靠稳定10 / 20 · 2.5/5

SKILL.md 路径清晰:检出缺失/分叉均有处理分支,npm ci 幂等要求明确,需求缺失时要求告知用户而非静默失败。扣分点:关键路径(local-audit.sh、reviewer 子进程)未在静态审查中可复现验证,异常输入下的失败反馈质量只能凭文档推断,触顶10分。

3适用触发10 / 15 · 3.3/5

description 精确声明触发场景(审计仓库、检查 docs/spec/asset 漂移、无 CI 运行 upkeep),非适配范围(不修改代码)明确;支持 en 与 zh-TW rubric。扣分点:核心功能完全依赖 claude CLI 订阅与 GitHub 克隆,对无订阅用户不可用;简体中文仅在文档层,rubric 语言不含 zh-CN。

4规范维护10 / 15 · 3.3/5

MIT 许可、版本号 2.1.1、多语言文档、设计文档齐备,配置分层(workflow inputs vs .claude/audit.yml)说明清楚。扣分点:package. 版本为 0.0.0 与 plugin. 2.1.1 不一致;维护者单人(wei18),更新路径依赖个人仓库,未声明长期维护责任。

5有效结果6 / 15 · 2.0/5

输出形态明确(按严重度分组的终端摘要 + 自包含 HTML 报告),与 CI 等价、与手动运行对比清晰,'永不编辑' 的定位有差异化价值。扣分点:静态审查无法验证报告实际可用性与正确性,每次审计消耗订阅额度,成本收益证据有限,触顶7分以下取6。

6证据核验5 / 10 · 2.5/5

仓库含真实 CI(ci.yml 运行 build+test)与提交的测试套件(action-pins、all-rubrics、ci-workflow-structure 测试覆盖 rubric 完整性与 workflow 权限),并引用自审计 run 作为执行证据。扣分点:测试覆盖的是仓库自身规范性而非审计产出质量,skill 关键路径的第三方复现证据仍缺失,静态上限5分。

证据充分度: 评估于 2026年9月10日 审查版本 66e2c18ab616
使用前请注意
  • 首次运行会自动克隆远程仓库并执行 npm ci 与 claude 子进程,建议首次使用前人工检查 wei18/upkeep 的脚本内容。
  • 核心功能依赖 Claude Pro/Max 订阅与 GitHub 可达性;中国大陆网络访问 GitHub 可能不稳定,且无独立 API 计费选项。
  • rubric 语言仅支持 en/zh-TW,简体中文用户获得的是英文审计输出;README 有简中翻译但产品本身不含 zh-CN。
  • ~/.cache/upkeep 缓存无固定 revision 或校验和,运行内容随上游仓库变动。
  • package. 版本(0.0.0)与 plugin. 版本(2.1.1)不一致,升级追踪时以 plugin. 为准需自行确认。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

Upkeep 是一个以 Agent Skill 形式安装的仓库级语义漂移审计工具。它并行派出多个聚焦的 AI 审查器,检查过时文档、与实现不符的规格、孤立资产、多语言 README 不同步等问题,并以证据和严重程度分级输出结果。它完全只读:报告漂移但绝不编辑或删除目标仓库的任何文件。可以在本地用 claude CLI 运行(复用 Claude Pro/Max 订阅,无需单独的 API 账单),也可以作为可复用的 GitHub Actions 工作流或 Marketplace Action 定期在 CI 中执行,并在 GitHub 上维护一个不重复的跟踪 issue。

首次运行时将 Upkeep 引擎克隆到 ~/.cache/upkeep 并安装依赖;随后对目标仓库执行完整的审计流水线(发现 → 并行审查器 → 汇总 → HTML 报告)。审查器包括 docs_staleness(文档漂移与多语言 README 失同步)、code_hygiene(死代码、无用导出、永久遗留的注释块)、spec_flow(规格/图表与实现不符)、visual_icon(过时图片与图标)、duplicate_orphan(重复文件与未引用资产)、convention(违反仓库自身约定)以及默认关闭的 i18n。输出为聊天中的分级摘要和一份自包含的 upkeep-report.html;CI 模式下额外生成一个会被更新(而非重复创建)的 GitHub issue。审查器启用与严重度阈值通过被审计仓库中的 .claude/audit.yml 配置。

  1. 维护活跃开源项目的开发者,想在每周定时 CI 中自动发现 README 承诺与代码行为不一致的语义漂移
  2. 维护多语言文档(如英文 + 简体中文/繁体中文/日文/韩文 README)的团队,需要检查译文是否与原文失同步
  3. 接手他人遗留代码库的工程师,想先全面盘点死代码、孤立资产和违规约定,再开始重构
  4. 已订阅 Claude Pro/Max、不想为代码审查另付 API 费用的独立开发者,可在本地对任意仓库路径按需运行审计
  5. 使用 Cursor、Copilot 等 70+ 种支持 skills 标准代理的用户,希望通过 npx skills add 安装同一套审计能力

这个 Skill 有哪些优点和局限?

优点
  • 只输出报告,绝不修改或删除目标仓库的任何文件,可放心对任意路径运行
  • 复用 Claude Pro/Max 订阅,无需 Anthropic API key 或按 token 计费
  • 整仓库语义审计:能发现 linter 和 PR 审查机器人覆盖不到的文档—代码漂移
  • 同一套流水线提供三种运行方式:Agent Skill、本地脚本、可复用 CI 工作流或 Marketplace Action
  • CI 中以 upsert 方式维护单个跟踪 issue,不会重复堆积;HTML 报告自包含、便于归档
局限
  • 硬性依赖已登录的 claude CLI(Claude Pro/Max 订阅),没有该订阅完全无法使用
  • 审计需运行数分钟,且审查器以多个 claude -p 子进程并行执行,本地资源占用较高
  • Marketplace Action 模式下审查器串行执行,速度慢于可复用工作流的并行模式
  • 来源中未提供独立的测试套件或第三方基准数据,审计准确度无法事先验证
  • CI 的 HTML 报告以 workflow artifact 形式保存,会随仓库保留策略过期

如何安装这个 Skill?

Claude Code:在会话中依次执行 /plugin marketplace add wei18/upkeep 和 /plugin install upkeep@upkeep。其他代理(Cursor、Copilot 等):运行 npx skills add wei18/upkeep --skill upkeep-audit。也可手动把 skills/upkeep-audit/ 目录复制到 ~/.claude/skills/。前置要求:已登录的 claude CLI(Pro/Max 订阅)、Node 20+、git;CI 模式另需仓库 secret CLAUDE_CODE_OAUTH_TOKEN(用 claude setup-token 生成)。

如何使用这个 Skill?

安装后在任意会话中直接说:"Run an upkeep audit on /path/to/repo"。技能会自动克隆引擎到 ~/.cache/upkeep、安装依赖,然后运行审计(需要几分钟,审查器以并行 claude -p 子进程执行),最后按严重程度(高→中→低)逐条给出问题及其文件路径,并给出 upkeep-report.html 的绝对路径。也可不走代理,直接运行脚本:./scripts/local-audit.sh /path/to/repo --out ~/upkeep-report.html;注意若当前目录在目标仓库内,需用 --out 把报告写到仓库外,因为审计绝不向目标仓库写入。本地运行不会创建 GitHub issue。

这个 Skill 与同类方案有什么区别?

README 自己明确区分了同类工具:Danger 只检查你手写规则的 PR diff;Copilot/Cursor 的 PR 审查只看 diff 中的代码问题并建议修改;Upkeep 则是整仓库的语义漂移审计器,按仓库自身约定出报告、从不改代码,按计划或按需运行而非按 PR 触发。

常见问题

运行 Upkeep 需要额外付费吗?
不需要单独的 API 账单。它使用已登录的 claude CLI(本地)或 CI 中的 claude setup-token OAuth 令牌,用量计入你现有的 Claude Pro/Max 订阅。
它会修改我的代码吗?
不会。Upkeep 是 output-only 的:只报告漂移和证据,从不编辑或删除目标仓库文件;报告默认输出到 ./upkeep-report.html,若工作目录在目标仓库内,技能会通过 --out 把报告写到仓库外。
CI 运行需要哪些权限和配置?
需要 contents: read、issues: write、id-token: write 三个权限,以及名为 CLAUDE_CODE_OAUTH_TOKEN 的仓库 secret(用 claude setup-token 生成)。审查器启用等审计内容由被审计仓库中的 .claude/audit.yml 控制,全部可选。
如果 ~/.cache/upkeep 的克隆坏了怎么办?
该目录是一次性的:git pull --ff-only 失败(分叉或脏检出)时,删除 ~/.cache/upkeep 并重新克隆即可,之后运行 npm ci。

相关 Skills