ponytail-review
코드 리뷰가 과도한 엔지니어링에만 집중합니다. 삭제할 항목을 찾습니다: 재발명된 표준 라이브러리, 불필요한 의존성, 추측성 추상화, 죽은 유연성. 발견 항목당 한 줄: 위치, 삭제할 내용, 대체할 내용. 사용자가 "과도한 엔지니어링 리뷰", "무엇을 삭제할 수 있나요", "이건 과도하게 엔지니어링되었나요", "간소화 리뷰"라고 말하거나 /ponytail-review를 호출할 때 사용합니다. 정확성 중심 리뷰를 보완하며, 이 리뷰는 복잡성만 추적합니다.
npx skills add https://github.com/dietrichgebert/ponytail --skill ponytail-reviewReview 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.