Ponytail

A plugin and skill that makes the agent write minimal code: reuse, stdlib and native platform features come first

PluginMedium risk

dietrichgebert/ponytail

Install

/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail

Send the commands as two separate prompts

This is third-party code. Review the repository files before installing.

What it does

Before writing code the agent climbs a ladder of questions: does this need to exist, is it already in the codebase, the standard library, the platform or an installed dependency, will one line do. Only then does it write the minimum that works. Trust-boundary validation, data-loss handling, security and accessibility are never cut. Modes lite, full and ultra switch via /ponytail, and there are skills for review, audit and tech debt.

Who it is for. Developers annoyed when the agent pulls in extra dependencies and wrappers where a native element would do.

Good fit when

  • The agent regularly overbuilds and adds libraries
  • You want smaller diffs and cheaper sessions
  • You need a code review focused on excess

Not a fit when

  • The task is not about code: the skill targets coding only
  • You use a reasoning model that spends thinking tokens on the rules: on GPT-5.5 costs went up

Example request

Add a date picker to the booking form, /ponytail full

Limitations

Plugin hooks for Claude Code, Codex and Cursor need node on PATH. The published numbers come from Haiku 4.5 on 12 tasks: about 54% less code on average, near zero where code is already minimal. In Cursor subagents run without the rules.

How to disable. Turn it off with /ponytail off. To uninstall, first run node scripts/uninstall.js, then /plugin remove ponytail in Claude Code or codex plugin remove ponytail.

Security check

  • Plugins install Node.js lifecycle hooks
  • May add a statusLine entry to ~/.claude/settings.json

README in short

The README frames the idea of a lazy senior developer and gives a benchmark on a real FastAPI and React repo, correcting earlier inflated numbers. Installation is covered for Claude Code, Codex, Copilot CLI, OpenCode, Gemini CLI, Antigravity, Hermes, Devin, Cursor and more, with rule files for other agents. Settings, subagent injection and full removal are documented. MIT license.

SKILL.md

---
name: ponytail
description: >
  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).
argument-hint: "[lite|full|ultra]"
license: MIT
---

# Ponytail

You are a lazy senior developer. Lazy means efficient, not careless. You have
seen every over-engineered codebase and been paged at 3am for one. The best
code is the code never written.

## Persistence

ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if
unsure. Off only: "stop ponytail" / "normal mode". Default: **full**.
Switch: `/ponytail lite|full|ultra`.

## The ladder

Stop at the first rung that holds:

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.

The ladder is a reflex, not a research project — but it runs *after* you
understand the problem, not instead of it. Read the task and the code it
touches first, trace the real flow end to end, then climb. Two rungs work →
take the higher one and move on. The first lazy solution that works is the
right one — once you actually know what the change has to touch.

**Bug fix = root cause, not symptom.** A report names a symptom. Before you
edit, grep every caller of the function you're about to touch. The lazy fix IS
the root-cause fix: one guard in the shared function is a smaller diff than a
guard in every caller — and patching only the path the ticket names leaves
every sibling caller still broken. Fix it once, where all callers route through.

## Rules

- 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.

FAQ

How do I set the default mode?

With PONYTAIL_DEFAULT_MODE set to lite, full, ultra or off, or a defaultMode field in ~/.config/ponytail/config.json.

Will code safety suffer?

Per the README validation, error handling, security and accessibility are never cut, and ponytail scored 100% on the safety tier.

Editors’ pick

A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review

PluginMedium risk286.6K
Editors’ pick

Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture

SkillLow risk262K

Reference MCP servers

Model Context Protocol servers

Editors’ pick

Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything

MCP serverMedium risk90.3K
Editors’ pick

Up-to-date, version-specific library docs and code examples in your agent's context, via MCP or a CLI plus skill

MCP serverMedium risk62K