跳转到主要内容
返回 Skill 列表
ponytail 图标

ponytail

让 AI 像最懒的资深工程师一样写代码:先问该不该写,再依次看项目里有没有现成的、标准库、平台原生能力。实测代码量少约 54%,成本低约 20%

code-generationYAGNI代码精简反过度设计

场景示例

  • 「加个日期选择器」——不装 flatpickr、不写包装组件,直接 <input type="date">
  • 「给这些接口加缓存」——一行 @lru_cache,不自己写缓存类
  • 「帮我看看这个 PR 有没有过度设计」——/ponytail-review 逐行列出能删的
  • 「整个仓库哪些代码可以砍」——/ponytail-audit 给出按优先级排序的删减清单

它怎么工作

写代码前按顺序往下问,哪一步能解决就停在哪一步:要不要做 → 项目里有没有现成的 → 标准库 → 平台原生能力 → 已装依赖 → 一行能不能写完 → 最后才写最少的代码。前提是先读懂代码、理清调用链;输入校验、错误处理、安全、无障碍这几项从不省。

官方用 Claude Code 在真实 FastAPI + React 仓库上跑了 12 个需求:代码量 -54%、成本 -20%、耗时 -27%,安全检查全部保留。

常用命令

  • /ponytail lite|full|ultra|off:切换强度,默认 full
  • /ponytail-review:只看过度设计的代码评审
  • /ponytail-audit:全仓库冗余审计
  • /ponytail-gain:查看收益面板

避坑清单

  • node 必须在 PATH 上:Claude Code / Codex 插件靠两个 Node 生命周期钩子实现常驻;nvm / Nix 用户要确认非交互 shell 也能找到 node,否则技能能用,但不会自动生效
  • 会话内安装要分两次发:在 Claude Code 对话框里用 /plugin marketplace add DietrichGebert/ponytail 和 /plugin install ponytail@ponytail 时,两条要分两次发送;在终端执行上方安装命令则没有这个问题
  • 装完重启会话才会生效
  • Codex 要手动信任钩子:打开 /hooks,信任那两个钩子后新开线程
  • 想改默认强度:设置环境变量 PONYTAIL_DEFAULT_MODE=lite,或写入 ~/.config/ponytail/config.json 的 defaultMode