Deepseek ArtifactsDeepseek Artifacts
Гайд по плагину для Claude Code

Ponytail для Claude Code: установка, настройка и что меняется

Ponytail — бесплатный промпт под лицензией MIT, который подталкивает Claude Code к «наименьшему изменению, которое полностью решает задачу»: нужно ли этому коду вообще существовать, нет ли уже готового в репозитории, справится ли стандартная библиотека — и только потом писать. Ниже: как установить, что делает каждый уровень и что именно показал бенчмарк самого автора.

Ponytail в двух словах

  • Внутри — один промпт: skills/ponytail/SKILL.md и есть весь набор правил, а плагин Claude Code лишь загружает его в каждую сессию автоматически.
  • Установка — два отдельных промпта по порядку: /plugin marketplace add DietrichGebert/ponytail, затем /plugin install ponytail@ponytail.
  • Три уровня — lite, full (по умолчанию) и ultra; переключаются через /ponytail lite и /ponytail ultra, отключаются через /ponytail off.
  • Это не только про «писать меньше»: /ponytail-review ревьюит диф, /ponytail-audit ранжирует весь репозиторий, /ponytail-debt собирает отложенные упрощения в реестр.

DietrichGebert/ponytail — README

ИсточникGitHubchecked 2026-11-12

Открыть

skills/ponytail/SKILL.md — the prompt itself

ИсточникGitHubchecked 2026-11-12

Открыть

INSTALL.md — per-agent install steps

ИсточникGitHubchecked 2026-11-12

Открыть

skills/ponytail-help/SKILL.md — levels, band, defaults

ИсточникGitHubchecked 2026-11-12

Открыть

benchmarks/results/2026-10-07-agentic.md

ИсточникGitHubchecked 2026-11-12

Открыть

dsh-ponytail — DeepSeek Harness port (unofficial)

Источникdeepseekharnessplugins.comchecked 2026-11-12

Открыть

Все команды, названия уровней, ключи настроек и числа на этой странице прочитаны в апстрим-репозитории 2026-11-12. Слеш-команды намеренно не переведены: переведённая команда не выполняется.

Данные репозитория из GitHub API на 2026-11-12: 189,276 звёзд, 10,531 форков, создан 2026-06-12, последний релиз v5.3.3 опубликован 2026-10-29. Звёзды меняются ежедневно — это снимок, а не константа.

