# 66. `doc-canon` → `canon`: скилл формы вышел из семейства документов (2026-08-13) Префиксы `doc-`, `task-`, `code-` пришли со слиянием плагинов ([тема 64](64-three-plugins-merged.md)) и называют **материал**, которым скилл занят, — тем же признаком, каким прежде звались плагины ([тема 56](56-plugin-and-skill-renames.md)). Для восьми скиллов признак верен. Для девятого он врал. **Р235. Скилл занят не материалом, а формой, и формы у проекта одна на все части.** `check` сверяет раскладку документов, `adopt` заводит все части сразу и зовёт владельцев каталога задач и `openspec/`, `upgrade` повышает **всю** раскладку одним журналом версий — и документы, и каталог задач. Версия стала общей ещё на слиянии ([Р231](64-three-plugins-merged.md)), и с этого дня префикс `doc-` спорил с механикой, которую сам же скилл и исполняет. Имя осталось без префикса: отсутствие префикса здесь — тоже утверждение, и читается оно как «этот поперёк остальных». **Р236. Переименование поехало записью журнала версий, хотя в проекте ничего не переехало.** Ни один файл проекта не сменил дом — сменились путь к скрипту (`skills/doc-canon/scripts/docs.py`) и имя вызова (`av-dev:doc-canon`), а оба живут **в проекте**: первый строкой гейта, второй в `CLAUDE.md`, в `Taskfile` и в записях задач. Механизма догнать их у плагина нет, и без записи проект узнал бы о переименовании покрасневшим гейтом или неразрешившимся вызовом. Запись 1 при этом не переписана: проект, ещё не прошедший её, переименует каталог дважды подряд — в `doc-canon` и обратно в `canon`. Так работает журнал ([С189](56-plugin-and-skill-renames.md)): каждая запись исполняется на состоянии, которое оставила предыдущая. ## Что из этого следует **С226. Префикс имени — утверждение о владении материалом, и оно проверяемо.** Скилл, работающий поперёк материалов, обязан остаться без префикса: имя, приписавшее его к одному семейству, читается как обещание, что соседние семейства его не касаются, — а его вызывают ровно затем, чтобы касались все. **С227. Переименование скилла — изменение раскладки проекта, если проект держит его путь или имя у себя.** Разрез идёт не по тому, тронуты ли файлы проекта, а по тому, есть ли в проекте адрес, который сломается. Гейт и `CLAUDE.md` такие адреса держат, поэтому переименование получает запись журнала версий наравне с переездом файлов.