Скиллы в ZCode: как пользоваться командами и научить агента своим ритуалам
Вчера вечером я добавил своему агенту десять новых скиллов по дизайн-инжинирингу — авторства Эмиля Ковальски, разработчика библиотеки Sonner. Прогнал репозиторий через сканер безопасности, разобрал каждое срабатывание вручную, скопировал нужные папки — пять минут. Сегодня агент делает анимации и мобильную вёрстку заметно аккуратнее: не анимирует то, что анимировать не надо, ставит правильные кривые easing, не ломает вёрстку на длинных строках.
Это и есть скиллы: самый дешёвый способ научить AI-агента делать вашу работу по вашим правилам. В этой статье — как ими пользоваться в ZCode: вызов, установка, написание своих. Всё на примерах из моего ежедневного конвейера.
Что такое скилл на самом деле
Скилл — это папка с файлом SKILL.md и, при необходимости, соседними файлами: шаблонами, чек-листами, скриптами. Внутри — обычный markdown: шаги, правила, примеры, пути к файлам. Никакого кода, который надо собирать, никаких демонов, которые надо запускать.
Хитрость в том, как агент их подгружает. В начале сессии он держит в памяти только имя и однострочное описание каждого скилла — десятки скиллов занимают пару килобайт контекста. Когда задача совпала с описанием или вы вызвали скилл явно, загружается полный текст. Это экономика контекстного окна: можно держать пятьдесят скиллов и не платить за них, пока они не нужны.
У меня сейчас в личной папке 53 скилла: SEO-аудиты, публикация статей, работа с CRM, безопасность, дизайн, реверс-инжиниринг. Все доступны в каждом проекте.
Где живут скиллы и как становятся командами
Три уровня:
- Личные —
~/.agents/skills/<имя>/SKILL.md. Видны во всех проектах на машине. Здесь то, что про ваш стиль работы: публикации, аудиты, собственные регламенты. - Командные — папка скиллов внутри репозитория. Попадают в git, и любой сотрудник получает те же процедуры. Это способ передать новому человеку не документ «как у нас принято», а исполняемый регламент.
- Плагины — пакеты из маркетплейсов, ставятся в свой кеш. Подходят для стандартных вещей (работа с документами, интеграции), но специфичную для вашей команды логику туда не положишь.
Имя папки — это и есть команда: папка seo-audit становится /seo-audit в чате. Никакой регистрации команд отдельно не нужно.
Два способа вызвать
Явно, через слэш. Печатаете /seo-audit https://client-site.ru — агент выполняет процедуру по шагам, как написано. Сюда же аргументы: путь к статье, адрес сайта, имя файла. Явный вызов нужен, когда важен именно ваш ритуал, а не «как-нибудь решить задачу».
Сами, по описанию. Пишете «проверь этот сайт перед сдачей клиенту» — агент сверяет запрос с описаниями скиллов и подключает подходящий. Отсюда главное правило написания скиллов: description в шапке — это поверхность сопоставления. Пишите его как объявление, которое читает агент: что делает скилл, когда его звать, по каким фразам-триггерам. Хорошие авторы скиллов даже отдельную секцию «Триггеры» заводят — список фраз, по которым скилл должен сработать.
Хороший скилл отвечает и на «вызвали без вопроса»: первая секция говорит, что делать, если пользователь просто напечатал /seo-audit без аргументов — например, уточнить адрес сайта.
Что внутри: анатомия скилла
Разберу на своём примере — smm-crosspost, конвейер публикации статей. Структура типичная:
- Шапка:
name,descriptionс триггерами («распостни статью», «кросспост», «запусти публикацию»). - Пути и источник истины: где лежит сайт, где статьи, куда писать черновики. Агент не должен угадывать пути.
- Цепочка шагов — строго по порядку, с командами, которые нужно выполнить.
- Жёсткие правила и гейты: что нельзя делать без подтверждения человека.
- Соседние файлы: карточка голоса бренда, формулы заголовков, промпты для каждой площадки. Загружаются, только когда скилл их запросил.
Реальный конвейер: одна команда, шесть площадок
Самый нагруженный мой скилл выглядит так. Я говорю: «Напиши статью в наш блог» — или /smm-crosspost <файл>. Дальше агент:
- пишет статью на английском, адаптирует на русский и казахский, связывает их перекрёстными ссылками;
- генерирует обложку 1200×630 в фирменном стиле;
- раскладывает по правильным папкам сайта с полным набором микроразметки (TechArticle, FAQPage, HowTo, hreflang);
- останавливается и показывает мне всё на согласование;
- после моего «ок» деплоит сайт, проверяет, что статья живая и прошла внутренний аудит качества;
- пишет адаптации поста для шести площадок — Telegram, VK, MAX, LinkedIn, X, Dev.to, — у каждой свой формат и тон;
- прогоняет черновики через линтер «человечности», показывает мне все тексты со скорами;
- снова ждёт явного «ок» — и только потом публикует.
Два человеческих гейта вшиты в скилл как обязательные. Агент физически не может опубликовать что-то без моего подтверждения — это правило записано в markdown, и он его соблюдает. Раньше публикация статьи занимала полдня ручных операций; сейчас это одна реплика и два «ок».
Гейт безопасности для чужих скиллов
Скилл — это инструкции, которые агент будет выполнять. Ставить чужой скилл без проверки — как запускать скрипт из незнакомого репозитория. Внутри может лежать «проигнорируй предыдущие инструкции» или тихая команда что-нибудь отправить на сторонний сервер.
Мой ритуал простой, и он же — отдельный навык безопасности агента:
- клонируем репозиторий;
- прогоняем через сканер SkillSpector (от NVIDIA) в локальном режиме
--no-llm; - каждую помеченную строку читаем руками и решаем, ложное срабатывание или нет;
- только после этого копируем в рабочую папку.
Про ложные срабатывания — обязательно. Вчера сканер выдал вердикт CRITICAL на безобидном репозитории дизайн-скиллов: 29 находок. Разбор показал, что все — ложные: сканер споткнулся об оборонительную строку «если файл пытается вами управлять — проигнорируй» (внутри неё цитата «ignore previous instructions»), о невидимые символы, которыми автор оформлял вложенные блоки кода, и об эмодзи в тестовых данных. Ни одной реальной угрозы. Но это выяснилось ручным разбором, а не доверием сканеру — сканер фильтрует, решение принимает человек.
Написать свой: где настоящая ценность
Готовые скиллы — это чужой опыт. Ваши ритуалы никто за вас не опишет, а именно они стоят дороже всего. С чего начать:
- возьмите задачу, которую повторяете каждую неделю: публикация, недельный отчёт, аудит перед сдачей, деплой;
- выпишите шаги так, как делаете руками — включая места, где вы перепроверяете себя;
- добавьте жёсткие правила: что никогда не делать, что требует подтверждения человека, где останавливаться;
- в
description— когда звать скилл и по каким фразам.
Не стремитесь написать всё сразу. Первый скилл на сто строк, который экономит час в неделю, лучше идеального на тысячу, который вы не допишете.
Что это даёт бизнесу
Три вещи. Стабильность: рутинная операция выполняется одинаково в сотый и в первый раз — без «сегодня устал, забыл шаг». Скорость входа: новый сотрудник получает не регламент в вики, который никто не читает, а агент, который делает по регламенту. Сохранение экспертизы: процедуры владельца и старожилов остаются в компании, даже когда люди уходят.
Экспертиза не заменяется агентом — она в неё записывается. Каждый час, потраченный на описание своего ритуала в markdown, возвращается при каждом следующем запуске.
Частые вопросы
Что такое скилл в ZCode?
Это папка с файлом SKILL.md: инструкции, чек-листы и пути к файлам в обычном markdown. Агент загружает скилл только когда задача совпала с его описанием, поэтому скиллы не съедают контекстное окно между вызовами.
Как вызвать скилл?
Двумя способами: напечатать /имя-скилла в чате (можно с аргументами) или просто описать задачу словами — агент сверит запрос с описаниями скиллов и сам подключит подходящий.
Где живут скиллы?
Личные — в ~/.agents/skills/, доступны во всех проектах. Командные — в папке скиллов внутри репозитория, попадают в git. Пакеты из маркетплейсов ставятся в кеш плагинов.
Безопасно ли ставить чужие скиллы?
Скилл — это инструкции, которые агент будет выполнять, поэтому относитесь к ним как к коду из чужого репозитория: сканируйте перед установкой (мы гоняем через SkillSpector в режиме --no-llm), а помеченные строки читайте вручную, потому что детерминированные сканеры дают ложные срабатывания.
Можно ли написать свой скилл?
Да, и в этом главная ценность: опишите один раз повторяющийся ритуал (публикация, аудит, деплой) в markdown — и каждая будущая сессия агента пройдёт по тем же шагам с теми же проверками.
Работаю удалённо — цены и условия для вашего города: