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

ponytail-review

检查代码改动中的缺陷、安全风险、预期负载问题、测试缺失、性能问题和多余实现,按优先级报告具体出错情境、最小修复方案及不修复的影响。

原文查看原文说明

Quality review of a diff: bugs, security, real load, missing tests, speed, and what to delete. Each finding says what goes wrong and how to fix it.

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

适用场景

  • 合并拉取请求前审查代码
  • 检查未提交改动的缺陷与风险
  • 查找高风险逻辑缺少的测试
  • 寻找改动中可删除的多余代码

中文介绍

功能

ponytail-review读取代码差异及周边逻辑,报告可能出现问题的具体情境和修复方案。检查内容包括缺陷、安全风险、预期使用规模下的问题、测试缺失、运行缓慢及多余代码。它还追踪修改后函数的调用方和数据流,检查对未直接修改部分的影响。

适用场景

适合在合并拉取请求或提交本地改动之前进行审查。报告按重要程度分组,并为各项问题编号,说明相关逻辑、问题、最小修复方案及不修复的影响。请求修复时,可以通过编号指定目标。它也会寻找通过删除代码或复用已有逻辑来精简实现的机会。

使用示例

  • “审查这个拉取请求,告诉我哪些问题需要优先修复。”
  • “检查未提交的改动是否存在缺陷或缺少测试。”
  • “找出这次代码改动中可以删除的多余代码。”

注意事项

此技能只生成报告,不修改代码。未指定目标时,检查未提交的改动;若没有未提交的改动,则检查最近一次提交。报告按要求使用浅显的英语。许可证为MIT。

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

客观评估

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

指令清晰度能否看出何时使用、做什么
A良好明确说明代码差异审查的对象、默认对象及六项检查内容。
步骤具体性步骤、输入输出和示例是否具体
A良好规定读取周边代码、复核问题和按重要程度报告,并提供具体输出示例。
安全性发送数据、删除文件、执行命令等是否有说明
A良好限定为读取代码差异及相关代码并报告问题,不修改代码。
安装难易度所需工具和 API 密钥是否少且有说明
A良好主要读取和搜索代码及README,未要求外部服务或密钥。

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

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

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

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

包含的文件(1)

  • SKILL.md4.9 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 的全部技能

报告此技能的问题