ponytail-review

Revue de code centrée exclusivement sur la sur-ingénierie. Trouve ce qui doit être supprimé : réinvention de la bibliothèque standard, dépendances inutiles, abstractions spéculatives, flexibilité morte. Une ligne par résultat : emplacement, quoi couper, ce qui le remplace. À utiliser lorsque l'utilisateur dit « revue pour sur-ingénierie », « que pouvons-nous supprimer », « est-ce sur-ingénié », « revue de simplification », ou invoque /ponytail-review. Complète la revue axée sur la correction, celle-ci ne traque que la complexité.

npx skills add https://github.com/dietrichgebert/ponytail --skill ponytail-review

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

L<line>: <tag> <what>. <replacement>., or <file>:L<line>: ... for multi-file diffs.

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.
  • 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?"

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

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

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

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

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.

Plus de skills de dietrichgebert

ponytail
dietrichgebert
Impose la solution la plus paresseuse qui fonctionne réellement, la plus simple, la plus courte, la plus minimale. Canalise un développeur senior qui a tout vu : remets en question la nécessité même de la tâche (YAGNI), privilégie la bibliothèque standard avant le code personnalisé, les fonctionnalités natives de la plateforme avant les dépendances, une ligne avant cinquante. Prend en charge les niveaux d'intensité : lite, full (par défaut), ultra. À utiliser lorsque l'utilisateur dit "ponytail", "sois paresseux", "mode paresseux", "solution la plus simple", "solution minimale", "yagni", "fais moins", ou...
developmentcode-review
ponytail-audit
dietrichgebert
Audit complet du dépôt pour détection de sur-ingénierie. Comme ponytail-review, mais analyse l’intégralité du codebase au lieu d’un diff : une liste classée de ce qu’il faut supprimer, simplifier ou remplacer par des équivalents natifs/stdlib. À utiliser lorsque l’utilisateur dit « auditer ce codebase », « auditer pour sur-ingénierie », « que puis-je supprimer de ce dépôt », « trouver le superflu », « ponytail-audit » ou « /ponytail-audit ». Rapport unique, n’applique pas de correctifs.
code-reviewdevelopment
ponytail-help
dietrichgebert
Carte de référence rapide pour tous les modes, compétences et commandes de ponytail. Affichage unique, pas un mode persistant. Déclencheur : /ponytail-help, "ponytail help", "what ponytail commands", "how do I use ponytail".
ponytail-debt
dietrichgebert
Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". Use when the user says "ponytail debt", "/ponytail-debt", "what did ponytail defer", "list the shortcuts", "ponytail ledger", or "what did we mark to do later". One-shot report, changes nothing.
developmentcode-reviewproject-management