Agent Skills — коллекция навыков для AI-агентов от Jane Street
📂 Исходный код на GitHubКоллекция навыков для AI-агентов и чат-ботов от Jane Street. Каждый навык — каталог с файлом SKILL.md; первый навык socratic-tutor превращает LLM в строгого персонального репетитора, который учит сократическим методом — вопросами, а не лекциями. MIT-лицензия.
Jane Street — американская торговая фирма, известная в том числе своими открытыми библиотеками на OCaml. В начале ноября 2026 года компания опубликовала небольшой репозиторий agent_skills: коллекцию навыков для AI-агентов и чат-ботов. Репозиторий крошечный — два коммита и всего один навык, — но за несколько дней собрал более 5000 звёзд на GitHub. Код там вообще отсутствует: вся ценность упакована в текстовые инструкции для LLM.
Что такое Agent Skills
Формат простой. Каждый навык — это каталог с файлом SKILL.md, внутри которого лежат инструкции для агента. Никаких скриптов, зависимостей и сборки: навык — это чистый текст, который объясняет модели, как вести себя в определённой задаче.
Пока в коллекции один навык:
| Навык | Что делает |
|---|---|
| socratic-tutor | Превращает LLM в строгого персонального репетитора, который учит сократическим методом: через вопросы, а не лекции |
Репозиторий распространяется под лицензией MIT. Вклад принимается через pull request; коммиты нужно подписывать согласно правилам Developer Certificate of Origin.
socratic-tutor: суть
Задача навыка сформулирована жёстко: не отвечать на вопросы, а доводить пользователя до настоящего мастерства в выбранной теме. Метод — майевтика, он же сократический метод: учить в первую очередь вопросами, которые заставляют человека рассуждать, предсказывать и объяснять, а не пассивно читать лекцию.
В описании навыка прописаны фразы-триггеры: «teach me», «tutor me», «quiz me», «drill me», «help me master». И отдельно оговорено, когда навык включать не надо: при разовых вопросах вида «explain X» или «what is X».
Отдельного внимания заслуживает защита от ложного старта. Если пользователь задал вопрос между делом, навык отвечает на него как обычно и не запускает цикл обучения. Если намерение неоднозначно, репетитор задаёт один короткий вопрос: «Хотите быстрый ответ — или научить вас этому как следует?» Авторы объясняют логику так: ложный старт обойдётся пользователю навязанной викториной, а уточнение стоит одного слова.
Как начинается занятие
Первый этап — диагностика, и учить до её окончания запрещено:
- Тема разбивается на 4–10 конкретных поднавыков. Для широких тем строится дерево из двух уровней, и работа начинается с первой ветки.
- Репетитор предупреждает, что сначала задаст несколько вопросов по одному за раз, чтобы понять, что вы уже знаете.
- Диагностика: 3–5 зондирующих вопросов от простых к сложным. По ответам определяется стартовый уровень каждого поднавыка.
- Репетитор показывает карту навыков и предлагает точку старта. Пользователь может выбрать другую.
Карта навыков
Прогресс по каждому поднавыку измеряется шкалой из шести уровней:
- 0 — не слышал о понятии
- 1 — слышал, но не разбирался
- 2 — могу следить за разговором
- 3 — могу сделать с помощью
- 4 — могу сделать самостоятельно
- 5 — могу научить других и разобрать граничные случаи
Карта рисуется в ASCII после каждого изменения уровня и по запросу «show progress»:
Topic: <topic> overall: ######.... 58%
-----------------------------------------------------------------
subskill A [########..] 4/5 * independent
subskill B [######....] 3/5 <- current focus
subskill C [##........] 1/5
-----------------------------------------------------------------
Требование к оформлению прописано вплоть до юникод-символов: сплошные и светлые блоки (U+2588 / U+2591) для столбиков прогресса.
Цикл обучения
Ядро навыка — цикл, который повторяется для каждого поднавыка. Правила здесь конкретные и местами неожиданно жёсткие:
- Один вопрос за раз. Сообщение заканчивается сразу после вопроса — без подсказок, примеров ответов и обучающего текста следом.
- Типы вопросов. Предсказать результат, объяснить почему, найти ошибку в правдоподобном, но неверном утверждении, применить идею к новому случаю, связать две идеи между собой.
- Неправильный ответ — не повод давать правильный. Вместо этого репетитор задаёт более узкий вопрос, который обнажает противоречие в рассуждениях ученика. Прямое объяснение допускается только после 2–3 неудачных попыток — и сразу за ним следует повторная проверка той же идеи с другого угла.
- Правильный ответ тоже не гарантия. Время от времени репетитор играет адвоката дьявола: «Вы уверены? А что насчёт X?» Ученик должен уметь защищать верные ответы под давлением.
- Объяснения — только для действительно нового. Короткий текст из нескольких предложений допустим, лишь когда материал нельзя вывести из уже известного. Дальше снова вопросы.
- Практика с инструментами. Если инструменты доступны и уместны, задания практические: «напишите запрос, который...», «предскажите, что напечатает этот код». Проверяется реальный вывод, а не пересказ ученика.
Строгие правила оценки
Уровни здесь зарабатываются, а не раздаются. Правила повышения:
- Уровень растёт только после подтверждённого результата как минимум в двух независимых проверках, причём хотя бы одна — воспроизведение по памяти, без подсказки и не сразу после объяснения.
- Расплывчатый или частично верный ответ — неверный. Пока непонятно, понимает ли ученик на самом деле, репетитор продолжает спрашивать. Приписывать ученику понимание, которое он не выразил сам, запрещено.
- Интервальное повторение: старые поднавыки периодически проверяются без предупреждения. Провалил повторение — уровень понижается, тема возвращается в работу.
- Уровень 5 требует двух вещей: справиться с граничным случаем или каверзным вопросом и объяснить концепцию настолько ясно, чтобы ей можно было доверить преподавание.
- Льстить запрещено. В тексте навыка это сформулировано с примером: «Не совсем — почему X случилось бы, если бы Y было верно?» работает лучше, чем «Отличная попытка!».
Последний пункт выглядит как прямой выпад против подхалимства LLM — склонности моделей хвалить любой ответ пользователя.
Завершение курса и команды
Курс заканчивается, только когда все поднавыки достигли целевого уровня. По умолчанию это 4/5; 5/5 — если пользователь просил полное мастерство. Затем идёт финальная смешанная аттестация: минимум один вопрос по каждому поднавыку, плюс одна интегральная задача. Сдали — получаете финальную карту и список слабых мест. Не сдали — возвращаетесь в цикл обучения.
В любой момент работают команды:
- «show progress» — показать карту навыков
- «harder» / «easier» — изменить сложность
- «just tell me» — на один вопрос отключить сократический режим и просто ответить
- «save state» — выдать компактный блок: тема, карта навыков с уровнями, заметки о заблуждениях и пройденном. Блок можно вставить в новую сессию
- «resume from:» — восстановить сохранённое состояние и продолжить с того же места
Пара «save state» / «resume from» решает проблему, знакомую всем, кто учился с помощью чат-бота: длинный курс живёт дольше одной сессии, а контекст между сессиями по умолчанию не переносится.
Как подключить
Путь зависит от того, чем вы пользуетесь:
- Кодинг-агент с поддержкой формата SKILL.md — скопируйте каталог навыка в папку навыков вашего агента и попросите агента использовать навык («teach me X»).
- Обычный чат-бот — вставьте тело SKILL.md в чат или в системный промпт, а следом — что вы хотите изучить.
Файл с навыком весит около пяти килобайт, так что вставка в системный промпт почти не занимает контекстное окно.
Почему это интересно
Репозиторий показателен в двух отношениях. Во-первых, он демонстрирует, что навык — это просто инструкция: чтобы получить инструмент уровня «персональный репетитор с диагностикой и аттестацией», хватило пяти килобайт текста без единой строки кода. Во-вторых, инструкции написаны с редкой для промптов строгостью: где именно запрещено льстить, когда разрешено объяснять, какими символами рисовать прогресс-бар. Именно эта конкретность и делает поведение модели предсказуемым. Если Jane Street будет пополнять коллекцию — формат уже задан, и новые навыки появятся в том же виде: каталог, SKILL.md, ничего лишнего.