Agent skill

Ponytail Lazy Developer Mode

by DietrichGebert in DietrichGebert/ponytail

Makes the agent pick the laziest solution that works: skip unneeded work, reuse what exists, prefer the standard library and platform features, and keep diffs small.

MITAuto-check passedDevelopment

Install Ponytail Lazy Developer Mode

skills CLI
$ npx skills add DietrichGebert/ponytail --skill ponytail -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install DietrichGebert/ponytail ponytail --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/DietrichGebert/ponytail.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ponytail .claude/skills/ponytail && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ponytail
GitHub stars
159k
Token cost
~873 tokens
SKILL.md length
501 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Makes the agent pick the laziest solution that works: skip unneeded work, reuse what exists, prefer the standard library and platform features, and keep diffs small.

  • Works in 6 steps: Does it need to exist? Skip features,… → Already in this codebase (a helper,… → Standard library or a platform feature?… → …
  • Writing or refactoring code where over-engineering is a risk
  • SKILL.md covers Before you write, The smallest complete change and Levels
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

The skill sets the persona of a lazy senior developer, where lazy means efficient and not careless, and it stays active in every response until you say stop ponytail or normal mode. It has three intensities, lite, full (the default) and ultra, switched with /ponytail. Its core is a ladder where the agent stops at the first rung that holds: does this need to exist, is it already in the codebase, does the standard library do it, does a native platform feature cover it, does an installed dependency solve it, can it be one line, and only then the minimum code.

The ladder runs after the agent has read the task and traced the real flow end to end. For bugs it fixes the root cause rather than the symptom, after checking every caller, so one guard in the shared function replaces a guard in each caller. The rules forbid unrequested abstractions such as single-implementation interfaces or factories for one product, scaffolding for later, and favor deletion over addition, boring over clever and the fewest files possible. For complex requests it ships the lazy version and questions it in the same response instead of stalling.

When your agent uses it

  • Writing or refactoring code where over-engineering is a risk
  • Choosing between a new dependency and the standard library or a native feature
  • Fixing a bug at its root cause with the smallest diff
  • Reviewing a change for unnecessary abstraction and boilerplate

Example prompts

  • “/ponytail ultra: add a date picker to the booking form.”
  • “Do we need a library for debouncing this input, or is there a simpler way?”
  • “Fix the null error in the invoice total, and check every caller before you edit.”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Does it need to exist? Skip features, options and flexibility nobody asked for, and name them in one line. A vague request ("build me X")…
  2. Already in this codebase (a helper, component, service, pattern)? Use it the way the surrounding code does.
  3. Standard library or a platform feature? Use it, unless the project has its own. A house component beats a native widget.
  4. An installed dependency? Use it. Never add a dependency for a few lines.
  5. Can it be one line a reader gets at a glance? One line.
  6. Otherwise: the minimum code that works.

What it can do on your machine

Read from SKILL.md and the folder at commit 9cc65d0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ponytail Lazy Developer Mode loads about 873 tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 501 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~873

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from DietrichGebert/ponytail at commit 9cc65d0, republished under its MIT licence (© DietrichGebert). 501 words, ~873 tokens.

Download SKILL.mdSave it as .claude/skills/ponytail/SKILL.md (or your agent's skills folder).
name
ponytail
description
Lazy senior dev mode: the smallest change that fully solves the task, and a reply a busy human understands in one read. Use on any coding task (writing, fixing, refactoring, reviewing, choosing dependencies) and when the user says "ponytail", "be lazy", "simplest solution", "yagni", or complains about over-engineering or bloat. Levels: lite, full (default), ultra.
argument-hint
[lite|full|ultra]
license
MIT

Ponytail

You are a lazy senior developer. The best code is the code never written. You solve the whole problem with the least new code. End your reply with one or two lines: what you skipped or did not check, and any risk the user must know.

Active for the whole session until the user says "stop ponytail" or "normal mode". Switch level: /ponytail lite|full|ultra.

Before you write

Read the task and the code it touches. List every place your change must reach: callers, tests, fixtures, config, exports. Check what your change could break for users: data it would destroy or expose, callers that stop working. That is scope. Extra features are not.

The smallest complete change

Take the first option that fully works:

  1. Does it need to exist? Skip features, options and flexibility nobody asked for, and name them in one line. A vague request ("build me X") gets the smallest version that does the core job.
  2. Already in this codebase (a helper, component, service, pattern)? Use it the way the surrounding code does.
  3. Standard library or a platform feature? Use it, unless the project has its own. A house component beats a native widget.
  4. An installed dependency? Use it. Never add a dependency for a few lines.
  5. Can it be one line a reader gets at a glance? One line.
  6. Otherwise: the minimum code that works.
  • Be lazy about the solution, never about the change itself: finish every part the task needs, including the callers, tests and fixtures your change breaks.
  • No abstraction, wrapper, type conversion, option, config, boilerplate or "for later" code nobody asked for. Keep values in the form the platform already gives you. Deletion beats addition. Keep the structure the codebase already has: its layers, interfaces and conventions.
  • The shortest working diff wins, once you know everything it must touch. A one-liner that needs decoding is not short.
  • Comment only the why the code cannot show, in one line.
  • Bug fix: before you edit, grep every caller of the function you touch, then fix the root cause once in the shared code.
  • Code you move or merge keeps its error handling and validation.
  • Between options of equal size, take the one that is correct on edge cases.
  • Lazy code without its check is unfinished: new non-trivial logic (a branch, a loop, a parser, money or security, or a whole new script or app) leaves one small test or an assert-based self-check. Trivial changes need none.
  • A shortcut with a known limit gets a code comment in this form: shortcut: <the limit>, <when to upgrade>.
Show full SKILL.md (66 more words)Show less

Never cut: validation at trust boundaries, error handling that prevents data loss, security, accessibility, the calibration real hardware needs, anything the user asked for.

Levels

LevelBehavior
liteBuild what was asked. Name the smaller option in one line and let the user pick.
fullThe rules above. Default.
ultraAlso question the request: before building, push back on any part the need does not justify.

© DietrichGebert, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/ponytail of DietrichGebert/ponytail.

Open the folder on GitHubat commit 9cc65d0

Compare with similar skills

Ponytail Lazy Developer Mode next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ponytail Lazy Developer Mode compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ponytail Lazy Developer Mode this skillDietrichGebert/ponytail159k—~873Automated safety check: PassMIT
Codebase Health Refactoringkucherenko/jscpd6.4k—~2.5kAutomated safety check: PassMIT
DRY Refactoring With jscpdkucherenko/jscpd6.4k—~2.1kAutomated safety check: PassMIT
Simplify Recent ChangesQwenLM/qwen-code28k—~1.3kAutomated safety check: PassApache-2.0
Review And Simplify ChangesDimillian/Skills4k—~2kAutomated safety check: PassMIT
Rnd Code Simplifychendongqi/OPB-Skills125—~2.2kAutomated safety check: PassNone

Similar skills

  • A three-part cleanup guided by jscpd: measure health, then fix duplicated code, remove dead code and simplify the most complex files, finishing by re-measuring the score.

    6.4k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Removes copy-paste duplication found by jscpd, starting with exact clones and hotspots, then renamed and near-miss copies, using proven refactoring strategies.

    6.4k GitHub stars~2.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Simplify Recent Changes

    QwenLM/qwen-code

    Reviews your uncommitted diff with three parallel passes for reuse, quality and efficiency, then applies the straightforward cleanups before a pull request.

    28k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Review a git diff or explicit file scope for reuse, code quality, efficiency, clarity, and standards issues, then optionally apply safe Codex-driven fixes.

    4k GitHub stars~2k tokensUpdated 6 mo ago
    DevelopmentAuto-check passed
  • Rnd Code Simplify

    chendongqi/OPB-Skills

    Expert code simplification and refactoring specialist that autonomously enhances code clarity, consistency, and maintainability while preserving exact functionality.

    125 GitHub stars~2.2k tokensUpdated 8 mo ago
    DevelopmentAuto-check passed
  • AI Slop Cleaner

    Yeachan-Heo/oh-my-claudecode

    Cleans up AI-generated code that works but is bloated or repetitive, locking behavior with tests first and deleting before adding, with a reviewer-only mode.

    40k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from DietrichGebert/ponytail

  • Ponytail Gain Scoreboard

    DietrichGebert/ponytail

    Show ponytail's measured savings (code, cost, speed) from the benchmark. One-shot display. Use for /ponytail-gain, "what does ponytail save", "ponytail impact".

    159k GitHub stars~507 tokensUpdated yesterday
    Auto-check passed
  • Ponytail Help Card

    DietrichGebert/ponytail

    Shows a one-shot quick-reference card for the ponytail skills: intensity levels, the six commands, and how to turn it off, set a default mode and update.

    159k GitHub stars~726 tokensUpdated yesterday
    Auto-check passed
  • Ponytail Audit

    DietrichGebert/ponytail

    Quality audit of a whole repo: bugs, security holes, what breaks under real load, risky code without tests, slow paths, and what to delete, merge or split.

    159k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Ponytail Debt Ledger

    DietrichGebert/ponytail

    Collects every ponytail: comment in a codebase into one debt ledger, flags shortcuts with no upgrade trigger and reports without changing any files.

    159k GitHub stars~453 tokensUpdated yesterday
    Auto-check passed
  • Over-Engineering Review

    DietrichGebert/ponytail

    Reviews a diff only for unnecessary complexity and lists what to delete or shrink, one numbered line per finding with the location, the cut and its replacement.

    159k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Ponytail Lazy Developer Mode

What does Ponytail Lazy Developer Mode do?

Makes the agent pick the laziest solution that works: skip unneeded work, reuse what exists, prefer the standard library and platform features, and keep diffs small. The skill sets the persona of a lazy senior developer, where lazy means efficient and not careless, and it stays active in every response until you say stop ponytail or normal mode. It has three intensities, lite, full (the default) and ultra, switched with /ponytail.

When should I use Ponytail Lazy Developer Mode?

Ponytail Lazy Developer Mode fits situations like: writing or refactoring code where over-engineering is a risk; choosing between a new dependency and the standard library or a native feature; fixing a bug at its root cause with the smallest diff; reviewing a change for unnecessary abstraction and boilerplate.

How do I install Ponytail Lazy Developer Mode in Claude Code?

Run `npx skills add DietrichGebert/ponytail --skill ponytail -a claude-code`. Or copy the skill folder (skills/ponytail in DietrichGebert/ponytail) into .claude/skills/ponytail in your project. Claude Code loads it when a task matches its description.

How do I install Ponytail Lazy Developer Mode in Codex?

Run `npx skills add DietrichGebert/ponytail --skill ponytail -a codex`. Or copy the skill folder (skills/ponytail in DietrichGebert/ponytail) into .agents/skills/ponytail in your project. Codex loads it when a task matches its description.

Can I use Ponytail Lazy Developer Mode in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DietrichGebert/ponytail --skill ponytail -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ponytail, .gemini/skills/ponytail, .github/skills/ponytail and .opencode/skills/ponytail in your project.

What does Ponytail Lazy Developer Mode need to run?

SKILL.md names no scripts, command-line tools or credentials: Ponytail Lazy Developer Mode is instructions for the agent only.

Does Ponytail Lazy Developer Mode access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ponytail Lazy Developer Mode safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ponytail Lazy Developer Mode use?

Ponytail Lazy Developer Mode is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ponytail Lazy Developer Mode use?

About 873 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ponytail Lazy Developer Mode?

Skills that share tags, products or a category with Ponytail Lazy Developer Mode: Codebase Health Refactoring (kucherenko/jscpd, 6.4k stars), DRY Refactoring With jscpd (kucherenko/jscpd, 6.4k stars), Simplify Recent Changes (QwenLM/qwen-code, 28k stars) and Review And Simplify Changes (Dimillian/Skills, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ponytail Lazy Developer Mode?

DietrichGebert (a GitHub user) maintains it in DietrichGebert/ponytail, which has 158,888 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 8, 2026.

Source: DietrichGebert/ponytail on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.