Saltar al contenido
Marketplace

ponytail-review

de dietrichgebert

Review a diff for over-engineering. Finds what to delete: reinvented stdlib, needless deps, speculative abstractions. One line per finding.

Resumen

SKILL.mdLeída en 552acd5

Review diffs for unnecessary complexity. One line per finding: location, what to cut, what replaces it. The diff's best outcome is getting shorter.

Format

<N>. L<line>: <tag> <what>. <replacement>., or <N>. <file>:L<line>: ... for multi-file diffs. Number findings 1., 2., ... across the whole report, so the user can say "fix 2 and 5".

Tags:

  • 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.
  • reuse: equivalent helper, util, or pattern already in this repo. Name the path.
  • yagni: abstraction with one implementation, config nobody sets, layer with one caller.
  • shrink: same logic, fewer lines. Show the shorter form.

Examples

❌ "This EmailValidator class might be more complex than necessary, have you considered whether all these validation rules are needed at this stage?"

✅ 1. L12-38: stdlib: 27-line validator class. "@" in email, 1 line, real validation is the confirmation mail.

✅ 2. L4: native: moment.js imported for one format call. Intl.DateTimeFormat, 0 deps.

✅ 3. L18-29: reuse: slugify helper duplicates src/lib/slug.ts slugify. Delete it, import the existing one.

✅ 4. repo.py:L88: yagni: AbstractRepository with one implementation. Inline it until a second one exists.

✅ 5. L52-71: delete: retry wrapper around an idempotent local call. Nothing replaces it.

✅ 6. L30-44: shrink: manual loop builds dict. dict(zip(keys, values)), 1 line.

Scoring

End with the only metric that matters: net: -<N> lines possible.

If there is nothing to cut, say Lean already. Ship. and stop.

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, not this one. A single smoke test or assert-based self-check is the ponytail minimum, not bloat, never flag it for deletion. Does not apply the fixes, only lists them. "stop ponytail-review" or "normal mode": revert to verbose review style.

Archivos 1 archivo

Instálala a mano

Deska ejecuta esto por ti, para cada agente que elijas. Para ejecutarlo tú en una terminal:

npx skills add dietrichgebert/ponytail --skill ponytail-review

Más de dietrichgebert

  • ponytaildietrichgebertLazy senior dev mode for any coding task (write, refactor, fix, review): YAGNI, stdlib first, no unrequested abstractions. Not for non-coding requests.73.1 k instalaciones en skills.sh0
  • ponytail-auditdietrichgebertAudit the whole repo for over-engineering. A ranked list of what to delete, simplify, or replace with stdlib or native features.781 instalaciones en skills.sh0
  • ponytail-helpdietrichgebertQuick reference for ponytail's modes, skills, and commands. One-shot display.736 instalaciones en skills.sh0
  • ponytail-gaindietrichgebertShow ponytail measured impact as a scoreboard: less code, less cost, more speed, from the agentic benchmark averages. One-shot display.712 instalaciones en skills.sh0
  • ponytail-debtdietrichgebertHarvest every ponytail: shortcut comment into one debt ledger, so deferrals get tracked instead of forgotten. One-shot report.708 instalaciones en skills.sh0
Todas las skills de dietrichgebert