Ponytail: kỹ năng AI agent giảm code
ponytail đưa thang quyết định bảy bậc vào AI coding agent — bỏ qua, tái sử dụng, stdlib, tính năng native, dependency đã cài, một dòng, rồi cái tối thiểu chạy được. Benchmark trên FastAPI + React cho thấy giảm 54% dòng (94% với date picker từ 404 xuống 23 dòng), giảm token 20%, chạy nhanh hơn 27%, và giữ nguyên safety guard. Nên dùng nó nếu agent của bạn cứ muốn cài thư viện thay vì kiểm tra `<input type=date>`.
Ponytail làm gì
ponytail truyền bộ quy tắc tối giản code vào AI coding agent, bắt chúng áp dụng thang quyết định bảy bậc trước khi viết code: bỏ qua, tái sử dụng, dùng stdlib, dùng tính năng native, dùng cái đã cài, viết một dòng, rồi viết cái tối thiểu chạy được. Nó nhắm vào việc xây dựng quá mức bằng cách thay thế hành vi mặc định của AI là cài thư viện trước khi kiểm tra `<input type=date>` có tồn tại không.
Thang bảy bậc và các lệnh của nó
- ✓Thang quyết định bảy bậc áp dụng trước mỗi thay đổi code — bắt đầu từ 'Cái này có cần tồn tại không?' rồi qua tái sử dụng, stdlib, tính năng native, và dependency đã cài trước khi viết gì
- ✓Lệnh review code — `/ponytail-review` kiểm tra diff hiện tại, `/ponytail-audit` quét cả repo, `/ponytail-debt` ghi lại các quyết định hoãn lại
- ✓Ba chế độ cường độ — `lite` cho hướng dẫn nhẹ, `full` là mặc định, `ultra` cho sự kìm hãm tối đa
- ✓Safety được bảo toàn — trust-boundary validation, xử lý mất dữ liệu, error handling, kiểm tra bảo mật và accessibility không bao giờ bị cắt; điểm safety 100% được giữ xuyên suốt benchmark
- ✓Được benchmark trên các phiên Claude Code thực đang sửa repo FastAPI + React — giảm 54% dòng trung bình trên 12 feature task với Haiku 4.5, n=4
- ✓Subagent propagation — bộ quy tắc tự động truyền vào mọi agent được spawn qua Agent tool, với regex matching để kiểm soát phạm vi
- ✓Không cần config — chạy ngay từ lúc checkout; file config hoặc env var tùy chọn cho chế độ mặc định
- ✓Hỗ trợ Claude Code, Codex, Gemini CLI, Copilot CLI, Devin CLI, Grok Build, Hermes Agent, OpenCode, Pi agent, và instruction-only mode cho Cursor, Windsurf, Cline, và nhiều hơn nữa
Cài đặt Ponytail vào AI agent của bạn
Cách cài plugin khác nhau theo nền tảng. Claude Code và Codex: `/plugin marketplace add DietrichGebert/ponytail` rồi `/plugin install ponytail@ponytail` (hai prompt riêng). Gemini CLI: `gemini extensions install https://github.com/DietrichGebert/ponytail`. Copilot CLI: `copilot plugin marketplace add DietrichGebert/ponytail` rồi `copilot plugin install ponytail@ponytail`. Devin CLI: `devin plugins install DietrichGebert/ponytail`. Grok Build: `grok plugin install DietrichGebert/ponytail --trust`. Instruction-only mode cho Cursor, Windsurf, Cline, và JetBrains: copy file rules phù hợp từ repo (`.cursor/rules/`, `.windsurf/rules/`, `.clinerules/`, hoặc `.github/copilot-instructions.md`) vào project.
Khi nào dùng ponytail-review, audit, và debt
- •Dùng `/ponytail-review` sau diff để nhận danh sách xóa code bị xây thừa
- •Dùng `/ponytail-audit` để tìm code bị xây thừa tích lũy khắp codebase
- •Dùng `/ponytail-debt` để thu hoạch các shortcut được gắn tag `ponytail:` thành sổ ghi chép để các quyết định hoãn lại không bị lãng quên
Tại sao nó hiệu quả: các con số benchmark
- ✓54% ít dòng trung bình (94% trên các feature bị xây thừa như date picker) trong benchmark có thể tái tạo trên các phiên agentic thực
- ✓20% chi phí token thấp hơn và 27% thực thi nhanh hơn so với agent không dùng skill
- ✓Safety 100% được bảo toàn — validation, error handling, bảo mật, và accessibility không bao giờ bị cắt
- ✓Hỗ trợ 16+ nền tảng AI coding với mức độ tích hợp khác nhau
- ✓Không cần config — chạy ngay từ lúc checkout
- ✓Subagent propagation giữ bộ quy tắc nhất quán trong workflow agent lồng nhau
Điều Ponytail không bao giờ cắt
- △Chỉ áp dụng cho AI agent, không trực tiếp cho developer người
- △Có thể không cần thiết với codebase đã tối giản sẵn, nơi xây dựng quá mức không phải vấn đề
Caveman và các cách tiếp cận tối giản code khác
Câu hỏi thường gặp
Có, instruction-only mode hoạt động với Cursor, Windsurf, Cline, và GitHub Copilot Chat trong VS Code và JetBrains. Copy file rules phù hợp từ repo (`.cursor/rules/`, `.windsurf/rules/`, `.clinerules/`, hoặc `.github/copilot-instructions.md`) vào project. Copilot CLI có đường cài plugin riêng tách biệt với extension editor.
Caveman giảm những gì agent nói; ponytail giảm những gì agent xây dựng. README gợi ý kết hợp cả hai — chúng không xung đột. Caveman giữ nguyên code byte-for-byte trong khi ponytail nén code mà không thay đổi prose.
Hỗ trợ plugin cho Claude Code, Codex, Gemini CLI, Copilot CLI, Devin CLI, Grok Build, Hermes Agent, OpenCode, và Pi agent. Instruction-only mode cho Cursor, Windsurf, Cline, Kiro, JetBrains Junie, CodeWhale, Swival, và Amp. Xem docs cài đặt để có danh sách đầy đủ.
ponytail không bao giờ xóa trust-boundary validation, xử lý mất dữ liệu, error handling, kiểm tra bảo mật, hoặc code accessibility. Benchmark cho thấy safety 100% được giữ xuyên suốt 12 feature task. Prompt 'viết one-liner' đơn thuần giảm xuống 95% — ponytail giữ nguyên mọi guard.
Với Claude Code dùng `/plugin remove ponytail`; với Codex dùng `codex plugin remove ponytail`. Trước tiên chạy `node scripts/uninstall.js` từ clone riêng để dọn `~/.config/ponytail/config.json` và statusLine trong `~/.claude/settings.json`, vì gỡ plugin trước sẽ xóa script.
Có. Benchmark single-shot dùng promptfoo — chạy `npx promptfoo eval -c benchmarks/promptfooconfig.yaml` để tái tạo. Với benchmark agentic, chạy các phiên Claude Code headless có và không có skill rồi so sánh git diff chúng tạo ra.
Vấn đề nó giải quyết
AI coding agent mặc định xây dựng quá nhiều. Một yêu cầu date picker thường kéo theo cài flatpickr, tạo component wrapper, thêm styles, và tranh luận về timezone khi `<input type=date>` đã xử lý hầu hết các trường hợp. Agent ưu tiên tính đầy đủ thay vì sự cần thiết, và không có chỉ dẫn ngược nó sẽ giả định rằng người dùng muốn implementation với mọi tính năng và edge case có sẵn.
Cách sử dụng
Sau khi cài, bộ quy tắc chạy tự động trên mọi prompt. Dùng `/ponytail` một mình để kiểm tra level hiện tại, hoặc thêm `lite`, `full`, `ultra`, hoặc `off` để thay đổi. Các lệnh skill (`/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`) hoạt động trên các host có plugin như Claude Code, Codex, Gemini CLI, và Devin CLI. Với instruction-only host, bộ quy tắc luôn bật nhưng các slash command không dùng được. Đặt mặc định bền vững qua env var `PONYTAIL_DEFAULT_MODE` hoặc `~/.config/ponytail/config.json`.
Ai nên thử — và ai nên bỏ qua
Thử ponytail nếu AI agent của bạn liên tục xây dựng quá nhiều, cứ muốn cài thư viện khi tính năng native đã có, hoặc sinh code dài dòng có thể đơn giản hơn. Đặc biệt có giá trị khi các con số benchmark (54% ít code hơn, 20% rẻ hơn, 27% nhanh hơn) quan trọng với workflow của bạn. Bỏ qua nếu codebase của bạn đã gọn, agent hiếm khi xây thừa, hoặc bạn thích implementation đầy đủ.
Repo liên quan
Chưa chắc ponytail có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về ponytail.
