Ponytail 项目配图

面向编程智能体的 Ponytail Skill · DietrichGebert

DietrichGebert/ponytail(MIT)中的 Ponytail 技能,把一位“懒惰的资深工程师”放进你的编码智能体:用最小的完整改动解决整个任务,然后说明跳过了什么、有何风险。可选 lite、full、ultra 三档,并可用 /ponytail-review 审查改动、用 /ponytail-audit 审查整个仓库。

不是发型教程,不是又一份空洞的 CLAUDE.md 准则,也不是托管的审查服务:AgentSkillsDir 不会替你运行 Ponytail。README 中的省代码、省 token 比例是上游基准,本站未复现。本页是附来源链接的目录条目,不是 ponytail.dev 官网。

  1. 第 1 条提示:添加插件市场

    单独发送。

    /plugin marketplace add DietrichGebert/ponytail
  2. 第 2 条提示:安装插件

    之后新开会话,默认已启用 full 档。

    /plugin install ponytail@ponytail
  • 两条提示,依次发送
  • 把两行粘进同一条提示 — 上游说明这样安装不会生效
lite/ponytail lite

照你的要求做,再用一句话指出更小的方案。

full · 默认/ponytail full

按 SKILL.md 的规则做最小的完整改动。

ultra/ponytail ultra

还会质疑需求中没有必要的部分。

off/ponytail off

恢复智能体的默认行为。

以上为上游 README 中的命令,AgentSkillsDir 尚未亲自运行,待我们实测。

它是什么,不是什么

Ponytail 本质上是一段提示词 skills/ponytail/SKILL.md,再加上把它装进约二十种智能体的适配层。写代码前,智能体先读任务和相关代码,然后沿下面的阶梯逐级判断,在第一个成立的台阶停下:

  1. 它需要存在吗?没人要的功能就跳过,并点明。
  2. 代码库里已经有了吗?复用现成的函数、组件或模式。
  3. 标准库或平台本身能做到吗?
  4. 已安装的依赖能做到吗?不为几行代码新增依赖。
  5. 能写成一眼就看懂的一行吗?
  6. 以上都不行,才写能用的最少代码;有逻辑就附一个小测试。

它对“解法”偷懒,对“改动”不偷懒:被改动影响的调用方、测试和测试数据照样修好;信任边界的校验、防止数据丢失的错误处理、安全和无障碍从不删减。每次回复最后用一两行说明跳过或未检查的内容。

它不是托管运行环境,本身不生成代码,也不是发型指南。它改变的是你现有智能体决定“写什么”的方式。

为你的助手安装

以下命令依据 DietrichGebert/ponytail 的 README 与 INSTALL.md(2026 年 11 月 1 日抓取)。AgentSkillsDir 尚未亲自运行,待我们实测。

需要 Node:Claude Code、Codex 插件和 Cursor 钩子会运行两个小型 Node.js 生命周期钩子,node 必须在非交互式 shell 的 PATH 中。没有它技能仍可用,但每次调用钩子会打印无害的 “node: command not found”。

  • Claude Code

    之后 每行单独作为一条提示发送
    /plugin marketplace add DietrichGebert/ponytail /plugin install ponytail@ponytail

    上游说明:“必须分两条提示发送,安装才会生效。”Claude Code 桌面版的 Code 标签页同样适用,也可点 + → Plugins → Add plugin。

  • Codex

    之后 打开 /hooks,信任两个钩子,新开线程
    codex plugin marketplace add DietrichGebert/ponytail codex plugin add ponytail@ponytail

    运行 codex,打开 /hooks,检查并信任两个生命周期钩子,然后新开线程。重启后 Codex 桌面版同样生效。Codex 中的命令带命名空间:$ponytail:ponytail-review。

  • Cursor (hooks, needs Node)

    之后 新开对话;以普通消息输入 /ponytail ultra
    git clone https://github.com/DietrichGebert/ponytail node ponytail/scripts/cursor-hooks.js install

    把两个钩子合并进 ~/.cursor/hooks.json(加 --project 则写入 <项目>/.cursor/hooks.json),并保留你已有的钩子。克隆目录不要移动。钩子与 .cursor/rules/ponytail.mdc 规则文件二选一:规则文件存在时钩子不注入任何内容。子智能体和云端智能体不带规则集运行。

  • skills CLI (skills only)

    之后 要常驻规则需再加 AGENTS.md
    npx skills add DietrichGebert/ponytail

    把六个技能复制到智能体的技能目录。用 --agent 指定智能体,--skill '*' 全部安装,--global 安装到用户目录。只装技能:如需常驻规则集,还要加上 AGENTS.md 或改用插件。

其他智能体

GitHub Copilot CLI
copilot plugin marketplace add DietrichGebert/ponytail copilot plugin install ponytail@ponytail
命令带命名空间:/ponytail:ponytail ultra。
OpenCode
opencode plugin add @dietrichgebert/ponytail
每轮注入规则集,并提供各档位。
Gemini CLI
gemini extensions install https://github.com/DietrichGebert/ponytail
常驻上下文,并注册 /ponytail 命令。
Windsurf, Cline, Aider, Zed, Copilot Chat …
AGENTS.md
把 AGENTS.md 或对应的规则文件复制进项目。规则常驻,无命令。

完整列表(Pi、Kimi Code、Devin CLI、Grok Build、Goose、Kiro 等)及卸载步骤见INSTALL.md。任何智能体的兜底做法:把AGENTS.md 复制进你的项目。

上游提示:只从 GitHub 上的 DietrichGebert/ponytail 或 npm 上的 @dietrichgebert/ponytail 安装。官方从不发布 .exe 或 .dll 文件,带这类文件的副本不是官方版本。

