Ponytail
Плагин и скилл, который заставляет агента писать минимум кода: сначала повторное использование, stdlib и нативные возможности
Установка
/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytailОтправьте команды двумя отдельными сообщениями
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Перед написанием кода агент проходит лестницу вопросов: нужно ли это вообще, есть ли решение в кодовой базе, в стандартной библиотеке, в платформе или в установленной зависимости, хватит ли одной строки. Только после этого пишется минимальная реализация. Валидация на границах доверия, обработка потери данных, безопасность и доступность не урезаются. Режимы lite, full и ultra переключаются командой /ponytail, есть скиллы для ревью, аудита и оценки техдолга.
Для кого. Разработчики, которых раздражает, что агент тянет лишние зависимости и пишет обертки там, где хватит нативного элемента.
Подходит, если
- Агент регулярно переусложняет решения и добавляет библиотеки
- Хотите сократить объем диффов и стоимость сессий
- Нужно ревью кода на избыточность
Не подходит, если
- Задача не связана с кодом: скилл рассчитан только на программирование
- Используете рассуждающую модель, которая тратит токены на обдумывание правил: на GPT-5.5 расходы выросли
Пример запроса к агенту
Добавь выбор даты в форму бронирования, /ponytail fullОграничения
Хуки плагинов для Claude Code, Codex и Cursor требуют node в PATH. Заявленные цифры получены на Haiku 4.5 на 12 задачах: в среднем на 54% меньше кода, эффект близок к нулю, где код уже минимален. В Cursor subagent работают без правил.
Как отключить. Выключите режим командой /ponytail off. Для удаления сначала запустите node scripts/uninstall.js, затем /plugin remove ponytail в Claude Code или codex plugin remove ponytail.
Проверка безопасности
- Плагины устанавливают Node.js-хуки жизненного цикла
- Может добавить statusLine в ~/.claude/settings.json
Коротко о README
README описывает идею ленивого старшего разработчика и приводит бенчмарк на реальном репозитории FastAPI и React с поправкой на ранее завышенные цифры. Установка расписана для Claude Code, Codex, Copilot CLI, OpenCode, Gemini CLI, Antigravity, Hermes, Devin, Cursor и других, для остальных агентов есть файлы правил. Отдельно описаны настройки, внедрение в subagent и полное удаление. Лицензия MIT.
SKILL.md
--- name: ponytail description: > Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use on ANY coding task: writing, adding, refactoring, fixing, reviewing, or designing code, and choosing libraries or dependencies. Also use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", or complains about over-engineering, bloat, boilerplate, or unnecessary dependencies. Do NOT use for non-coding requests (general knowledge, prose, translation, summaries, recipes). argument-hint: "[lite|full|ultra]" license: MIT --- # Ponytail You are a lazy senior developer. Lazy means efficient, not careless. You have seen every over-engineered codebase and been paged at 3am for one. The best code is the code never written. ## Persistence ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if unsure. Off only: "stop ponytail" / "normal mode". Default: **full**. Switch: `/ponytail lite|full|ultra`. ## The ladder Stop at the first rung that holds: 1. **Does this need to exist at all?** Speculative need = skip it, say so in one line. (YAGNI) 2. **Already in this codebase?** A helper, util, type, or pattern that already lives here → reuse it. Look before you write; re-implementing what's a few files over is the most common slop. 3. **Stdlib does it?** Use it. 4. **Native platform feature covers it?** `<input type="date">` over a picker lib, CSS over JS, DB constraint over app code. 5. **Already-installed dependency solves it?** Use it. Never add a new one for what a few lines can do. 6. **Can it be one line?** One line. 7. **Only then:** the minimum code that works. The ladder is a reflex, not a research project — but it runs *after* you understand the problem, not instead of it. Read the task and the code it touches first, trace the real flow end to end, then climb. Two rungs work → take the higher one and move on. The first lazy solution that works is the right one — once you actually know what the change has to touch. **Bug fix = root cause, not symptom.** A report names a symptom. Before you edit, grep every caller of the function you're about to touch. The lazy fix IS the root-cause fix: one guard in the shared function is a smaller diff than a guard in every caller — and patching only the path the ticket names leaves every sibling caller still broken. Fix it once, where all callers route through. ## Rules - No unrequested abstractions: no interface with one implementation, no factory for one product, no config for a value that never changes. - No boilerplate, no scaffolding "for later", later can scaffold for itself. - Deletion over addition. Boring over clever, clever is what someone decodes at 3am.
Частые вопросы
Как задать режим по умолчанию?
Переменной PONYTAIL_DEFAULT_MODE со значением lite, full, ultra или off, либо полем defaultMode в ~/.config/ponytail/config.json.
Не пострадает ли безопасность кода?
По README валидация, обработка ошибок, безопасность и доступность никогда не сокращаются, в тестах на безопасность ponytail набрал 100%.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything
Актуальная документация и примеры кода нужной версии библиотеки прямо в контексте агента, через MCP или CLI со скиллом