ponytail-review

Đánh giá mã chỉ tập trung vào over-engineering. Tìm ra những gì cần xóa: thư viện chuẩn bị phát minh lại, dependency không cần thiết, abstraction suy đoán, tính linh hoạt chết. Một dòng cho mỗi phát hiện: vị trí, thứ cần cắt, thứ thay thế. Sử dụng khi người dùng nói "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", hoặc gọi /ponytail-review. Bổ sung cho đánh giá tập trung vào tính đúng đắn, cái này chỉ săn tìm độ phức tạp.

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.

Thêm skills từ dietrichgebert

ponytail
dietrichgebert
Ép buộc giải pháp lười biếng nhất nhưng vẫn hoạt động, đơn giản nhất, ngắn nhất, tối thiểu nhất. Mô phỏng một senior dev đã từng thấy mọi thứ: đặt câu hỏi liệu tác vụ có cần tồn tại không (YAGNI), dùng thư viện chuẩn trước code tùy chỉnh, tính năng nền tảng gốc trước dependency, một dòng trước năm mươi dòng. Hỗ trợ các mức cường độ: lite, full (mặc định), ultra. Sử dụng bất cứ khi nào người dùng nói "ponytail", "hãy lười", "chế độ lười", "giải pháp đơn giản nhất", "giải pháp tối thiểu", "yagni", "làm ít hơn", hoặc...
developmentcode-review
ponytail-audit
dietrichgebert
Kiểm tra toàn bộ kho lưu trữ về tình trạng thiết kế quá mức. Giống ponytail-review, nhưng quét toàn bộ mã nguồn thay vì một bản diff: danh sách xếp hạng những gì cần xóa, đơn giản hóa hoặc thay thế bằng các giải pháp tương đương từ thư viện chuẩn/gốc. Sử dụng khi người dùng nói "kiểm tra mã nguồn này", "kiểm tra thiết kế quá mức", "tôi có thể xóa gì khỏi kho này", "tìm mã phình to", "ponytail-audit" hoặc "/ponytail-audit". Báo cáo một lần, không áp dụng sửa lỗi.
code-reviewdevelopment
ponytail-help
dietrichgebert
Thẻ tham khảo nhanh cho tất cả chế độ, kỹ năng và lệnh của ponytail. Hiển thị một lần, không phải chế độ liên tục. Kích hoạt: /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