Установка и использование Ponytail по шагам

  1. 1

    Понять, что именно вы ставите

    Ponytail — набор правил для кодирующих агентов, который Dietrich Gebert публикует под MIT на github.com/DietrichGebert/ponytail. Ядро — один файл промпта, skills/ponytail/SKILL.md; всё остальное в репозитории нужно, чтобы загрузить этот промпт в конкретного агента. Плагин Claude Code — путь «всегда включено»: после установки он работает в каждой сессии, добавляет бейдж в статусную строку и набор команд /ponytail-*.

    README прямо говорит: лестница применяется после того, как агент понял задачу, а не вместо этого. Ленивым можно быть к решению, но не к чтению кода.

  2. 2

    Проверить предпосылки

    Нужен Claude Code с командой /plugin и Node.js в PATH. Плагин запускает два небольших lifecycle-хука на Node.js; без node навыки работают, но каждый вызов хука печатает безобидное node: command not found. Пользователям Nix и nvm: node должен быть в PATH неинтерактивного шелла, а не только интерактивного.

    Команды

    node --version

    Если /plugin вообще не распознаётся, ваш Claude Code устарел. Обновите его и перезапустите, прежде чем идти дальше.

  3. 3

    Добавить маркетплейс — первый промпт

    Отправьте это внутри Claude Code. Команда регистрирует репозиторий как маркетплейс плагинов с именем ponytail; ничего пока не устанавливается.

    Команды

    /plugin marketplace add DietrichGebert/ponytail

    В репозитории есть свой .claude-plugin/marketplace.json, поэтому достаточно ссылки owner/repo — ни URL, ни локального пути не нужно.

  4. 4

    Установить плагин — второй промпт

    Это нужно отправить отдельным промптом. Формат — plugin@marketplace, поэтому ponytail@ponytail означает «плагин ponytail из маркетплейса ponytail». INSTALL.md прямо пишет, что для работающей установки нужно два отдельных промпта: объединение их в одно сообщение — самая частая причина, по которой установка не срабатывает.

    Команды

    /plugin install ponytail@ponytail

    В настольном приложении Claude Code на вкладке Code те же две команды можно ввести в поле ввода или нажать + → Plugins → Add plugin и выбрать настроенный маркетплейс.

  5. 5

    Убедиться, что всё включилось

    Запустите /ponytail без аргумента. Если Ponytail был выключен, он включится на уровне по умолчанию; если уже включён — сообщит текущий уровень. Активный режим также виден в тексте при старте и при смене уровня, а бейдж в статусной строке держится всю сессию.

    Команды

    /ponytail

    Быстрая функциональная проверка: попросите что-то заведомо склонное к переусложнению, например выбор даты, и посмотрите, ищет ли агент сначала существующий компонент Input и нативный браузерный пикер.

  6. 6

    Выбрать уровень

    lite делает ровно то, что попросили, и одной строкой называет вариант поменьше, оставляя выбор вам. full — уровень по умолчанию: лестница, небольшой тест там, где логика его требует, и ответ с перечислением пропущенного. ultra ещё и спорит с самим запросом до начала работы. Уровень держится до смены или конца сессии.

    Команды

    /ponytail lite/ponytail full/ponytail ultra/ponytail off

    Два других выхода: сказать обычными словами stop ponytail или normal mode, либо выполнить /ponytail off.

  7. 7

    Ревьюить диф по тем же правилам

    /ponytail-review — не линтер. Он читает код, который затрагивает изменение, а не только диф, и отчитывается в таком порядке: корректность, безопасность, поведение под реальной нагрузкой, наличие тестов, скорость, отсутствие лишнего. Каждая находка обязана сказать, что делает код, что ломается, как исправить и что будет, если не исправлять. Цель можно сузить или расширить обычными словами.

    Команды

    /ponytail-review/ponytail-review staged/ponytail-review branch

    Без указания цели ревьюятся незакоммиченные изменения, а если их нет — последний коммит.

  8. 8

    Аудит всего репозитория и сбор долгов

    /ponytail-audit прогоняет те же проверки по всему репозиторию: сначала разбирает точки входа и поток данных, затем явно предполагает уровень нагрузки и говорит какой, после чего ранжирует находки, чтобы было видно, что чинить первым. /ponytail-debt собирает оставленные агентом комментарии shortcut: в реестр, чтобы «потом» тихо не превратилось в «никогда».

    Команды

    /ponytail-audit/ponytail-debt

    Формат комментария фиксирован: shortcut: <в чём ограничение>, <когда обновлять>. Именно фиксированность и делает сбор возможным.

  9. 9

    Задать значение по умолчанию и обновляться

    Уровень, с которого начинается каждая новая сессия, задаётся двумя способами: переменной окружения PONYTAIL_DEFAULT_MODE или полем defaultMode в ~/.config/ponytail/config.json. Порядок разрешения: переменная окружения, затем файл конфигурации, затем full. Для обновлений один раз включите автообновление в /plugin → Marketplaces → ponytail либо обновите вручную и перезагрузите плагины.

    Команды

    export PONYTAIL_DEFAULT_MODE=ultra/plugin marketplace update ponytail/reload-plugins

    Чтобы удалить, сначала запустите node scripts/uninstall.js из самого плагина, а потом /plugin remove ponytail: скрипт лежит внутри плагина и исчезнет вместе с ним.

Лестница: что Ponytail действительно меняет

Всё изменение поведения — это лестница решений. Перед тем как писать код, агент останавливается на первой ступени, которая полностью работает:

  • 1Нужно ли этому вообще существовать? Функции, опции и гибкость, которых никто не просил, пропускаются и называются одной строкой. На расплывчатое «сделай X» приходит минимальная версия, делающая главное.
  • 2Может, это уже есть в кодовой базе — хелпер, компонент, сервис, готовый приём? Тогда используется так, как это делает окружающий код.
  • 3Справится ли стандартная библиотека или возможность платформы? Тогда она, если только у проекта нет своего компонента, который лучше нативного виджета.
  • 4Есть ли это в уже установленной зависимости? Тогда она. Ради нескольких строк зависимость не добавляется.
  • 5Можно ли уложить в одну строку, понятную с первого взгляда? Тогда одна строка.
  • 6Иначе — минимальный работающий код, плюс маленький тест или самопроверка на assert, если внутри есть ветвление, цикл, парсер, деньги или безопасность.

Что не сокращается никогда

Правило звучит как «пиши только то, что нужно задаче», а не «пиши как можно меньше». Промпт называет пять вещей, которые остаются при любом уровне:

  • Валидация на границах доверия.
  • Обработка ошибок, предотвращающая потерю данных.
  • Безопасность.
  • Доступность.
  • То, что пользователь явно попросил, и калибровка, нужная реальному железу.

Вторая половина изменения — ответ. Каждый ответ заканчивается одной-двумя строками о том, что пропущено или не проверено, и о риске, который стоит знать. Именно поэтому меньший диф выглядит проверяемым, а не подозрительным.

Все команды и что каждая делает

Ponytail добавляет восемь команд. Последние четыре — те, что упускают те, кто ставит его, ожидая лишь стиль написания кода.

  • /ponytail [lite | full | ultra | off]Задать интенсивность или выключить. Без аргумента включает Ponytail на уровне по умолчанию, если он был выключен, иначе сообщает текущий уровень.
  • /ponytail band [on | off]Только для Claude Code: скрыть или показать полосу над промптом. Без аргумента — переключение; уровень не меняется.
  • /ponytail band importТолько для Claude Code: добавить прошлые сессии Claude Code на локальную доску вместе с их стоимостью, временем агента и токенами.
  • /ponytail-reviewРевью текущего дифа глазами того самого старшего разработчика, которого будят, когда всё падает: баги, безопасность, реальная нагрузка, рискованный код без теста, медленные пути и что можно вырезать. Цель задаётся обычными словами: uncommitted, staged, branch или ссылка на PR.
  • /ponytail-auditТе же проверки по всему репозиторию, самое важное сверху.
  • /ponytail-debtСобрать отложенные комментарии shortcut: в реестр, чтобы «позже» не стало «никогда».
  • /ponytail-gainПоказать таблицу измеренного эффекта из бенчмарка автора.
  • /ponytail-helpОдноразовая шпаргалка по уровням, навыкам и командам. Не меняет режим и ничего не сохраняет.

Другие агенты и порт для DeepSeek Harness

Промпт переносим, и в репозитории есть адаптеры для длинного списка хостов. Три самых важных:

  • 1Codex: codex plugin marketplace add DietrichGebert/ponytail, затем codex plugin add ponytail@ponytail, после чего открыть /hooks в Codex, доверить два lifecycle-хука и начать новый тред. В Codex команды — это навыки с пространством имён, вызываются как $ponytail:ponytail-review.
  • 2Cursor: сделайте git clone репозитория и запустите node ponytail/scripts/cursor-hooks.js install. Команда вливает два нативных хука в ~/.cursor/hooks.json и не трогает ваши существующие. Уровень переключается обычным сообщением вроде /ponytail lite; субагенты правила не получают, потому что subagentStart в Cursor не умеет внедрять контекст.
  • 3Любой другой агент: npx skills add DietrichGebert/ponytail копирует шесть навыков в папку навыков этого агента, а копия AGENTS.md в проект даёт постоянные правила вообще без плагинной обвязки.
  • 4У пользователей DeepSeek Harness есть неофициальный порт dsh-ponytail, чьи навыки адаптированы из этого же репозитория по MIT. Это сторонняя адаптация, а не публикация Dietrich Gebert, поэтому за её поведение отвечает портировавший.
