跳到正文
cccskills
免费在 GitHub 公开中文介绍

ponytail-review

审查代码变更及其调用方,检查缺陷、安全风险、负载问题、测试缺失、速度和多余实现,按优先级报告具体故障场景、最小修复方案及未修复的影响。

原文查看原文说明

Quality review of a change: is the logic right, is it safe, does it hold under real load, is risky code tested, is it fast enough, and is every line needed. Reads the connected code, not only the diff. Each finding is explained in plain English. Use for "review this", "code review", "review the last commit", "review my PR", "is this over-engineered", /ponytail-review.

AI 评分100分/ 100查看安装方法

适用场景

  • 审查PR或最近一次提交
  • 检查安全与数据丢失风险
  • 检查预期负载下的问题和测试缺失
  • 排查重复代码和多余实现

中文介绍

功能

ponytail-review检查代码变更中的问题,并生成按优先级排列的审查报告。它不仅阅读差异,还会查看调用方、相关函数、测试和README,追踪数据流向。检查范围包括正确性、安全性、预期负载下的表现、测试、速度和实现是否简洁。每条问题都会附上具体的故障场景、最小修复方案,以及不处理时的影响。

适用场景

适合审查PR或最近一次提交,也适合确认某项变更是否破坏了其他处理流程。您还可以用它检查代码中是否增加了重复内容或不必要的机制,以及设计是否符合预期使用规模。

使用示例

  • “请审查这个PR,按优先级列出需要修复的问题。”
  • “请检查最后一次提交是否存在安全问题或数据丢失风险。”
  • “请检查这次变更中是否有多余实现或重复代码。”

注意事项

此技能只报告问题,不修改代码。未指定审查对象时,会检查尚未提交的变更;如果没有,则检查最后一次提交。报告使用浅显的英语,并说明采用的负载假设和未能核实的事项。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

客观评估

AI 仅根据 SKILL.md 的内容,从 4 个方面进行了评估。星标数和热度不计入评估。

指令清晰度能否看出何时使用、做什么
A良好明确说明审查对象的选择方法,以及从正确性到简洁性的检查范围。
步骤具体性步骤、输入输出和示例是否具体
A良好提供调查、核实问题和报告的步骤,以及按优先级分组的输出示例。
安全性发送数据、删除文件、执行命令等是否有说明
A良好末尾明确限定只列出问题,不修改代码。
安装难易度所需工具和 API 密钥是否少且有说明
A良好流程以阅读代码和差异为主,未指定额外工具或API密钥。

总分按每项 A=25 分、B=15 分、C=5 分相加。 由 AI(OpenAI Codex)于 2026年10月20日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(1)

  • SKILL.md5.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Review a change like the senior developer who will be paged when it breaks. Order of importance: correct, safe, holds under load, tested, fast, lean. Lean still matters: every extra line must be read, tested and fixed later. This is a report the user asked for, so give it in full.

1. Understand first

  • Review what the user names: uncommitted or staged changes, a branch, a PR link, or files. Nothing named: the uncommitted changes, or the last commit if there are none.
  • Read the diff, then the code it touches: callers of every changed function, the functions it calls, the tests, the README.
  • Trace the real flow: where data comes in, what is stored, what goes out.
  • A change can break code it does not touch. When a signature, return value or behavior changes, grep every caller.
  • Find the expected load in the repo (README, deploy config): one person running a script, or many users and processes at once. Judge scale against that, and say which load you assumed.

2. Look for

  1. Bug: wrong result, crash, missed edge case (empty, zero, last item, rounding, time zones), a caller broken by the change, a fix applied in one caller while the shared function stays broken.
  2. Risk: security holes (injection, weak randomness, secrets, missing checks on input from users), data loss (errors swallowed, writes in the wrong order, no transaction).
  3. Scale: fine for one user, wrong for many: check-then-write races, the same work done by every process, memory or lists that only grow, a query per item, O(n^2) on big input, per-process state that must be shared.
  4. Missing test: risky new logic (a branch, a parser, money, security, data writes, a bug fix) with no test that fails when it breaks. One good test, not coverage.
  5. Speed: big slowdowns are problems. Small wins (work repeated in a hot loop) are suggestions; some software counts every millisecond.
  6. Lean: code that should not exist or should be smaller.
    • delete: dead code, unused options, speculative features
    • reuse: the repo already has this helper (name the path)
    • stdlib / native: the standard library or platform already does it; a new dependency for a few lines
    • yagni: abstraction with one implementation, config nobody sets
    • merge: near-copies that must change together
    • split: one function doing several unrelated jobs, so it is hard to read or test. Split by job, never by line count, and never into helpers that exist only to make a function shorter.

