code-review
审查自某个固定基点(commit、分支、tag 或 merge-base)以来的改动,沿两条轴进行——标准(代码是否遵循本仓库记录的编码规范?)和规格(代码是否符合源头工单/规格的要求?)。两项审查在并行子 agent 中运行,并把结果并排报告。当用户想审查一个分支、一个 PR、进行中的改动,或要求「审查自 X…
Skill by WenWuZhiDao
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/wenwuzhidao-code-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/code-review
What's inside
- Skill name
code-review- Description
- 审查自某个固定基点(commit、分支、tag 或 merge-base)以来的改动,沿两条轴进行——标准(代码是否遵循本仓库记录的编码规范?)和规格(代码是否符合源头工单/规格的要求?)。两项审查在并行子 agent 中运行,并把结果并排报告。当用户想审查一个分支、一个 PR、进行中的改动,或要求「审查自 X 以来」时使用。
- License
- MIT
- Instructions
- 84 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
对 `HEAD` 与用户提供的某个固定基点之间的 diff 做双轴审查: - **标准** — 代码是否符合本仓库记录的编码规范? - **规格** — 代码是否忠实地实现了源头工单/规格? 两条轴都作为**并行子 agent**运行,这样它们不会污染彼此的上下文,然后本技能汇总它们的发现。 工单跟踪器应当已经提供给你——如果 `docs/agents/issue-tracker.md` 缺失,运行 `/setup-matt-pocock-skills`。 ## 流程 ### 1. 钉住固定基点 用户说的就是固定基点——一个 commit SHA、分支名、tag、`main`、`HEAD~5` 等等。如果他们没指定,就问。 把 diff 命令记下来一次:`git diff <fixed-point>...HEAD`(三点,这样比较是针对 merge-base)。同时通过 `git log <fixed-point>..HEAD --oneline` 记下 commit 列表。 在继续之前,确认固定基点能解析(`git rev-parse <fixed-point>`)且 diff 非空。坏的 ref 或空 diff 应该在这里失败——而不是在两个并行子 agent 内部失败。 ### 2. 确定规格来源 按以下顺序寻找源头规格: 1. commit 消息中的工单引用(`#123`、`Closes #45`、GitLab `!67` 等)——通过 `docs/agents/issue-tracker.md` 中的工作流获取。 2. 用户作为参数传入的路径。 3. `docs/`、`specs/` 或 `.scratch/` 下与分支名或功能匹配的规格文件。 4. 如果什么都找不到,就问用户规格在哪里。如果他们说没有规格,**规格**子 agent 将跳过并报告「无可用规格」。 ### 3. 确定标准来源 仓库里任何记录了代码应当如何编写的东西,比如 `CODING_STANDARDS.md` 或 `CONTRIBUTING.md`。 除了仓库记录的东西之外,标准轴始终携带下面这套**坏味道基线**——一组固定的 Fowler 代码坏味道(《重构》,第 3 章),即便一个仓库什么都没记录也适用。有两条规则约束它: - **仓库优先。** 有记录的仓库标准始终胜出;当它认可某件基线本会标记的东西时,压制那条坏味道。 - **始终是判断题。** 每条坏味道都是一个带标签的启发式(「可能存在 Feature Envy」),从不是硬性违规——而且,和这里任何标准一样,跳过工具链已经强制执行的东西。 每条坏味道读作*它是什么* → *如何修*;把它对照 diff 来匹配: - **Mysterious Name(神秘命名)** — 一个函数、变量或类型的名字没有揭示它做什么或持有什么。→ 重命名它;如果找不到诚实的名字,说明设计本身就模糊。 - **Duplicated Code(重复代码)** — 同样形状的逻辑出现在这次改动的多个 hunk 或文件中。→ 提取共享的形状,从两处调用它。 - **Feature Envy(依恋情结)** — 一个方法访问另一个对象的数据多于访问自己的。→ 把该方法移到它所依恋的数据上。 - **Data Clumps(数据泥团)** — 同样几个字段或参数总是一起出现(一个想要诞生的类型)。→ 把它们捆进一个类型,传那个。 - **Primitive Obsession(基本类型偏执)** — 一个基本类型或字符串在替代一个理应拥有自己类型的领域概念。→ 给这个概念它自己的小类型。 - **Repeated Switches(重复的 switch)** — 同样的 `switch`/`if` 级联针对同一类型在这次改动中反复出现。→ 用多态替换,或用两处共享的一个映射表。 - **Shotgun Surgery(霰弹式修改)** — 一个逻辑改动逼得你在 diff 中的许多文件里做零散的编辑。→ 把一起变化的东西聚拢进一个模块。 - **Divergent Change(发散式变化)** — 一个文件或模块因几个不相关的原因被编辑。→ 拆分,使每个模块只因一个原因而变化。 - **Speculative Generality(夸夸其谈的通用性)** — 为规格并不具备的需求添加的抽象、参数或钩子。→ 删掉它;内联回去,直到真实需求出现。 - **Message Chains(过长的消息链)** — 调用方不该依赖的长串 `a.b().c().d()` 导航。→ 把这段游走藏在第一个对象上的一个方法后面。 - **Middle Man(中间人)** — 一个大多只是向下转发的类或函数。→ 砍掉它,直接调用真正的目标。 - **Refused Bequest(被拒绝的遗赠)** — 一个子类或实现者忽略或覆盖了它继承来的大部分东西。→ 放弃继承,改用组合。 ### 4. 并行派发两个子 agent **标准子 agent 提示词** — 需包含: - 完整的 diff 命令和 commit 列表。 - 你在第 3 步找到的标准来源文件列表,**外加第 3 步的坏味道基线**全文粘贴进去——子 agent 没有其他途径获取它。 - 简报:「逐文件/hunk(在相关处)报告——(a) diff 违反某条记录标准的每一处:引用该标准(文件 + 规则);(b) 你发现的任何基线坏味道:命名它并引用该 hunk。区分硬性违规和判断题——记录标准的违反可以是硬性的,但基线坏味道始终是判断题,而且有记录的仓库标准覆盖基线。跳过工具链强制执行的东西。400 字以内。」 **规格子 agent 提示词** — 需包含: - diff 命令和 commit 列表。 - 规格的路径或获取到的内容。 - 简报:「报告:(a) 规格要求但缺失或部分实现的需求;(b) diff 中没有被要求的行为(范围蔓延);(c) 看似已实现但实现看起来有误的需求。为每个发现引用规格中的那一行。400 字以内。」 如果规格缺失,跳过规格子 agent,并在最终报告中注明这一点。 ### 5. 汇总 把两份报告放在 `## Standards` 和 `## Spec` 标题下呈现,逐字或稍作清理。**不要**合并或重新排序发现——两条轴是有意分开的(见「为什么分两条轴」)。 以一行摘要收尾:每条轴的发现总数,以及*每条轴内*最严重的问题(若有)。不要跨轴挑出一个单一的赢家——那正是这种分离所要防止的重新排序。 ## 为什么分两条轴 一个改动可以通过一条轴而在另一条上失败: - 遵循每条标准但实现了错误的东西的代码 → **标准通过,规格失败。** - 完全按工单要求去做但破坏了项目约定的代码 → **规格通过,标准失败。** 分开报告它们,可以阻止一条轴掩盖另一条。
From WenWuZhiDao/mattpocock-skills-zh, MIT.
More from WenWuZhiDao/mattpocock-skills-zh
- 0.612score
git-guardrails-claude-code
WenWuZhiDao
设置 Claude Code 钩子,在危险的 git 命令(push、reset --hard、clean、branch -D 等)执行前将其拦截。当用户想阻止破坏性 git 操作、添加 git 安全钩子,或在 Claude Code 中拦截 git push/reset 时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.607score
setup-pre-commit
WenWuZhiDao
在当前仓库中设置 Husky pre-commit 钩子,配合 lint-staged(Prettier)、类型检查和测试。当用户想添加 pre-commit 钩子、设置 Husky、配置 lint-staged,或在提交时添加格式化/类型检查/测试时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.606score
diagnosing-bugs
WenWuZhiDao
针对疑难 bug 和性能回归的诊断循环。当用户说「诊断」/「调试这个」,或报告某个东西坏了/抛异常/失败/变慢时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
scaffold-exercises
WenWuZhiDao
创建包含章节、习题、解答和讲解的练习目录结构,并能通过 lint 检查。当用户想搭建练习脚手架、创建练习存根,或新建一个课程章节时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
codebase-design
WenWuZhiDao
用于设计深模块的共享词汇。当用户想设计或改进一个模块的接口、寻找深化机会、决定接缝放在何处、让代码更可测试或更易于 AI 导航,或当另一个技能需要深模块词汇时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
prototype
WenWuZhiDao
构建一个用完即弃的原型来回答某个设计问题。当用户想核实一个状态模型或逻辑是否感觉对劲,或者探索某个 UI 该长什么样时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
wizard
WenWuZhiDao
生成一个交互式 bash 向导,引导人类完成只有他们才能执行的步骤。当配置基础设施、设置凭据或 CI 密钥、操作陌生的第三方仪表盘,或执行一次性迁移或切换时使用。不要为 agent 自己就能执行的步骤调用它。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
wayfinder
WenWuZhiDao
把一大块工作——超出单个 agent 会话所能容纳的量——规划为工单跟踪器上一张由决策工单构成的共享地图,逐个解决它们,直到通往目的地的路径变得清晰。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
tdd
WenWuZhiDao
测试驱动开发。当用户想测试先行地构建功能或修复 bug、提到「red-green-refactor」,或想要集成测试时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
to-tickets
WenWuZhiDao
把一个计划、规格说明或当前对话拆分成一组曳光弹式工单,每张声明它的阻塞边,发布到所配置的跟踪器——在本地为每张工单一个文件、边以文字形式,或在真实跟踪器上为原生阻塞链接。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
setup-ts-deep-modules
WenWuZhiDao
把 dependency-cruiser 接入一个 TypeScript 仓库,使每个包都成为深模块——实现隐藏在子文件夹里,只能通过其入口文件访问。用户触发。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
migrate-to-shoehorn
WenWuZhiDao
将测试文件中的 `as` 类型断言迁移到 @total-typescript/shoehorn。当用户提到 shoehorn、想替换测试中的 `as`,或需要部分测试数据时使用。
SkillBFreshness: B★ 29Claude Code +9
Signals
- Stars
- 29
- Forks
- 5
- Open issues
- 0
- Last commit (this folder)
- Aug 13, 2026 (2 months ago)
- Last release
- Aug 13, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from WenWuZhiDao
- 0.612score
git-guardrails-claude-code
WenWuZhiDao
设置 Claude Code 钩子,在危险的 git 命令(push、reset --hard、clean、branch -D 等)执行前将其拦截。当用户想阻止破坏性 git 操作、添加 git 安全钩子,或在 Claude Code 中拦截 git push/reset 时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.607score
setup-pre-commit
WenWuZhiDao
在当前仓库中设置 Husky pre-commit 钩子,配合 lint-staged(Prettier)、类型检查和测试。当用户想添加 pre-commit 钩子、设置 Husky、配置 lint-staged,或在提交时添加格式化/类型检查/测试时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.606score
diagnosing-bugs
WenWuZhiDao
针对疑难 bug 和性能回归的诊断循环。当用户说「诊断」/「调试这个」,或报告某个东西坏了/抛异常/失败/变慢时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
to-tickets
WenWuZhiDao
把一个计划、规格说明或当前对话拆分成一组曳光弹式工单,每张声明它的阻塞边,发布到所配置的跟踪器——在本地为每张工单一个文件、边以文字形式,或在真实跟踪器上为原生阻塞链接。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
codebase-design
WenWuZhiDao
用于设计深模块的共享词汇。当用户想设计或改进一个模块的接口、寻找深化机会、决定接缝放在何处、让代码更可测试或更易于 AI 导航,或当另一个技能需要深模块词汇时使用。
SkillBFreshness: B★ 29Claude Code +9 - 0.604score
prototype
WenWuZhiDao
构建一个用完即弃的原型来回答某个设计问题。当用户想核实一个状态模型或逻辑是否感觉对劲,或者探索某个 UI 该长什么样时使用。
SkillBFreshness: B★ 29Claude Code +9
Cite this page
code-review skill. Agent Mart. https://agentmart.dev/skills/wenwuzhidao-code-review (last updated 2026-10-24)