ponytail: MIT YAGNI skill cuts AI agent code by 80–94%
On 2026-06-12, an open-source developer named Dietrich Gebert shipped ponytail — a small, MIT-licensed ruleset and plugin that makes AI coding agents stop and ask, “does this need to exist?” before they type. Four days later, the project sits at v4.6.0 with 17,921 stars, 761 forks, and 8 releases in the space of a long weekend (GitHub repository, 2026-06-16; Releases). The pitch: “He says nothing. He writes one line. It works.” The headline numbers come from a reproducible benchmark anyone can re-run with npx promptfoo eval -c benchmarks/promptfooconfig.yaml (README).
Ponytail is one of the first tools to take aim at the dominant complaint about AI-generated code: bloat. The benchmark measures 80–94% less code, 47–77% lower cost, and 3–6× faster runs than an unconfigured agent, on a five-task everyday suite (email validator, debounce, CSV sum, countdown timer, rate limiter) across Haiku, Sonnet, and Opus, with the median of 10 runs per cell (benchmarks). It works as a plugin in Claude Code, Codex, Gemini CLI, OpenCode, GitHub Copilot CLI, and Pi, and as a drop-in rules file in Cursor, Windsurf, Cline, Copilot (editor), Aider, and Kiro — essentially every agent harness a developer is likely to use today.
What it does
The core idea is a six-rung ladder the agent stops at before writing code:
1. Does this need to exist? → no: skip it (YAGNI)
2. Stdlib does it? → use it
3. Native platform feature? → use it
4. Installed dependency? → use it
5. One line? → one line
6. Only then: the minimum that works
(README)
Default mode is full, with lite, ultra, and off available. What’s not on the chopping block: “Lazy, not negligent: trust-boundary validation, data-loss handling, security, and accessibility are never on the chopping block.”
Every shortcut the agent takes is marked with a ponytail: comment naming the upgrade path — e.g., <!-- ponytail: browser has one --> next to a raw <input type="date">. The /ponytail-debt command harvests those tags into a ledger so “later” doesn’t become “never”. The safety property: minimal-by-default, reversible-by-tag.
Why it matters
The “AI code bloat” problem is the dominant complaint from developers shipping AI-generated code. Agents default to over-engineering, wrap stdlib in custom code, install packages they don’t need. Ponytail is the first portable, license-clean ruleset that addresses that failure mode at the prompt-engineering layer.
The reach is unusual. Claude Code, Codex, Copilot CLI, Pi, OpenCode, Gemini CLI, Antigravity CLI work as plugin hosts; Cursor, Windsurf, Cline, Copilot, Aider, Kiro as instruction-file hosts (README). The AGENTS.md always-on path is the long tail: any harness that reads the project’s AGENTS.md (a growing convention) inherits the ruleset with no install step.
The numbers, with scope
The 80–94% / 47–77% / 3–6× figures apply to a five-task developer-grade benchmark, not to “all code ever written by an agent with ponytail installed.” The README is candid: “For production-grade specs, where an unconstrained agent bloats much harder, see the writeups in results/” (benchmarks).
benchmarks/results/ is not a stub. Three write-ups:
v4-hardening-vs-caveman— six-task A–F benchmark: ponytail v4 lands at 490 / 6 files vs. caveman’s 1,440 / 19 files (34%), passes 8/8 security and 6/6 concurrency probes. Cost-to-extend on surprise feature requests: 41 vs 156 and 55 vs 257 — 74–79% cheaper to extend (v4 hardening writeup).caveman-vs-ponytail— v1 → v2 → v3 evolution. End state: ponytail 47, caveman 117, no-skill 293 (caveman vs ponytail writeup).llama3.2-local— a negative result the README doesn’t hide: onllama3.2:latest(3.2B Q4_K_M) via Ollama, “the LOC effect is inside the noise floor.” The ruleset “transfers poorly to small local models where the multi-step decision ladder isn’t reliably followed” (llama3.2 local writeup).
The control arm is caveman, a separate MIT-licensed prose-compression skill — a real, comparable baseline, not a strawman.
Practical implications
- Claude Code or Codex:
/plugin marketplace add DietrichGebert/ponytailthen/plugin install ponytail@ponytail. Defaultfull;ultrafor cleanup;offfor security-critical code. - OpenCode: drop
"plugin": ["./.opencode/plugins/ponytail.mjs"]intoopencode.json, or copyAGENTS.mdfor a zero-install always-on path. - Cursor, Windsurf, Cline, Aider: copy the matching rules file. Always-on context, no mode-switch commands.
- To verify the gain:
npx promptfoo eval -c benchmarks/promptfooconfig.yaml --repeat 10. Replace the five tasks with samples from your own codebase. - When to switch to
off: security-critical auth, cryptography, authorization; accessibility-critical UI. - For engineering managers: make
/ponytail-debta CI step. Aponytail:comment older than 90 days raises an issue.
Risks and caveats
- Benchmark is small and developer-grade. The
results/write-ups are stronger, but the v4 suite is six tasks and the llama3.2 result is one model. No “80–94% leaner on production codebases” claim is supported by public data as of 2026-06-16. - Numbers are vendor self-published. Benchmark is in the project’s own repo, on its own tasks, against its own baseline. Reproducer is open; no third-party rerun on independent tasks.
- “Lazy senior dev” is a metaphor. Measures volume, cost, latency — not maintainability or correctness on non-toy work.
correctness.jsis a smoke test, not a property check. - Plugin vs. instruction-only paths differ. Skill hosts (Claude Code, Codex, OpenCode, Gemini, Pi) get the
/ponytailcommands. Cursor, Windsurf, Cline, Copilot, Kiro, Antigravity load the ruleset without the commands — no mode switching, no/ponytail-debt. - Claude Code / Codex plugins need Node.js on PATH. If
nodeisn’t there, the skills still work but the always-on activation stays quiet. A footgun. ponytail:comments are a discipline, not magic. Without/ponytail-debt(or an equivalent habit), deferred shortcuts become permanent.- Single-author personal repo, new GitHub account. No organizational backing, no CoC, no contribution guide. High-velocity single-maintainer project.
What to watch
benchmarks/results/write-ups. Three are published; expect more.- The
/ponytail-debtledger. Whether teams actually run it is the real test of “lazy, not negligent” on a multi-month codebase. - Always-on
AGENTS.mdadoption. As more harnesses adopt the convention, the ruleset travels further with no install step. - Local-model performance. Smaller open-weight models may not see the gain.
- Version cadence. v4.6.0 is the latest of 8 releases in 4 days. Pin a version in production.
Verdict
A real, portable, MIT-licensed, evidence-backed answer to the dominant complaint about AI coding agents. Headline numbers are scoped to a five-task benchmark; the results/ write-ups are stronger evidence, and the llama3.2 negative result is intellectual honesty. Install in under a minute, run the reproducer against your own five tasks, and keep /ponytail-debt if the team will live with the ruleset for more than a sprint. Skip it only for the explicit never-trim list.
Sources
-
- ponytail README — primary.
-
- ponytail Releases (v1.0.0 → v4.6.0) — primary.
-
- ponytail benchmarks/ — primary.
-
- caveman vs ponytail (v1 → v3, 2026-06-12) — primary.
-
- JuliusBrussee/caveman — secondary.