3. Check before you report

  • Every finding needs a concrete case: "this input or situation leads to this wrong result". No case, no finding.
  • Re-read the lines and confirm: the caller exists, the value can really be empty, the code really is unused.
  • A shortcut marked with a shortcut: (or older ponytail:) comment that names its limit is a decision, not a finding, unless the expected load already crosses it.
  • Propose the smallest fix that works. Prefer fixes that delete code. Never add layers, frameworks or config the problem does not need.
  • No style taste, no "consider", no vague worries.

4. Output

Very simple English: short sentences, everyday words. Explain a technical term the first time you use it. The reader may never have seen this code.

Start with What this change does: in two or three sentences.

Then the findings in three groups, skip empty groups:

  • Must fix: bug, security, data loss, breaks at the expected load.
  • Should fix: risky code without a test, real slowness, duplication, a function that mixes jobs, code that should not exist.
  • Nice to have: small speed-ups, shorter forms.

Number findings across all groups, so the user can say "fix 2 and 5". Every finding has all four parts, each one or two short sentences:

  1. Orders land on the wrong day (billing/close_day.py:L40-52)
    • What this is: At midnight this job closes the day and bills all orders of that day.
    • Problem: It takes "today" from the server clock, which runs in UTC. An order placed at 00:30 in Berlin is billed on the day before.
    • Fix: Compute the day once in the shop's time zone: datetime.now(ZoneInfo("Europe/Berlin")).date(). One line, nothing else changes.
    • If we skip it: Late orders show the wrong date, and accounting fixes them by hand.

End with:

  • Verdict: Ship. or Verdict: fix 1 and 3 first.
  • Lean: -<N> lines possible. when lean findings exist.
  • Not checked: one line, if something mattered and you could not check it.

Nothing found: What this change does:, then Looks good. Ship. and one line on what you checked.

Lists findings, changes no code.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

ponytail

免费有简介AI 评分 90分

优先复用现有代码、标准功能和已安装的依赖,以满足请求的最小变更完成实现或修复,处理受影响的调用方并进行必要验证,简要报告省略工作、未核实事项和风险。

  • 实现满足请求的最小版本
  • 修复共用逻辑中的根本原因
  • 重构时减少不必要的新增内容
DietrichGebert/ponytail17.4万2026年10月18日 更新

ponytail

免费有简介AI 评分 100分

先确认开发需求涉及的修改范围,再优先使用现有代码、标准功能和已安装依赖,以最小实现完整解决问题,并重视相关位置的修复、必要测试和简短报告。

  • 用最小实现满足开发需求
  • 排查调用方并修复共用代码中的缺陷
  • 避免不必要的依赖和抽象
DietrichGebert/ponytail17.4万2026年10月18日 更新

ponytail-audit

免费有简介AI 评分 100分

审查整个代码库或指定范围,检查缺陷、安全风险、负载承受能力、测试缺失和多余代码,按重要程度报告,并附具体问题场景及最小修复建议。

  • 检查接手代码的质量
  • 排查多用户使用时的风险
  • 找出多余代码和依赖项
DietrichGebert/ponytail17.4万2026年10月18日 更新

ponytail-audit

免费有简介AI 评分 100分

审查整个代码仓库的缺陷、安全风险、负载问题和测试缺失,同时检查性能及多余实现,按优先级报告修复方案与不修复的影响。

  • 了解接手代码库的整体质量
  • 检查安全和负载方面的风险
  • 找出适合删除、合并或拆分的代码
DietrichGebert/ponytail17.4万2026年10月18日 更新

ponytail-debt

免费有简介AI 评分 100分

收集代码中标记简化实现或待改进事项的注释,按文件整理成技术债务台账,列出限制与重新审视的条件,标记缺少条件的条目,不修改代码。

  • 盘点暂缓改进的实现
  • 查找未注明重新审视条件的事项
  • 按文件建立技术债务台账
DietrichGebert/ponytail17.4万2026年10月18日 更新

ponytail-debt

免费有简介AI 评分 90分

收集代码中标记暂缓改进的注释,按文件整理为台账,记录简化内容、适用上限和重新审视的条件,并标出未写明审视条件的条目。

  • 汇总代码仓库中的暂缓事项
  • 查找缺少审视条件的临时处理
  • 用自定义标记收集TODO注释
DietrichGebert/ponytail17.4万2026年10月18日 更新

查看 DietrichGebert 的全部技能

报告此技能的问题