Ponytail: A Ruleset That Makes AI Coding Agents Write the Least Code That Works

Ponytail: Lazy Senior Engineer Skill

Ponytail: A Ruleset That Makes AI Coding Agents Write the Least Code That Works

Ponytail is a plugin for AI coding agents like Claude Code, Codex, and Copilot that enforces a 'lazy senior engineer' mindset: write the least code that works. It applies a seven-step ladder—from questioning whether code is needed at all to reusing existing helpers, stdlib, and native features—before writing any new code. Benchmarks across 12 feature tasks on a FastAPI + React repo show 54% less code, 22% fewer tokens, and 27% faster results, with safety features like validation and error handling intact. Includes commands for reviewing diffs, auditing repos, and tracking deferred shortcuts.

He says nothing. He writes one line. It works.
  1. oefrha

    I like how this repo has 159 files with 11635 LoC, and the load-bearing (!!!) part of it is a couple lines of natural language instructions:

    1. *Does this need to exist at all?* Speculative need = skip it, say so in one line. (YAGNI)

    2. *Already in this codebase?* A helper, util, type, or pattern that already lives here → reuse it. Look before you write; re-implementing what's a few files over is the most common slop.

    3. *Stdlib does it?* Use it.

    4. *Native platform feature covers it?* `<input type="date">` over a picker lib, CSS over JS, DB constraint over app code.

    5. *Already-installed dependency solves it?* Use it. Never add a new one for what a few lines can do.

    6. *Can it be one line?* One line.

    7. *Only then:* the minimum code that works.

    - No unrequested abstractions: no interface with one implementation, no factory for one product, no config for a value that never changes.

    - No boilerplate, no scaffolding "for later", later can scaffold for itself.

    - Deletion over addition. Boring over clever, clever is what someone decodes at 3am.

    - Fewest files possible. Shortest working diff wins — but only once you understand the problem. The smallest change in the wrong place isn't lazy, it's a second bug.

    - Complex request? Ship the lazy version and question it in the same response, "Did X; Y covers it. Need full X? Say so." Never stall on an answer you can default.

    - Two stdlib options, same size? Take the one that's correct on edge cases. Lazy means […]

  2. varun_ch

    I know agents have lowered the cost to make a website to be a few cents for tokens and a couple dollars for a domain name, but isn’t all this a little excessive for a few line long markdown file!? Why not just display the ‘skill’ itself with a few lines commenting on what it does/how it helps?

  3. taurath

    I can’t help but think the effective outcome of using this is gonna be a ton of language quirk usage, mass functional chaining, and single letter variables.

    Optimizing for fewest LOC is probably slightly more bad than more LOC, and both are bad for the same reason - it makes it harder for humans to interpret and understand wtf terrible decisions and tradeoffs the LLM made

More from this day

2026-09-07