Ponytail: AI agent skill for less code
ponytail is a skill that sits inside your AI coding agent and applies a seven‑rung decision ladder — skip, reuse, stdlib, native feature, installed dependency, one line, then the minimum that works. In tests on a FastAPI + React repo, ponytail cut 54% of lines (94% where a date picker went from 404 to 23 lines), cut token cost 20%, ran 27% faster, and kept safety guards. Try it if your agent reaches for a library before checking `<input type=date>`.
What Ponytail does
ponytail injects a code-minimalism ruleset into AI coding agents, making them follow a seven-rung ladder before coding: skip it, reuse it, use the stdlib, use a native feature, use what's installed, write one line, then write the minimum that works. It targets over-engineering by replacing the default AI behavior of reaching for a library before checking whether `<input type=date>` exists.
The seven-rung ladder and its commands
- ✓Seven-rung decision ladder applied before every code change — starting with 'Does this need to exist?' and moving through reuse, stdlib, native features, and installed dependencies before writing anything
- ✓Code review commands — `/ponytail-review` audits the current diff, `/ponytail-audit` scans the entire repo, `/ponytail-debt` catalogs deferred decisions
- ✓Three intensity modes — `lite` for light guidance, `full` as default, `ultra` for maximum restraint
- ✓Safety preserved — trust-boundary validation, data-loss handling, error handling, security checks, and accessibility are never cut; the 100% safety score holds across benchmarks
- ✓Benchmarked on real Claude Code sessions editing a FastAPI + React repo — 54% fewer lines mean across 12 feature tasks with Haiku 4.5, n=4
- ✓Subagent propagation — the ruleset automatically injects into every agent spawned via the Agent tool, with regex matching to control scope
- ✓Zero config required — works from checkout with no setup; optional config file or env var for default mode
- ✓Supports Claude Code, Codex, Gemini CLI, Copilot CLI, Devin CLI, Grok Build, Hermes Agent, OpenCode, Pi agent, and instruction-only mode for Cursor, Windsurf, Cline, and more
Installing Ponytail in your AI agent
Plugin installation varies by platform. Claude Code and Codex: `/plugin marketplace add DietrichGebert/ponytail` then `/plugin install ponytail@ponytail` (two separate prompts). Gemini CLI: `gemini extensions install https://github.com/DietrichGebert/ponytail`. Copilot CLI: `copilot plugin marketplace add DietrichGebert/ponytail` then `copilot plugin install ponytail@ponytail`. Devin CLI: `devin plugins install DietrichGebert/ponytail`. Grok Build: `grok plugin install DietrichGebert/ponytail --trust`. Instruction-only mode for Cursor, Windsurf, Cline, and JetBrains: copy the matching rules file from the repo (`.cursor/rules/`, `.windsurf/rules/`, `.clinerules/`, or `.github/copilot-instructions.md`) to your project.
When to use ponytail-review, audit, and debt
- •Use `/ponytail-review` after a diff to get a deletion list of over-engineered code
- •Use `/ponytail-audit` to find over-engineering accumulated across the whole codebase
- •Use `/ponytail-debt` to harvest `ponytail:`-tagged shortcuts into a ledger so deferred decisions don't get lost
Why it works: the benchmark numbers
- ✓54% fewer lines on average (94% on over-built features like date pickers) in reproducible benchmarks on real agentic sessions
- ✓20% lower token cost and 27% faster execution than unassisted agents
- ✓100% safety maintained — validation, error handling, security, and accessibility are never cut
- ✓Supports 16+ AI coding platforms with varying levels of integration
- ✓No config required — works from a checkout immediately
- ✓Subagent propagation keeps the ruleset consistent in nested agent workflows
What Ponytail never cuts
- △Only applies to AI agents, not directly to human developers
- △May be unnecessary for already-minimal codebases where over-engineering isn't the issue
Caveman and other code-minimization approaches
Frequently asked questions
Yes, instruction-only mode works with Cursor, Windsurf, Cline, and GitHub Copilot Chat in VS Code and JetBrains. Copy the matching rules file from the repo (`.cursor/rules/`, `.windsurf/rules/`, `.clinerules/`, or `.github/copilot-instructions.md`) into your project. Copilot CLI has a dedicated plugin install path separate from the editor extension.
What the agent says gets reduced by Caveman; what it builds gets reduced by ponytail. The README suggests combining them — they don't conflict. Caveman preserves code byte-for-byte exact while ponytail compresses it without altering prose.
Plugin-level support covers Claude Code, Codex, Gemini CLI, Copilot CLI, Devin CLI, Grok Build, Hermes Agent, OpenCode, and Pi agent. Instruction-only mode works with Cursor, Windsurf, Cline, Kiro, JetBrains Junie, CodeWhale, Swival, and Amp. See the install docs for the full list.
ponytail never removes trust-boundary validation, data-loss handling, error handling, security checks, or accessibility code. The benchmark shows 100% safety maintained across all 12 feature tasks. A bare 'write one-liners' prompt drops to 95% — ponytail keeps every guard.
For Claude Code use `/plugin remove ponytail`; for Codex use `codex plugin remove ponytail`. Run `node scripts/uninstall.js` from a separate clone first to clean up `~/.config/ponytail/config.json` and the statusLine entry in `~/.claude/settings.json`, since removing the plugin first deletes the script.
Yes. The single-shot benchmark uses promptfoo — run `npx promptfoo eval -c benchmarks/promptfooconfig.yaml` to reproduce it. For agentic benchmarks, run headless Claude Code sessions with and without the skill and compare the git diff they produce.
The problem it solves
AI coding agents default to over-building. A request for a date picker typically results in installing flatpickr, creating a wrapper component, adding styles, and debating timezones — when `<input type=date>` handles most cases. The agent optimizes for completeness rather than necessity, and without a counter-instruction it assumes the human wants the implementation with all features and edge cases available.
How to use
After installing, the ruleset runs automatically on every prompt. Use `/ponytail` alone to check the current level, or add `lite`, `full`, `ultra`, or `off` to change it. The skill commands (`/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`) work in plugin-capable hosts like Claude Code, Codex, Gemini CLI, and Devin CLI. For instruction-only hosts, the ruleset is always-on but the slash commands are not available. Set a persistent default via `PONYTAIL_DEFAULT_MODE` env var or `~/.config/ponytail/config.json`.
Who should try it — and who should skip
Try ponytail if your AI agent consistently over-builds solutions, reaches for a library when a native feature exists, or generates verbose code that could be simpler. It's particularly valuable when the benchmark numbers (54% less code, 20% cheaper, 27% faster) matter for your workflow. Skip it if your codebase is already lean, your agent rarely over-engineers, or you prefer comprehensive implementations.
Related repositories
Still deciding about ponytail?
One click hands the question to an AI along with this page — see what it says about ponytail.
