Ponytail v4.10.0: Let AI write code like the laziest senior engineer, write 54% less in practicePonytail v4.10.0:让 AI 像最懒的资深工程师那样写代码,实测少写 54%
150,000 Stars, a regular skill pack that is still rising on the day. It's an interesting setup - stuff your AI with the kind of senior engineer who “has a long ponytail, elliptical glasses, and starts before version control”: he doesn't talk, he writes one line, but it works. Officials measured in the real Claude Code session that the average number of lines of code was 54% less, the number of tokens was 22% less, the cost was 20% less, the time was 27% less, and the security did not decline. About 1.24 MB.
15 万 Star、当天仍在涨的规则型技能包。它的设定很有趣——把那种「留着长马尾、戴椭圆眼镜、比版本控制还早入职」的资深工程师塞进你的 AI 里:他不说话,他只写一行,但它管用。官方在真实 Claude Code 会话里实测,代码行数平均少 54%,token 少 22%,花费少 20%,耗时少 27%,安全性没有下降。约 1.24MB。

What it Changes: The Seven Steps?它到底改了什么:七级阶梯
After loading, the agent must climb a ladder before writing any code. If it can stop at the lower step, it must not go down: Does this need to be done? (YAGNI) Is there already a ready-made → standard library in the→ current code base? What can the → platform native functions cover? Can the installed dependencies be → solved? Can it be written as a → line? None of the → above can be written to write the minimum code that can run.
The rules also emphasize order: the ladder is climbed "after you understand the problem", not as a substitute for understanding. Read the task and the code it involves, run the real process end-to-end, and then decide which level to stop at. The original sentence is very straightforward: a small change you don't understand is not laziness, it is disguised as efficient laziness.
The most typical example is the date picker. When you say "add a date picker", the average agent will load the flatpickr, write a packaging component, add a style sheet, and then start discussing the time zone with you. With ponytail installed, it gives you a line <input type="date">- because the browser already has it. In the official data, this case is 404 rows down to 23 rows, and the color selector 287 rows down to 23 rows.
装上之后,智能体在写任何代码之前必须先爬一道阶梯,能停在低级台阶就不许往下走:这东西需要做吗(YAGNI)→ 当前代码库里已经有现成的吗 → 标准库能干嘛 → 平台原生功能能覆盖吗 → 已装的依赖能解决吗 → 能写成一行吗 → 以上都不行,才写能跑的最小代码。
规则里同时强调了顺序:阶梯是在「你理解了问题之后」才爬的,不是用来替代理解。要先读完任务和它涉及的代码、把真实流程端到端跑一遍,再决定停在哪一级。原文那句说得很直白:一个你不理解的小改动不是懒,是伪装成高效的懒惰。
最典型的例子是日期选择器。你说「加个日期选择器」,普通智能体会去装 flatpickr、写个包装组件、加一份样式表,然后开始跟你讨论时区问题。装了 ponytail,它给你的是一行 <input type="date">——因为浏览器本来就有。官方数据里这个案例是 404 行降到 23 行,颜色选择器 287 行降到 23 行。

