ponytail

Enforces minimal code solutions by prioritizing stdlib and native features over dependencies.

2|2|Updated Jun 21, 2026
One-click install
npx skills add https://github.com/BTreeMap/SKILLs --skill ponytail-btreemap
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ponytail
Source: https://github.com/BTreeMap/SKILLs/tree/main/ponytail
Command: npx skills add https://github.com/BTreeMap/SKILLs --skill ponytail-btreemap

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Codebases accumulate over-engineering: speculative abstractions, unnecessary dependencies, and boilerplate that inflate maintenance cost. This Skill forces the laziest solution that works, cutting code before it is written and auditing what already exists. ## Core Features & Use Cases - The Ladder: A decision hierarchy that stops at the first sufficient rung: skip unneeded work, reuse existing code, use the standard library, use native platform features, then installed dependencies, and only then write minimal code. - Nine Verbs: design, refactor, review, audit, test, teach, debt, stats, and help, each with a dedicated reference file covering planning, diff review, repo audits, and debt tracking. - Three Levels: lite suggests lazier alternatives, full enforces the ladder by default, and ultra challenges requirements before building. - Use Case: When asked to add a caching layer, instead of building a custom cache class, the Skill applies functools.lru_cache in one line and records the skipped complexity. ## Quick Start Ask the agent to review this diff with ponytail and cut anything the standard library or platform already covers.

Frequently Asked Questions about ponytail

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reduce over-engineering in my codebase?

Run the audit verb to scan the whole repository for standing complexity such as dead code, single-implementation abstractions, and hand-rolled stdlib functionality. It outputs a ranked list of what to delete, simplify, or replace, ending with a net line-count estimate.

How to review a diff for unnecessary complexity?

Use the review verb, which judges a diff only for smuggled complexity. It emits one line per finding with a tag (delete, stdlib, native, yagni, shrink), what to cut, and what replaces it, then reports the net lines removable.

What is the difference between ponytail lite, full, and ultra modes?

Lite builds what is asked but names the lazier alternative in one line. Full, the default, enforces the ladder: stdlib and native features first with the shortest diff. Ultra is a YAGNI extremist that deletes before adding and challenges requirements before building.

When should I not simplify code with this approach?

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

How does ponytail track deliberate technical shortcuts?

Deliberate corner-cuts are marked with a ponytail: comment naming the ceiling and upgrade path. The debt verb greps the repository for these markers and compiles them into a ledger grouped by file, flagging any marker with no upgrade trigger.

Does this approach skip writing tests for minimal code?

Non-trivial logic such as branches, loops, parsers, or money and security paths must leave one minimal runnable check, like an assert-based self-check or a single small test file. Trivial one-liners need no test, and existing passing tests are never deleted.