Возражение — до того, как вы о нём подумали
«Skills — это официальная функция, и это уже мои собственные файлы»
Правда по всем пунктам, и мы не будем ходить вокруг да около. Skill — это папка, внутри которой лежит SKILL.md: две строки front matter — имя и описание — и затем текст. Это markdown, он ваш, он живёт в git, и если завтра вы передумаете, вы заберёте его с собой. Никто вас ни к чему не привязывал.
Механизм тоже продуман хорошо. Пока Skill не нужен, в памяти остаётся только его описание — примерно сто слов; основная часть загружается, когда ИИ решает, что она уместна, а вспомогательные файлы — только если он их действительно открывает. Это называется прогрессивным раскрытием, и это правильный способ дать ИИ сотню умений, не оплачивая их все в каждой фразе.
Так что нет: эта страница существует не для того, чтобы сказать, что Skills сделаны плохо. Она существует потому, что этот механизм, который для способности — достоинство, для идентичности — изъян.
Дело в том, когда он попадает в контекст
Skill попадает в контекст тогда, когда нужен. В этом вся его элегантность: он не занимает места, пока нет причины, а ИИ узнаёт причину, прочитав описание. Идеально для задачи «оформить презентацию по нашим правилам», которая нужна во вторник и не нужна в четверг.
С идентичностью так не работает. Кто вы — это не компетенция, которая включается, когда тема того требует: это то, что уже есть до того, как вы открыли рот, и оно определяет, как вы читаете вопрос. То, что появляется только по вызову, — не характер, а инструкция.
Это та же разница, что между «уметь готовить» и «быть голодным». Первое достают, когда нужно; второе движет вами, даже когда вы не думаете о еде.
И есть ещё кое-что, чего у Skill нет
В SKILL.md нет способа написать эту часть переписывать нельзя. Это не недосмотр: Skill — это то, что вы даёте ИИ, чтобы он этим пользовался, и защищать тут нечего.
В Reminder, напротив, есть тот, кто читает, понимает и может переписать, — поэтому каждый блок заявляет, какая его часть ваша: от правил, которые можете менять только вы, до заметок, которые ИИ обновляет без спроса. Это разница между инструкцией и конституцией, и потому же у Reminder есть структура, а не просто проза.
В двух колонках
| | Skill | Reminder |
|---|
| На что отвечает | как что-то делается | кто тот, кто это делает |
| Когда попадает в контекст | когда ИИ сочтёт его уместным | всегда, с первой строки |
| Что содержит | процедуру, примеры, скрипты | ядра, модули, воспоминания, разрешения |
| Кто может его переписывать | вы, вне разговора | зависит от зоны: это заявлено внутри файла |
| Если его убрать | ИИ перестаёт уметь это делать | ИИ перестаёт быть кем-то |
| Что он помнит | ничего: завтра такое же, как сегодня | как это прошло: в связанной памяти модуля |
Где они уживаются вместе — а это почти всегда
Это не «или — или», и нет смысла делать из этого выбор. Работает чёткое разделение: Skills — для умений, Reminder — для идентичности. Один разговор, никакого конфликта — потому что они не борются за одно и то же место.
У агентов для программирования такое разделение уже имеет свой дом: файл, который агент читает при запуске, — CLAUDE.md, AGENTS.md — это место для идентичности, а Skills остаются процедурами, которые эта идентичность умеет выполнять.
И граница проницаемее, чем кажется. Skill, который у вас уже есть, переводится в модуль почти строка в строку: изобретать нечего, потому что обе формы отвечают на одни и те же четыре вопроса.
- Описание: что он делает и когда его применять
→- ### FUNCTION · ### TRIGGER
- Инструкции, шаги, которым нужно следовать
→- ### ROUTINE
- Чего делать нельзя, ограничения
→- ### LIMITI
- Примеры входных и выходных данных
→- ### ESEMPIO
Работает и в обратную сторону, и это самое неожиданное. Обязательны в SKILL.md только две строки front matter — имя и описание. Дальше вы свободны: структуру основного текста никто не предписывает. То, что Skills обычно пишут свободной прозой, — распространённая привычка, а не правило; и сами рекомендации Anthropic советуют нумерованные шаги, шаблоны вывода и примеры — а это в точности та форма, которая у модуля уже есть. Он встаёт под front matter без переписывания.
Не переходит только одно, и об этом стоит сказать. Внутри модуля строка, заявляющая эту часть вы не переписываете, имеет место, и приложение следит за её исполнением; внутри SKILL.md этой строке негде жить, и никакого приложения, которое бы её защищало, в цепочке нет: маркеры зон остаются там как текст, и никто их не применяет. Перевести умение получается отлично. Перевести идентичность — нет: и это всё, что говорит эта страница.
Третий путь: не переводить, а прививать
Перевести Skill в модуль — один путь. Другой — не переводить его вообще. Основной текст SKILL.md — это markdown, и модуль принимает его в точности как есть, под строкой, которая заявляет, чьё это место: в Standard она называется ### SUB-MODULE:, а под ней идёт весь текст Skill — его назначение, шаги, примеры. Ничего не переписывается. Вы объявляете, чьё это, и где оно лежит.
## MODULE 07: ...
### FUNCTION
### SUB-MODULE: SKILL_A
#### FUNCTION
#### ROUTINE
### SUB-MODULE: SKILL_B
#### FUNCTION
#### ROUTINE
[P4]
### ASSOCIATED MEMORY
[/P4]
Модуль добавляет вокруг него две вещи, которым в SKILL.md некуда деться. Первая — зона разрешений: привитый текст попадает в блок, который заявляет, кто вправе его переписывать, и этот отказ выполняет приложение, а не модель. Вторая — ### ASSOCIATED MEMORY, раздел, где оседает то, что вы узнаёте, пользуясь им: что эти шаги у вас идут в другом порядке; что с вашими файлами тот этап не работает; что вывод вы хотите покороче. Skill знает, как это делается. Модуль помнит, как это прошло.
И в модуле может жить не один. Если три Skills работают в одном ремесле — прочитать PDF, вытащить из него таблицу, написать по ней резюме, — можно привить их в один модуль, по одному на каждый ### SUB-MODULE:. С этого момента они больше не включаются по одному: они попадают в контекст вместе, когда попадает модуль, и видят друг друга. Это ваш выбор, и это момент, когда вы перестаёте делать прогрессивное раскрытие.
Цена названа прямо: вы платите за все три каждый раз, когда этот модуль активен, включая день, когда нужен был только один. Покупаете вы то, что они перестают противоречить друг другу: одна связанная память вместо трёх, одно правило, записанное один раз, вместо одной и той же фразы в трёх местах, и ни одной недоделанной работы из-за того, что ИИ загрузил один из них, а другой — нет. Если ремесло одно, модуль один. Если ремёсел три, держите их раздельно и пусть включаются, когда нужны: это как раз тот случай, где отдельный Skill справляется лучше, чем это.
Одно вы делаете сегодня вручную, и лучше знать об этом заранее: прививка — это копирование и вставка, и с этого момента копия ваша. Если автор Skill выпустит новую версию, вы сами решаете, переносить ли её: текст лежит на виду, внутри вашего файла, и обновляется так, как обновляется файл. Это та же договорённость, что и во всём остальном: ничто не сдвигается у вас под ногами так, чтобы вы этого не видели.
В одной строке
Skill — это то, что ваш ИИ умеет делать. Reminder — это кто он, когда делает. Берите оба: они друг другу не мешают, потому что находятся в разных местах.