Its “not lazy” list is more important than the lazy part它「不偷懒」的清单,比懒的部分更重要
A skill pack that only teaches AI to write less is dangerous, and ponytail draws the line very clearly. None of the following can be omitted: understanding the problem itself, input verification on the trust boundary, error handling to prevent data loss, safety, accessibility, calibration required for real hardware (clock drifts, sensor readings are skewed, the platform is never ideal in the specification), and anything explicitly requested by the user.
There is also a very strong requirement: non-trivial logic must leave "a running check" - a small example of an assert-based self-check, or a small test file, in short, the smallest thing that will fail if the logic breaks. No frames, no fixtures. A plain line of code doesn't need to be tested.
It also requires a “knowingly simplified” cap: if you use a global lock, an O (n ²) scan, or a plain heuristic, you must use a ponytail: comment to clarify what this cap is and how to upgrade it in the future. Technical bonds can be retained, but the name should be retained.
There are also clear rules for fixing bugs: the report is about symptoms, not root causes. To grep all the callers of the function you want to change, change it once in the shared function - one guard diff is smaller than one per caller, and the path that only fixes the work order name will make the other caller of the same source continue to break.
一个只教 AI 少写字的技能包是危险的,ponytail 把这条线划得很清楚。以下这些一寸都不能省:理解问题本身、信任边界上的输入校验、防止数据丢失的错误处理、安全、无障碍、真实硬件需要的校准(时钟会漂移、传感器读数有偏差,平台永远不是规格书里的理想状态)、以及任何用户明确要求的东西。
还有一条很硬的要求:非平凡逻辑必须留下「一个能跑的检查」——一个基于 assert 的自检小例子,或一个小测试文件,总之是逻辑坏掉就会失败的最小东西。不要框架、不要夹具。朴素的一行代码不需要测试。
另外它要求把「明知有上限的刻意简化」标注出来:如果你用了全局锁、O(n²) 扫描或朴素启发式,必须用 ponytail: 注释写清楚这个上限是什么、将来怎么升级。技术债可以留,但要留名字。
改 bug 也有明确规矩:报告里说的是症状,不是根因。要 grep 出你改的那个函数的所有调用方,在共享函数里改一次——一处守卫的 diff 比每个调用方各加一处更小,而且只修工单点名的那条路径,会让同源的另一个调用方继续坏着。
Installation: three ways, can be installed offline安装:三条路,离线也能装
Claude Code takes the plugin market the easiest: claude plugin marketplace add DietrichGebert/ponytail then claude plugin install ponytail @ ponytail. The common way of multi-client is npx skills add DietrichGebert/ponytail.
Manual copying in offline or intranet environments - skill rules are plain text in nature. Cline users put .clinerules/ponytail.md into the project; Cursor users use .cursor/; clients that support the AGENTS.md specification to drop AGENTS.md directly into the project root directory. The directories for each client in the package are off-the-shelf.
Mounting takes effect by default. Common commands:/ponytail [lite | full | ultra | off] adjust the intensity or turn off,/ponytail-review let it review the code just written according to the lazy standard,/ponytail-audit bulk audit,/ponytail-debt list technical bonds,/ponytail-gain report how many lines have been saved.
A minor prerequisite: The Claude Code/Codex plugin and the Cursor hook run two very small Node.js lifecycle hooks, so the node needs to be on the path (which nvm or Nix users are aware of in the path of a non-interactive shell). There is no error, but the function "Every session automatically takes effect" will be silently disabled.
Claude Code 走插件市场最省事:claude plugin marketplace add DietrichGebert/ponytail 然后 claude plugin install ponytail@ponytail。多客户端通用的方式是 npx skills add DietrichGebert/ponytail。
离线或内网环境就手工复制——技能规则本质是纯文本。Cline 用户把 .clinerules/ponytail.md 放进项目;Cursor 用户用 .cursor/;支持 AGENTS.md 规范的客户端直接把 AGENTS.md 丢到项目根目录。包内各客户端的目录都是现成的。
装上默认生效。常用命令:/ponytail [lite|full|ultra|off] 调强度或关掉,/ponytail-review 让它按懒人标准复查刚写的代码,/ponytail-audit 批量审计,/ponytail-debt 列技术债,/ponytail-gain 汇报省了多少行。
一个小前提:Claude Code / Codex 插件和 Cursor 钩子会跑两个很小的 Node.js 生命周期钩子,所以 node 需要在 PATH 上(nvm 或 Nix 用户注意得在非交互式 shell 的 PATH 里)。没有也不会报错,只是「每次会话自动生效」这个功能会静默失效。
Download instructions下载说明
This site provides the v4.10.0 official source code package, and adds an additional Chinese instruction for use (instructions for use - Chinese .md), puts it under the root directory of the compressed package, and writes the directory structure, three installation methods, and the non-lazy list. About 1.24 MB.
It is suitable for people who are already overwhelmed by AI-generated boilerplate code, and for people who maintain old projects that already have a lot of ready-made tool functions. This skill pack may not be right for you if you explicitly want the agent to write more and write more (say, a full scaffold).
本站提供的是 v4.10.0 官方源码包,并额外加入了一份中文使用说明(使用说明-中文.md),放在压缩包根目录下,写清了目录结构、三种安装方式和不偷懒清单。约 1.24MB。
适合已经在被 AI 生成的样板代码淹没的人,也适合维护「本来就有大量现成工具函数」的老项目的人。如果你明确希望智能体多写点、写全一点(比如要一份完整脚手架),这个技能包可能不适合你。
Notes使用提醒
This article is compiled from public sources and ships with the matching resource. Product features and pricing are subject to the official page. Resources are for learning and exchange only — please respect the original license.
本文整理自公开资料并附上配套资源;涉及产品的功能与价格以官方页面为准。资源仅供学习交流,请遵循来源许可。
⬇ Download · 点击下载:Ponytail v4.10.0 技能包(含中文使用说明)(约 1.24 MB)
官方源码包 + 本站补充的中文使用说明,含规则原文、多客户端插件清单与 6 个配套技能
阅读与点赞数据保存在你的浏览器本地,欢迎留下你的想法。
今日正能量学一点,用一点;今天种下的种子,会长成明天的能力。去免费下载专区 →广告
评论 文明发言,让讨论更有价值