ponytail

Agent skill from dietrichgebert/ponytail.

dietrichgebert ↓ 19k
Claude Code
View source ↗

What it does

  • 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.
  • Two stdlib options, same size? Take the one that's correct on edge cases. Lazy means writing less code, not picking the flimsier algorithm.
  • lite: "Done, cache added. FYI: functools.lrucache covers this in one line if you'd rather not own a cache class."
  • full: "@lrucache(maxsize=1000) on the fetch function. Skipped custom cache class, add when lrucache measurably falls short."
  • ultra: "No cache until a profiler says so. When it does: @lrucache. A hand-rolled TTL cache class is a bug farm with a hit rate."

Requirements & configuration

  • 1. Does this need to exist at all? Speculative need = skip it, say so in one line. (YAGNI)
  • 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.
  • just less code, the physical world needs tuning a minimal model can't see.
  • fixtures, no per-function suites unless asked. Trivial one-liners need no

Derived from the skill's own SKILL.md documentation · extracted 2026-07-23

ponytail FAQ

What does the ponytail skill do?

> Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use on ANY coding task: writing, adding, refactoring, fixing, reviewing, or designing code, and choosing libraries or dependencies. Also use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", or complains about over-engineering, bloat, boilerplate, or unnecessary dependencies. Do NOT use for non-coding requests (general knowledge, prose, translation, summaries, recipes). 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.

What does ponytail require?

1. Does this need to exist at all? Speculative need = skip it, say so in one line. (YAGNI) 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. just less code, the physical world needs tuning a minimal model can't see. fixtures, no per-function suites unless asked. Trivial one-liners need no

How do I install ponytail?

Run: npx -y skills add https://github.com/dietrichgebert/ponytail --skill ponytail --agent claude-code — the source lives at github.com/dietrichgebert/ponytail.

Maintain ponytail?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

ponytail on getagentictools
[![ponytail on getagentictools](https://getagentictools.com/badge/skills/dietrichgebert-ponytail-ponytail.svg)](https://getagentictools.com/skills/dietrichgebert-ponytail-ponytail?ref=badge)
npx agentictools info skills/dietrichgebert-ponytail-ponytail

The second line is the CLI lookup for this page — handy in READMEs and docs.