ponytail-review

โดย dietrichgebert

ตรวจสอบโค้ดที่เน้นเฉพาะการออกแบบที่ซับซ้อนเกินจำเป็น ค้นหาสิ่งที่ควรลบ: การสร้างไลบรารีมาตรฐานขึ้นมาใหม่, dependencies ที่ไม่จำเป็น, การสร้างนามธรรมที่คาดเดา, ความยืดหยุ่นที่ไร้ประโยชน์ หนึ่งบรรทัดต่อหนึ่งสิ่งที่พบ: ตำแหน่ง, สิ่งที่ควรตัด, สิ่งที่ใช้แทน ใช้เมื่อผู้ใช้พูดว่า "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review" หรือเรียกใช้ /ponytail-review เสริมการตรวจสอบที่เน้นความถูกต้อง โดยอันนี้จะตามล่าความซับซ้อนเท่านั้น

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.

Skills เพิ่มเติมจาก dietrichgebert

ponytail
dietrichgebert
บังคับใช้วิธีแก้ที่ขี้เกียจที่สุดที่ใช้งานได้จริง ง่ายที่สุด สั้นที่สุด และน้อยที่สุด เลียนแบบนักพัฒนาระดับอาวุโสที่เห็นทุกอย่างมาแล้ว: ตั้งคำถามว่างานนั้นจำเป็นต้องมีอยู่จริงหรือไม่ (YAGNI) เลือกใช้ไลบรารีมาตรฐานก่อนโค้ดที่เขียนเอง ใช้ฟีเจอร์ดั้งเดิมของแพลตฟอร์มก่อน dependency ใช้หนึ่งบรรทัดก่อนห้าสิบบรรทัด รองรับระดับความเข้มข้น: lite, full (ค่าเริ่มต้น), ultra ใช้เมื่อผู้ใช้พูดว่า "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less" หรือ...
developmentcode-review
ponytail-audit
dietrichgebert
การตรวจสอบทั้งรีโปสำหรับการออกแบบที่ซับซ้อนเกินจำเป็น คล้ายกับ ponytail-review แต่สแกนโค้ดเบสทั้งหมดแทนที่จะเป็น diff: รายการจัดอันดับสิ่งที่ควรลบ ลดความซับซ้อน หรือแทนที่ด้วย stdlib/ของดั้งเดิมที่เทียบเท่า ใช้เมื่อผู้ใช้พูดว่า "audit this codebase", "audit for over-engineering", "what can I delete from this repo", "find bloat", "ponytail-audit" หรือ "/ponytail-audit" รายงานครั้งเดียว ไม่ใช้การแก้ไข
code-reviewdevelopment
ponytail-help
dietrichgebert
บัตรอ้างอิงด่วนสำหรับโหมด ทักษะ และคำสั่งทั้งหมดของ ponytail แสดงผลครั้งเดียว ไม่ใช่โหมดถาวร ทริกเกอร์: /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