Открыть страницу порта dsh-ponytail

Опубликованные числа и как их читать

README начинается с крупных сокращений. Все они взяты из одного файла в репозитории, benchmarks/results/2026-10-07-agentic.md, и описывают одну конфигурацию: headless Claude Code, Opus 5.5, стандартный effort, Claude Code CLI 2.1.288, 39 задач, по 5 прогонов на задачу и плечо, 585 сессий. Независимого воспроизведения здесь не заявляется.

  • 1Строки кода: -53% относительно варианта без навыка, 95%-й бутстрэп-интервал от -63% до -41%. Выходные токены -45%, стоимость -26%, время -41%.
  • 2Корректность не изменилась: на 18 задачах со скрытыми проверками Ponytail 5 прошёл 87 из 90, без навыка — 86 из 90. На шести задачах по безопасности все три плеча прошли 30 из 30.
  • 3Тестов стало больше, а не меньше: тест там, где логика его требует, появился в 98% ячеек против 68% без навыка, а собственные тесты агента поймали 66% внедрённых багов против 46%.
  • 4Ответы предпочли в слепом сравнении: 110 против 67 у предыдущей версии, критерий — сообщает ли ответ ревьюеру всё необходимое.
  • 5Важен состав задач: 12 функциональных тикетов в реальном репозитории FastAPI + React, 18 точечных задач со скрытыми проверками, 6 запросов «сделай маленькое приложение» и 3 «покажи пример». Во всех плечах Bash был отключён, поэтому измеряется то, что агент пишет, а не то, что он умеет отлаживать.

Читайте эти числа как «автор измерил свой инструмент на своём наборе задач». Это аккуратно задокументированный бенчмарк — таблицы по задачам, интервалы, отдельная заметка об ошибке изоляции в раннем харнессе — но не сторонний аудит, и он не обещает тех же процентов в вашем репозитории.

Честные ограничения до установки

Ponytail — это промпт. Ничто его не принуждает, и есть несколько вещей, которые стоит знать до того, как он попадёт в командный репозиторий.

  • 1Это сторонний проект, а не продукт Anthropic. Лицензия MIT, поддерживает один человек; README предупреждает, что проект не поставляет .exe или .dll, и копия с такими файлами — не его.
  • 2Это ориентир, а не шлюз. Модель всё ещё может переусложнить, а на задаче, где минимальное решение очевидно с самого начала, разница близка к нулю. Лестница окупается там, где агент иначе начал бы изобретать структуру.
  • 3Полоса и доска есть только в Claude Code, требуют Claude Code 2.1.290 или новее и не появляются в панели чата VS Code, облачных сессиях и claude -p. Данные сессий по умолчанию остаются локально в ~/.config/ponytail/band/, если вы сами не настроите необязательный вебхук.
  • 4На некоторых хостах функций меньше. Без lifecycle-хуков уровень не сохраняется между сессиями (Gemini CLI, Qwen, Antigravity, Goose); субагенты Cursor правила не получают; адаптеры «только файл правил» вообще не имеют команд.
  • 5Он оставляет состояние вне папки плагина: флаг режима, ~/.config/ponytail/config.json, копию скрипта статусной строки и, возможно, запись statusLine в ~/.claude/settings.json. Если удалить только плагин, бейдж продолжит показывать последний режим.

Это не значит, что ставить не надо, — это значит, что сначала стоит попробовать на реальной задаче в своём репозитории и первые несколько прогонов читать диф самому, чтобы понять, сколько он срезает, и только потом катить на команду.

Вопросы о Ponytail

Что ещё почитать