Skills от dzhng — 30 навыков для агентов, которые пишут код сами
📂 Исходный код на GitHubКоллекция из 30 навыков для AI-агентов от dzhng: от исследования неизвестностей до ревью кода и визуальной проверки. Работает с любым агентом, который поддерживает навыки. Лицензия MIT, около 1.3k звёзд.
Отдать фичу AI-агенту — это не то же самое, что поставить задачу и уйти. Сложность в другом: агент должен сам разобраться, где границы работы, что уже известно, а что придётся исследовать, и не бросить задачу на середине. Репозиторий dzhng/skills — это 30 навыков, которые превращают такую работу в повторяемый цикл: нарезать, собрать, проверить, повторить.
Что это за набор
Это личная библиотека автора репозитория, а не продукт компании. Навыки не привязаны к предметной области — они работают с любой кодовой базой. Каждый навык — это папка с файлом SKILL.md, который агент читает в момент вызова. Навыки небольшие, их можно свободно комбинировать и переписывать под себя.
Установка одна команда:
npx skills add dzhng/skills
Ключ --list покажет список и позволит выбрать нужные навыки по отдельности. Другой путь — просто скопировать папку skills/<категория>/<название>/ в папку навыков вашей обвязки агента (например, .claude/skills/).
Если репозиторий уже скачан, тот же результат даёт npm-скрипт из package.json:
npm run install-skills # в ~/.agents/skills, с симлинком из ~/.claude/skills
npm run install-skills -- ../my-app # в конкретный репозиторий, а не в домашнюю папку
npm run install-skills -- --only write-spec,review ../my-app
npm run list-skills # имена и категории
Настоящие файлы лежат в .agents/skills/<название>/ — одной плоской копии без категорий. В .claude/skills/<название> лежит относительная символическая ссылка на неё, поэтому обе обвязки читают один и тот же набор. Повторный запуск перезаписывает установленные копии, но если .claude/skills/<название> у вас остался обычной папкой, скрипт его не тронет. Ключ --dry-run сначала показывает план.
Навыки работают с любой обвязкой агента, которая их поддерживает: Claude Code, Codex, opencode, Cursor, duet и ещё семьдесят с лишним. Полный список — в репозитории vercel-labs/skills.
Программная фабрика
Автор считает, что разработка уходит от разовых задач к фабрикам: агент сам идёт к цели и не останавливается, пока результат нельзя принять. Трудность не в том, чтобы разбить цель на задачи, — это умеет любой планировщик. Трудность в том, чтобы разбить её на куски, каждый из которых можно проверить по отдельности, и вообще понять, где эти куски проходят.
Сами навыки работают с метафорой тумана войны. Сначала местность картируют, потом вырезают из неё территории, которые строятся и проверяются независимо, а всё, что скрывает за собой новую карту, режут заново. Перепланирование не заканчивается вместе с планированием: спецификация остаётся живым документом и перенарезается прямо во время работы, как только выясняется, что план устарел. Каждый кусок обязан доказать, что он готов: ревью архитектуры, ревью кода и — для всего визуального — сверка с базовым изображением.
В качестве доказательства автор приводит один запуск Codex без присмотра: 3 дня 18 минут агент шёл к одной цели, сам нарезал работу и повторял цикл, пока не закончил.
Полный цикл: большая фича от начала до конца
-
Карта тумана. Навык
/explore-unknownsразбирает идею по четырём квадрантам. Сначала он выясняет то, что уже известно, потом проводит интервью, показывает готовые артефакты, которые можно потрогать и отреагировать на них, и в конце делает отдельный проход по слепым зонам. На выходе — полная карта из четырёх квадрантов. -
Формализация. Навык
/write-specпревращает карту в спецификацию. Большая часть решений уже принята выше по потоку, поэтому этот шаг — переписывание, и автор в это время не читает текст. Если встречается что-то действительно новое, навык спрашивает, а не решает сам. -
Сборка. Дальше включается цикл:
/goal /implement-spec specs/<feature>
/goal переводит обвязку агента в режим цикла — такой же приём работает и в Claude Code, и в Codex, — а спецификация им управляет. Маленькая фича занимает пару часов, большая — два-три дня. Команду можно уточнить: например, указать ветку или сказать, что код пишет Codex, а вы остаётесь главным оркестратором и ревьюером.
- Ревью решений, а не правок. В конце запуска навык сводит файл
specs/<feature>/choices.md— все решения, которые агент принял там, где спецификация молчала, от наименее уверенных. Это и есть то, что вы смотрите. Если решение не нравится, отправляете правку назад, и следующий проход проверяет себя заново. Каждый раз, когда ИИ пишет код, вы ревьюите то, что он выбрал.
Остальное срабатывает само: в конце каждого среза — проход /review, для всего визуального — /screenshot-critique и /compare-screenshots, после последнего среза — /close-spec, а если реализация показывает, что план устарел, план нарезается заново.
По времени вы потратите от 30 минут до нескольких часов на шаги 1–2 и столько же на шаг 4. Если прогон идёт два дня, по два-три часа уходит на каждом конце. Ваше время — это начало и конец, середина идёт без вас.
Исследование через быстрые эксперименты
Когда очередное решение требует не мнения, а данных, включается навык /auto-research. Он начинает с одной быстрой показательной задачи, проверяет короткую серию гипотез, перебирает их сочетания и расширяет перебор по мере того, как подход становится рабочим. Каждая новая неудача становится центром внимания, а уже пройденные задачи превращаются в проверки на то, что старое не сломалось. Реальный пример команды:
/auto-research Reduce cost per task by at least 15% relative to the saved
baseline, without reducing task success. Start with one fast development task.
Если непонятно, что считать оценкой, какой метрикой мерить и что за база, навык спрашивает до начала экспериментов. Пройти проверку и попасть в целевой процент — это два разных требования. На выходе вы получаете лучший проверенный артефакт и карту влияния параметров: что проверяли, где помогает, где мешает и как изменения взаимодействуют. Дальше эти данные идут в спецификацию.
Когда цикл не нужен
Полный конвейер требуется не всегда. Навыки можно брать по отдельности.
- Обсуждение превратилось в фичу.
/explore-unknownsполезен и в начале, и в конце разговора: запустите его, чтобы собрать углы, которые ни вы, ни собеседник не подумали, и продолжите со второго шага. - Правка, которая вышла за рамки. Случайный фикс, который задел больше ожидаемого: сначала
/review(refactor-clean → code-review → write-docs), потом/audit-choices. Если правка слишком велика, чтобы её прочитать, сводкаchoices.mdостаётся единственным способом понять, что теперь происходит в вашей кодовой базе.
Состав навыков
Engineering — нарезать, собрать, проверить, повторить
| Навык | Что делает |
|---|---|
| explore-unknowns | Разбирает неизвестности задачи по квадрантам: сначала известное, потом интервью, артефакты, куда можно отреагировать, и отдельный проход по слепым зонам. На выходе — полная карта. |
| auto-research | Оптимизирует через быстрые последовательные эксперименты, выдаёт проверенный вариант и карту влияния параметров. |
| write-spec | Дробит большую фичу на срезы, которые можно проверить и принять по отдельности, с границами API и работающими контрольными точками. |
| implement-spec | Собирает готовую спецификацию до конца, по одному принимаемому проходу, поручая независимые срезы параллельно. |
| implement-spec-with-goal | Включает режим цели в обвязке агента, дальше идёт по implement-spec до конца. |
| implement-spec-with-codex | Код пишет Codex, вы выступаете оркестратором, интегрируете и проверяете каждый проход. |
| close-spec | Архивирует выпущенную спецификацию и переписывает её из плана сборки в постоянную запись о решениях со ссылками на код. |
| handoff-spec | Передаёт спецификацию, которая в работе, другой машине или агенту: сначала записывает в неё всё, что знает текущая сессия. Вызывается вручную. |
| refactor-clean | Убирает дублирование, перенося владение к одной чистой идее вместо наслаивания слоёв совместимости рядом с проблемой. |
| write-tests | Пишет тесты по одной трассерной пуле за раз и закрепляют реальное поведение, а не детали реализации, значения конфигурации или случайные примеры. |
| audit-tests | Сопоставляет контракты с независимыми доказательствами из тестов, убирает дубли и вычищает технику, которая нужна только ради тестов. |
| audit-performance | Находит горячие места, которые усиливают нагрузку или повторяют её без пользы, ранжирует их по риску и предлагает самое маленькое исправление. |
| write-docs | Пишет документацию как глоссарий принципов и ссылок, а не как копию кода, которая устареет. |
| code-review | Проверяет правку на устаревшие имена, мёртвые ссылки, лишнюю сложность и комментарии, которые пересказывают код вместо его объяснения. В конце — вердикт. |
| audit-choices | Проверяет решения исполнителя, а не его правку. Итоговый сводный список показывает архитектуру и решения, принятые за вас. |
| retro | Разбирает сессию работы и предлагает улучшения окружения агента, проверок, указаний и доступа к информации. Вызывается вручную. |
| eli5 | Объясняет спецификацию или изменение простым языком, не теряя точности. Остальные навыки берут этот приём для разборов. |
| review | Закрывает готовое изменение одним проходом: refactor-clean, затем code-review, затем write-docs. |
| codex | Использует локальный Codex CLI как второго независимого агента для ревью и — по прямой просьбе — для делегированной сборки. |
| claude | То же самое через Claude Code (claude -p): консультация и делегированная сборка по прямой просьбе. |
| marketing-pages | Правила для написания и проверки маркетинговых страниц по их типам. |
Visual review — не принимать картинку на глаз
| Навык | Что делает |
|---|---|
| design-with-images | Перебирает визуальные варианты, сохраняет выбранный образец и гоняет настоящие скриншоты против него, пока реализация не совпадёт. |
| compare-screenshots | Сравнивает снимки с утверждённым дизайном или с ожидаемым результатом и находит расхождения по телеметрии, а не считает старый эталон заведомо верным. |
| screenshot-critique | Даёт второму агенту, ничего не знавшему о задаче, посмотреть на результат свежим взглядом. Обязателен, прежде чем объявить визуальный баг исправленным. |
| preview-shots | Открывает отобранные снимки в одном окне Preview на macOS, чтобы вы могли посмотреть их глазами. |
Authoring — держать сами навыки в форме
| Навык | Что делает |
|---|---|
| write-skills | Создаёт и правит навыки: триггеры, первые слова, постепенное раскрытие и типичные ошибки, которые стоит вычистить. |
| audit-agents | Проверяет или переписывает AGENTS.md так, чтобы там остались только долговечные принципы, а скорость итераций стояла на первом месте. |
| eval-skills | Проверяет навык на эталонных случаях: слепые прогоны в свежих подагентах, отдельный судья и правки по найденным пробелам. |
Graphics
| Навык | Что делает |
|---|---|
| renderer | Правила архитектуры для GPU-рендеринга на TypeGPU и WebGPU: один оркестратор кадра, единственные владельцы ресурсов, реестр ресурсов, договорённости о глубине и композитинге, проверка, которая смотрит на пиксели. |
| launch-video | Ставит ролик-запуск кодом: одна визуальная идея, выросшая из проекта, картинка и синтезированный звук привязаны к одному таймингу. |
Лицензия и благодарности
Набор распространяется по лицензии MIT.
Навык retro скопирован у Мэтта Покока. Идеи тумана войны и «нарисуй карту» пришли от него же и от Тхарика. Навыки доступны на skills.sh/dzhng/skills.
Источник: https://github.com/dzhng/skills