Ponytail – make your AI agent think like the laziest senior dev in the room
Ponytail is a plugin that forces AI coding agents to write minimal, efficient code by following a lazy senior developer's approach. It reduces code volume by 80-94%, speeds up tasks by 3-6x, and cuts costs by 47-77%. Available for multiple AI agents like Claude Code, Codex, and Cursor.
Notifications You must be signed in to change notification settings
Fork 217
Star 5.1k
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
37 Commits
37 Commits
.agents/plugins
.agents/plugins
.claude-plugin
.claude-plugin
.clinerules
.clinerules
.codex-plugin
.codex-plugin
.cursor/rules
.cursor/rules
.github
.github
.kiro/steering
.kiro/steering
.opencode
.opencode
.windsurf/rules
.windsurf/rules
assets
assets
benchmarks
benchmarks
commands
commands
docs
docs
examples
examples
hooks
hooks
pi-extension
pi-extension
scripts
scripts
skills
skills
tests
tests
.env.example
.env.example
.gitignore
.gitignore
AGENTS.md
AGENTS.md
LICENSE
LICENSE
README.md
README.md
opencode.json
opencode.json
package.json
package.json
Repository files navigation
He says nothing. He writes one line. It works.
80-94% less code · 3-6× faster · 47-77% cheaper
Median of 10 runs across Haiku, Sonnet, and Opus. Reproduce it yourself.
You know him. Long ponytail. Oval glasses. Has been at the company longer than the version control. You show him fifty lines; he looks at them, says nothing, and replaces them with one.
Ponytail puts him inside your AI agent.
Before / after
You ask for a date picker. Your agent installs flatpickr, writes a wrapper component, adds a stylesheet, and starts a discussion about timezones.
With ponytail:
More survivors in examples/.
Numbers
Five everyday tasks (email validator, debounce, CSV sum, countdown timer, rate limiter), three models, three arms: no skill, the caveman skill, and ponytail. Ten runs per cell, median reported.
80-94% less code, 47-77% less cost, and 3-6× faster than a no-skill agent, on every model. Every shortcut ponytail takes is marked in the code with a ponytail: comment naming its upgrade path. Reproduce it yourself: npx promptfoo eval -c benchmarks/promptfooconfig.yaml. Method and raw numbers: benchmarks/. Production-grade tasks, where an unconstrained agent bloats far more, are written up in benchmarks/results/.
How it works
Before writing code, the agent stops at the first rung that holds:
- Does this need to exist? → no: skip it (YAGNI)
- Stdlib does it? → use it
- Native platform feature? → use it
- Installed dependency? → use it
- One line? → one line
- Only then: the minimum that works
Lazy, not negligent: trust-boundary validation, data-loss handling, security, and accessibility are never on the chopping block.
Install
The most effort ponytail will ever ask of you:
Claude Code
/plugin marketplace add DietrichGebert/ponytail /plugin install ponytail@ponytail
Codex
codex plugin marketplace add DietrichGebert/ponytail codex
Open /plugins, select the Ponytail marketplace, and install Ponytail. Then open /hooks, review and trust its two lifecycle hooks, and start a new thread.
Pi agent harness
pi install git:github.com/DietrichGebert/ponytail
OpenCode
Run OpenCode from a checkout of this repo (the plugin reuses its hooks/ and skills/), and add to opencode.json:
{ "plugin": ["./.opencode/plugins/ponytail.mjs"] }
Injects the ruleset every turn at the active level; adds /ponytail, /ponytail-review, and /ponytail-audit. OpenCode also auto-loads this repo's AGENTS.md, so the rules hold even without the plugin. The plugin adds the lite/full/ultra/off levels.
That was it. He'd be proud. He won't say it.
Active every session. /ponytail-review finds what to delete in your diff, /ponytail-audit does the same for the whole repo. /ponytail ultra exists for when the codebase has wronged you personally. /ponytail-help explains the rest.
In Codex, invoke the skills as @ponytail, @ponytail-review, @ponytail-audit, and @ponytail-help. Startup and mode-change text shows the current mode.
Cursor, Windsurf, Cline, Copilot, Aider, Kiro: copy the matching rules file from this repo (.cursor/rules/, .windsurf/rules/, .clinerules/, .github/copilot-instructions.md, AGENTS.md, .kiro/steering/).
Kiro: copy .kiro/steering/ponytail.md to ~/.kiro/steering/ (global) or .kiro/steering/ in your project.
Which files map to which agent: Agent portability.
Development
When changing the compact rule text, keep the agent copies aligned:
node scripts/check-rule-copies.js
FAQ
Does it need a config file? No.
What if I really need the 120-line cache class? You don't. Insist anyway and he'll build it. Slowly. Correctly. While looking at you.
Does it scale? The code you never wrote scales infinitely. Zero bugs, zero CVEs, 100% uptime since forever.
Why "ponytail"? You know exactly why.
License
MIT. The shortest license that works.
About
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Topics
developer-tools
ai-agents
claude
yagni
llm
prompt-engineering
agent-skills
cursor-rules
claude-code
claude-code-plugin
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
5.1k stars
Watchers
16 watching
Forks
217 forks
Report repository
Releases 4
v4.2.0: lazy in OpenCode now
Latest
Jun 13, 2026
+ 3 releases
Packages 0
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
JavaScript 97.8%
PowerShell 1.3%
Shell 0.9%