ponytail-audit
dietrichgebert/ponytail
Whole-repo audit for over-engineering: ranked list of what to delete, simplify, or replace.
What is ponytail-audit?
Scans your entire codebase to identify over-engineering, dead code, unused dependencies, and unnecessary abstractions. Use when you want a one-shot report of what can be cut, simplified, or replaced with standard library or native equivalents—without applying fixes.
- Identifies dead code, unused features, and speculative additions marked for deletion
- Finds hand-rolled implementations that stdlib or platform already provides
- Detects single-implementation interfaces, one-product factories, and delegating wrappers
- Spots unused config flags and files exporting only one thing
- Ranks findings by impact (biggest cuts first) with line and dependency savings estimates
How to install ponytail-audit
npx skills add https://github.com/dietrichgebert/ponytail --skill ponytail-auditHow to use ponytail-audit
- 1.Run the skill by asking the agent to audit the codebase (e.g., 'audit this codebase', 'audit for over-engineering', 'find bloat')
- 2.Review the ranked findings report, which lists each issue with its tag, description, replacement suggestion, and file path
- 3.Check the summary line showing estimated lines and dependencies that could be removed
- 4.Use the findings to prioritize what to delete, simplify, or refactor
- 5.Exit with 'stop ponytail-audit' or 'normal mode' when done
Use cases
- Audit a codebase for bloat before a major refactor or cleanup sprint
- Find unused dependencies and dead code across a large repo
- Identify over-abstracted layers and unnecessary wrapper functions
- Discover hand-rolled utilities that duplicate stdlib functionality
- Get a prioritized list of simplification opportunities across the entire project
- Backend and full-stack engineers managing legacy or growing codebases
- Tech leads evaluating codebase health and complexity
- Developers preparing for a cleanup or modernization effort
- Teams auditing dependencies and technical debt
ponytail-audit FAQ
No. It is a one-shot report only. It lists findings but does not modify code.
ponytail-review scans a diff (changes in a PR or commit). ponytail-audit scans the entire repository.
Over-engineering and complexity: dead code, unused abstractions, single-implementation interfaces, hand-rolled stdlib, unnecessary wrappers, and unused config. It does not check for correctness bugs, security holes, or performance issues.
Findings are ranked by impact, with the biggest cuts (most lines or dependencies saved) listed first.
delete: remove entirely. stdlib: use standard library instead. native: use platform feature instead. yagni: abstraction with only one use. shrink: same logic in fewer lines.
Full instructions (SKILL.md)
Source of truth, from dietrichgebert/ponytail.
name: ponytail-audit description: > Whole-repo audit for over-engineering. Like ponytail-review, but scans the entire codebase instead of a diff: a ranked list of what to delete, simplify, or replace with stdlib/native equivalents. Use when the user says "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit", or "/ponytail-audit". One-shot report, does not apply fixes.
ponytail-review, repo-wide. Scan the whole tree instead of a diff. Rank findings biggest cut first.
Tags
Same as ponytail-review:
delete:dead code, unused flexibility, speculative feature. Replacement: nothing.stdlib:hand-rolled thing the standard library ships. Name the function.native:dependency or code doing what the platform already does. Name the feature.yagni:abstraction with one implementation, config nobody sets, layer with one caller.shrink:same logic, fewer lines. Show the shorter form.
Hunt
Deps the stdlib or platform already ships, single-implementation interfaces, factories with one product, wrappers that only delegate, files exporting one thing, dead flags and config, hand-rolled stdlib.
Output
One line per finding, ranked: <tag> <what to cut>. <replacement>. [path].
End with net: -<N> lines, -<M> deps possible. Nothing to cut: Lean already. Ship.
Boundaries
Scope: over-engineering and complexity only. Correctness bugs, security holes, and performance are explicitly out of scope. Route them to a normal review pass. Lists findings, applies nothing. One-shot. "stop ponytail-audit" or "normal mode" to revert.
Related skills
More from dietrichgebert/ponytail and the wider catalog.
ponytail
Forces the laziest solution that actually works—question whether tasks need to exist, reach for stdlib first, ship minimal code.
ponytail-review
Code review focused exclusively on over-engineering—finds what to delete.
ponytail-help
Quick-reference card for ponytail modes, skills, and commands.
ponytail-debt
Harvest ponytail: comments into a debt ledger to track deliberate shortcuts before they rot.
ponytail-gain
Display ponytail's measured benchmark impact as a compact ASCII scoreboard.