档位与命令

Ponytail 每个会话默认以 full 档启用,直到你修改。可用环境变量 PONYTAIL_DEFAULT_MODE(lite、full、ultra 或 off)或 ~/.config/ponytail/config.json 中的 defaultMode 设定默认档位。待我们实测。

/ponytail [lite|full|ultra|off]
设置档位或关闭。不带参数时,若已关闭则按默认档位开启,否则报告当前档位。
/ponytail-review
审查当前改动及其涉及的代码:缺陷、安全、实际负载、缺测试的风险代码、慢路径、可删内容。可用 uncommitted、staged、branch 或 PR 链接限定范围。
/ponytail-audit
对整个仓库做同样的检查,排序后告诉你先修什么。
/ponytail band
仅限 Claude Code:显示或隐藏输入框上方的状态条(花费、token、智能体耗时、复用率、测试)。
/ponytail-debt
把你推迟处理的 shortcut: 注释汇总成清单。
/ponytail-gain · /ponytail-help
上游基准成绩板 · 命令速查。

review 还是 audit?/ponytail-review 看你正在做的改动;/ponytail-audit 先梳理整个仓库,再排出修复优先级。两者都在你的智能体里运行,用你的模型、算你的费用。

状态条(band,5.3 新增)位于 Claude Code 输入框上方,显示任务花费、token、智能体耗时、代码复用率以及测试是否通过;按钮可切换档位或运行 review、audit。需要 Claude Code 2.1.290 及以上,终端或桌面版;VS Code 聊天面板、云端会话和 claude -p 中不显示。数据保存在本地 ~/.config/ponytail/band/。

使用钩子的 Cursor 只支持切换档位,以普通消息输入。规则文件方式(Windsurf、Cline、Copilot Chat 等)只加载常驻规则,没有任何命令。

关于节省比例

README 的主打数据是代码 −53%、时间 −41%、花费 −26%、token −45%,且 98% 的风险逻辑附带测试(不用时为 68%)。这些是上游基准结果:Claude Code、39 个任务、每个 5 次。AgentSkillsDir 未复现。方法与局限请看上游基准说明,并在自己的仓库上实测。

Ponytail 与 grill-me

两者都是“行为类”技能,但作用的时机不同。grill-me 在做决定之前追问你,不写代码;Ponytail 在你想清楚之后约束代码怎么写。两者是独立条目。

安装前

  • SKILL.md 和 AGENTS.md 都是纯文字指令,安装前请先在 GitHub 上阅读。
  • 插件会添加在每个会话运行 Node 的生命周期钩子,并把规则集注入子智能体(可用 PONYTAIL_SUBAGENT_MATCHER 限定)。信任钩子前请先检查。
  • 卸载插件后会残留少量状态(档位标记、配置、状态栏)。上游提供 scripts/uninstall.js,请在移除插件之前运行。
  • 收录不等于安全审查。AgentSkillsDir 没有审查过这些代码。

常见问题

Ponytail skill 是什么?

DietrichGebert/ponytail(MIT)中的开源智能体技能与插件,让编码智能体像“懒惰的资深工程师”一样工作:用最小的改动完整解决问题,最后说明跳过了什么、有何风险。提供 lite、full、ultra 三档,以及 /ponytail-review 和 /ponytail-audit。它不是发型教程。

如何在 Claude Code 中安装 Ponytail?

分两条提示发送:先 /plugin marketplace add DietrichGebert/ponytail,再 /plugin install ponytail@ponytail。上游说明必须分两条发送才会生效。2026 年 11 月 1 日抓取;待我们实测。

如何为 Codex 或 Cursor 安装 Ponytail?

Codex:codex plugin marketplace add DietrichGebert/ponytail,再 codex plugin add ponytail@ponytail;打开 /hooks,信任两个钩子,新开线程。Cursor:克隆仓库后运行 node ponytail/scripts/cursor-hooks.js install(或改为复制 Cursor 规则文件)。待我们实测。

为什么出现 “node: command not found”?

Claude Code、Codex 插件和 Cursor 钩子会运行两个小型 Node.js 生命周期钩子。请把 node 加到非交互式 shell 的 PATH 中(Nix 和 nvm 用户尤其注意)。据 INSTALL.md,没有 Node 时技能仍可用,该报错无害。

lite、full 还是 ultra?

lite 照要求做,并指出更小的方案。full 是默认档,按最小完整改动规则执行。ultra 还会质疑需求中没有必要的部分。off 为关闭。可用 PONYTAIL_DEFAULT_MODE 设定默认档位。

用 /ponytail-review 还是 /ponytail-audit?

review 检查当前改动及其涉及的代码。audit 对整个仓库做同样的检查,并排出优先修复顺序。两者都在你自己的智能体里运行,AgentSkillsDir 不托管任何一个。

“代码 −53%、token −45%”有保证吗?

没有。这些是上游 README 中的基准结果(Claude Code、39 个任务、每个 5 次)。AgentSkillsDir 未复现,实际效果取决于你的模型、仓库和任务。

在更新的模型上 Ponytail 还有用吗?

社区对此有争论。新模型可能本身就写得更少,但 Ponytail 还改变了回复格式,并提供 review、audit 命令和档位。建议在自己的项目上试试 lite 或 full 再比较。

AgentSkillsDir 会代跑 Ponytail 或出售审查服务吗?

不会。这是附来源链接的目录条目。本页面不会安装或运行任何内容,收录也不等于安全审查。

星标数和版本是最新的吗?

它们是来自 GitHub API 与 npm 的带日期快照,请查看来源卡片上的最近核验时间。

更正与建议

发现内容过时,或想推荐一个技能?发送更正邮件。若要推荐资源,请提交供人工审核。