Agent skill

Ponytail

by DavidObando in DavidObando/gsharp

Forces the laziest solution that actually works, simplest, shortest, most minimal.

MITAuto-check passedDevelopment

Install Ponytail

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

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

GitHub CLI
$ gh skill install DavidObando/gsharp 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/DavidObando/gsharp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/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
565
Used in
8 other repos
Token cost
~1.7k tokens
SKILL.md length
918 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Forces the laziest solution that actually works, simplest, shortest, most minimal.

  • Works in 7 steps: Does this need to exist at all?… → Already in this codebase? A helper,… → Stdlib does it? Use it. → …
  • The user says ponytail
  • SKILL.md covers Persistence, The ladder, Rules and Output, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Ponytail is an agent skill from DavidObando/gsharp. 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…

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Project scaffolding, Code simplification and Translation. The repository describes itself as: GSharp Programming Language. The licence is MIT.

When your agent uses it

  • The user says ponytail
  • Simplest solution
  • Minimal solution
  • Complains about over-engineering

Example prompts

  • “ponytail”
  • “be lazy”
  • “lazy mode”
  • “/ponytail”

Workflow steps

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

  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…
  3. Stdlib does it? Use it.
  4. Native platform feature covers it? 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.

What it can do on your machine

Read from SKILL.md and the folder at commit 2192954. 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 loads about 1.7k tokens when it runs. Until then it costs about 209 tokens; SKILL.md has 918 words of instructions outside code blocks.

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

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 DavidObando/gsharp at commit 2192954, republished under its MIT licence (© DavidObando). 918 words, ~1,672 tokens.

Download SKILL.mdSave it as .claude/skills/ponytail/SKILL.md (or your agent's skills folder).
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.
  • 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 writing less code, not picking the flimsier algorithm.
  • Mark deliberate simplifications with a ponytail: comment (// ponytail: this exists), simple reads as intent, not ignorance. Shortcut with a known ceiling (global lock, O(n²) scan, naive heuristic)? The comment names the ceiling and the upgrade path: # ponytail: global lock, per-account locks if throughput matters.

Output

Code first. Then at most three short lines: what was skipped, when to add it. No essays, no feature tours, no design notes. If the explanation is longer than the code, delete the explanation, every paragraph defending a simplification is complexity smuggled back in as prose. Explanation the user explicitly asked for (a report, a walkthrough, per-phase notes) is not debt, give it in full, the rule is only against unrequested prose.

Pattern: [code] → skipped: [X], add when [Y].

Show full SKILL.md (352 more words)Show less

Intensity

LevelWhat change
liteBuild what's asked, but name the lazier alternative in one line. User picks.
fullThe ladder enforced. Stdlib and native first. Shortest diff, shortest explanation. Default.
ultraYAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement in the same breath.

Example: "Add a cache for these API responses."

  • lite: "Done, cache added. FYI: functools.lru_cache covers this in one line if you'd rather not own a cache class."
  • full: "@lru_cache(maxsize=1000) on the fetch function. Skipped custom cache class, add when lru_cache measurably falls short."
  • ultra: "No cache until a profiler says so. When it does: @lru_cache. A hand-rolled TTL cache class is a bug farm with a hit rate."

When NOT to be lazy

Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security measures, accessibility basics, anything explicitly requested. User insists on the full version → build it, no re-arguing.

Never lazy about understanding the problem. The ladder shortens the solution, never the reading. Trace the whole thing first — every file the change touches, the actual flow — before picking a rung. Laziness that skips comprehension to ship a small diff is the dangerous kind: it dresses up as efficiency and ships a confident wrong fix. Read fully, then be lazy.

Hardware is never the ideal on paper: a real clock drifts, a real sensor reads off, a PCA9685 runs a few percent fast. Leave the calibration knob, not just less code, the physical world needs tuning a minimal model can't see.

Lazy code without its check is unfinished. Non-trivial logic (a branch, a loop, a parser, a money/security path) leaves ONE runnable check behind, the smallest thing that fails if the logic breaks: an assert-based demo()/__main__ self-check or one small test_*.py. No frameworks, no fixtures, no per-function suites unless asked. Trivial one-liners need no test, YAGNI applies to tests too.

Boundaries

Ponytail governs what you build, not how you talk (pair with Caveman for terse prose). "stop ponytail" / "normal mode": revert. Level persists until changed or session end.

The shortest path to done is the right path.

© DavidObando, 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 .github/skills/ponytail of DavidObando/gsharp.

Open the folder on GitHubat commit 2192954

Used in 8 other repositories

We found 8 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 8 other GitHub owners. This page covers the copy in DavidObando/gsharp, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Ponytail 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 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ponytail this skillDavidObando/gsharp5658 repos~1.7kAutomated safety check: PassMIT
Unslop CodeJCarterJohnson/vibecoded-design-tells511—~2.5kAutomated safety check: PassCustom licence
Ponytail Lazy Developer ModeDietrichGebert/ponytail158k—~871Automated safety check: PassMIT
Code Simplification for ego-litecitrolabs/ego-lite17k—~1.2kAutomated safety check: PassMIT
Refactor Pass for Simplicitystar-history/star-history9.6k1 repos~168Automated safety check: PassMIT
Over-Engineering ReviewDietrichGebert/ponytail158k—~1.3kAutomated safety check: PassMIT

Similar skills

  • Unslop Code

    JCarterJohnson/vibecoded-design-tells

    Strips the tells that make source code read as AI-generated and forces code that fits the project instead of the model's default average.

    511 GitHub stars~2.5k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Ponytail Lazy Developer Mode

    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.

    158k GitHub stars~871 tokensUpdated today
    DevelopmentAuto-check passed
  • Finds and implements evidence-backed simplifications in the ego-lite repository, such as dead code, duplicated state and speculative abstractions, without hiding behavior changes.

    17k GitHub stars~1.2k tokensUpdated 15 days ago
    DevelopmentAuto-check passed
  • Refactor Pass for Simplicity

    star-history/star-history

    Perform a refactor pass focused on simplicity after recent changes. Use when the user asks for a refactor/cleanup pass, simplification, or dead-code removal…

    9.6k GitHub starsUsed in 1 repo~168 tokens
    DevelopmentAuto-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.

    158k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Reviews RTK's Rust code for over-engineering and verbose patterns, applying idioms like iterator chains and early returns while protecting a specific list of constraints from being simplified away.

    83k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed

Categories

Questions about Ponytail

What does Ponytail do?

Forces the laziest solution that actually works, simplest, shortest, most minimal. Ponytail is an agent skill from DavidObando/gsharp. Forces the laziest solution that actually works, simplest, shortest, most minimal.

When should I use Ponytail?

Ponytail fits situations like: the user says ponytail; simplest solution; minimal solution; complains about over-engineering.

How do I install Ponytail in Claude Code?

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

How do I install Ponytail in Codex?

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

Can I use Ponytail 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 DavidObando/gsharp --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 need to run?

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

Does Ponytail 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 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 use?

Ponytail 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 use?

About 1.7k tokens (SKILL.md is roughly 6.7k 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?

Skills that share tags, products or a category with Ponytail: Unslop Code (JCarterJohnson/vibecoded-design-tells, 511 stars), Ponytail Lazy Developer Mode (DietrichGebert/ponytail, 158k stars), Code Simplification for ego-lite (citrolabs/ego-lite, 17k stars) and Refactor Pass for Simplicity (star-history/star-history, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ponytail?

DavidObando (a GitHub user) maintains it in DavidObando/gsharp, which has 565 GitHub stars. The repository was last updated on October 8, 2026.

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