yzr95924/yzr-skill

yzr-coding-review

当用户要和 agent 一起 review 一段现有代码时使用本 skill——审视代码合理性 + 找重构机会, 语言中立、聚焦设计层判断(而非正确性 / 机械检查)。默认对话式结论、不主动改文件;要报告 存档 / 大范围体检可出分级报告,发现多可逐条过。 触发:用户说"review / 重构 / 看看这段代码合不合理 / 陪我一起 review / 这段设计有没有 问题";连续写完一批代码后由用户或 agent 主动询问是否需要巡检。 不适用:执行用户已给明确改法的单点修改(如"把 data1 改成 user_data")/ 加新功能 / 改 bug / 性能调优(profile / benchmark 专项)/…

First seen Aug 15, 2026

Installation

$ npx skills add yzr95924/yzr-skill --skill yzr-coding-review

Summary

  • 当用户要和 agent 一起 review 一段现有代码时使用本 skill——审视代码合理性 + 找重构机会,
  • 语言中立、聚焦设计层判断(而非正确性 / 机械检查)。默认对话式结论、不主动改文件;要报告
  • 存档 / 大范围体检可出分级报告,发现多可逐条过。
  • 触发:用户说"review / 重构 /…

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from yzr95924/yzr-skill · top by installs.

npx skills add yzr95924/yzr-skill

Browse all from yzr95924/yzr-skill

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch master
Open issues 1
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

More metadata
author
Zuoru YANG
category
code-quality

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,251 B
  • docs SUMMARY.md 807 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 11 installs

SKILL.md

yzr-coding-review

输入 / 输出

输入(任一形态):

  • 完整代码段(直接粘贴)
  • 文件路径(agent 自己读)
  • git diff / patch(只 review 改动)
  • 项目根目录 + 范围(文件 / 模块 / 类过滤)

输出: 三种产物(对话式分析回答 / 报告形态 / 逐条过),按用户意图路由——各形态定义、 结构模板与切换规则见「工作流 / 步骤」Step 4–6,此处不重抄。

执行原则 / 边界

  1. 不主动改文件: 产出是结论 / 报告,用户点头后才走具体重构
  2. 每条发现可追溯: 每条发现映射到至少 1 个 catalog 场景名 / 合理性卡片名
  3. 合理性维度收敛: 只审 设计意图与职责 / 边界条件与错误处理 / 可读性 三个维度;不越界到

bug 修复 / 性能调优执行 / 安全审计(发现这些信号时指出"建议另行专项处理",不展开); 机械可判定项(风格规则 / 格式 / TODO / 文档字符串)归 CI,不占发现项

  1. 产物留在对话内: 报告 / 结论不落成文件,不主动持久化

评审立场

  • 资深工程师标准: 按生产代码的维护成本审,每条发现给直接结论 + 理由,不模棱两可,不为照顾情绪放水
  • 敢于质疑框架: 问题根因在抽象层 / 模块划分而不在局部写法时,明确指出"局部重构不够,建议结构性调整"并给出方向;不给完整新设计(那是重写,越界),动手仍等用户点头
  • 回到存在理由: 每条判断先问这段代码为什么存在、服务什么场景、删掉 / 合并损失什么;catalog 是召回清单,不是套用模板
  • 洁癖但克制: 高标准不等于凑数——Minor / Nitpick 级发现合并报或放入"不报告项",主表保信噪比
  • 一次看全: 评审时反复自问"当前方案是不是最合理的解法",逻辑 / 结构 / 边界 / 计算经济性看透再下结论;一次输出完整判断,不做表面巡检、不靠多轮往返补齐发现

工作流 / 步骤

Step 1: 收集代码

解析输入(代码段 / 路径 / diff / 范围),确定语言 + 行数;行数 > 500 时与用户确认分段粒度(按文件 / 按类 / 按函数)。

Step 2: 加载参考

必读 references/catalog.md(场景表);按需读 references/severity-rubric.md(判定严重度时)。

Step 3: 走 catalog 补充

LLM 用 catalog 重构场景卡 + 合理性审视卡片补齐设计层问题;每条映射到 ≥ 1 个场景名 / 卡片名。

Step 4: 形态路由

默认进 对话式分析回答(Step 5);用户明确要报告或大范围体检(多文件 / 遗留代码)→ 进 报告形态(Step 6);形态可中途切换。

Step 5: 对话式分析回答(默认)

  1. 理解复述: 先用 2-4 句向用户讲清这段代码在做什么(功能意图)与怎么做到的(结构 / 控制流),拿不准处显式说"这里我理解为 X,若不对请纠正"。为什么: 理解偏了,后面所有发现都是空转——用户纠正理解时,基于纠正重审再列发现,不硬撑原判断
  2. 结论先行: 一句话给出"有没有优化空间"(没有 → 说明理由,收尾)
  3. 列要点: 按严重度从高到低;发现 ≤ 3 条直接给全(位置 + 场景·卡片名 + 理由 + 建议);> 3 条给 top 概览
  4. 收尾问询: 发现多时问"逐条过一遍还是出一份报告存档";逐条过按严重度从高到低逐条呈现,每条等用户表态:

- 确认 → 记为"接受",下一条 - 改判 → 按用户意见修正严重度或内容,下一条 - 跳过 → 记为"跳过",下一条 - 追问 → 展开讲清该条后再回到该条表态

  1. 逐条过完全部后输出汇总(接受 / 改判 / 跳过 计数 + 采纳清单),询问是否生成报告存档或进入具体重构

Step 6: 报告形态

开头先给一段整体理解(口径同 Step 5 第 1 步,不超过一段),再按 references/report-template.md 两档输出;严重度查 references/severity-rubric.md;末尾问用户要不要细化 / 跳过 / 改判 / 切对话逐条过。

参考样例

简短示例 — 对话式分析回答(默认)。用户输入:

帮我 review 一下 src/parser.py(80 行 Python 解析器)

skill 回答:

先说我的理解: 这是一个订单解析器——process() 逐行读入订单数据,拆字段后校验数量与单价,再计算总价并打印;解析 / 校验 / 计算三个语义段都内联在同一个大函数里。

基于这个理解,有优化空间,3 个要点:

1. Major — parser.py:1 Extract Method:process() 62 行内嵌 3 个语义段,建议抽 parselines() / calctotal()
2. Minor — parser.py:14 Magic Literal:0.9 / 100 / 0.95 / 1000 改成具名常量
3. Major — parser.py:6 Introduce Parameter Object:(qty, price) 重复 4 处,改 dataclass

要逐条过一遍,还是出一份报告存档?

简短示例 — 逐条过。用户输入:

陪我一起 review 一下 src/parser.py,逐条过

skill 第一条:

1/4 · Major — parser.py:1 Extract Method:process() 62 行内嵌 3 个语义段
(计算总价 / 校验 / 打印),建议抽 calctotal()validateorder()。接受 / 改判 / 跳过?

用户: 跳过,后面 3 行是核心逻辑。 skill: 记下,下一条 —— 2/4 · Minor …(循环至汇总)