AmigaОбучение ИИ
Модуль 1 · Навыки · урок 5 из 6

Делимся навыками

12 мин чтения▶ есть видеоверсия

Навык, который лежит только у вас в ~/.claude/skills/, — это личная привычка. Стандартом он становится, когда есть у всех и обновляется в одном месте. В этом уроке — как это устроить: от простого коммита в репозиторий до маркетплейса плагинов агентства.

Уровень 1. Репозиторий проекта

Самый простой и чаще всего достаточный путь: положить навык в .claude/skills/ проекта и закоммитить.

bash
git add .claude/skills/release-notes
git commit -m "Навык release-notes: релиз-ноты по шаблону команды"

Каждый, кто клонирует проект, получает навык. Изменения проходят через merge request и ревью — как код. Если навык сломали, это видно в истории.

Что стоит проверить перед коммитом:

  • allowed-tools. Проектный навык применяет свои разрешения при каждом вызове, независимо от доверия к папке. Навык с allowed-tools: Bash(*) в чужом репозитории — это открытая дверь. Ревьюер должен смотреть на эту строку так же внимательно, как на изменения в CI.
  • Секреты. В навык не должны попадать токены, адреса внутренних серверов с паролями, персональные данные. Навык — публичный текст внутри репозитория.
  • Пути. Скрипты вызывайте через ${CLAUDE_SKILL_DIR}, а не через абсолютные пути с вашего компьютера.

Ограничение этого уровня очевидно: навык живёт в одном проекте. Если у агентства двадцать репозиториев и навык релиз-нот нужен во всех, придётся копировать и потом синхронизировать двадцать копий. Для этого есть следующий уровень.

Уровень 2. Плагин

Плагин — это папка, в которой лежат навыки, субагенты, хуки и настройки MCP, плюс манифест с именем и версией. Плагин устанавливается в любой проект и обновляется из одного источника.

Структура минимального плагина с двумя навыками:

text
amiga-standards/
├── .claude-plugin/
│   └── plugin.json
└── skills/
    ├── release-notes/
    │   └── SKILL.md
    └── a11y-check/
        ├── SKILL.md
        ├── checklist.md
        └── scripts/
            └── contrast.py

Манифест .claude-plugin/plugin.json:

json
{
  "name": "amiga-standards",
  "description": "Командные стандарты Amiga: релиз-ноты, проверка доступности",
  "version": "1.0.0",
  "author": {
    "name": "Amiga"
  }
}

Важная деталь: внутри .claude-plugin/ лежит только манифест. Папки skills/, agents/, hooks/ — в корне плагина, не внутри .claude-plugin/. Это самая частая ошибка при сборке.

Навыки плагина получают префикс: /amiga-standards:release-notes. Пространство имён гарантирует, что навык из плагина не конфликтует ни с проектными, ни с личными. Для плагинных навыков поле name в шапке задаёт последнюю часть команды; для проектных и личных, напомним, команда берётся из имени папки.

Проверить плагин локально, не устанавливая:

bash
claude --plugin-dir ./amiga-standards

После правок — /reload-plugins, чтобы подхватить изменения без перезапуска. Перед публикацией — claude plugin validate ./amiga-standards: проверит структуру и синтаксис шапок.

Если у вас уже есть навыки в .claude/ проекта, их можно перенести в плагин копированием папок; документация описывает это как штатный путь. После переноса оригиналы из .claude/skills/ стоит удалить, иначе будут доступны оба варианта — /release-notes и /amiga-standards:release-notes.

Уровень 2½. Маркетплейс

Плагин нужно откуда-то устанавливать. Для этого есть маркетплейс — каталог плагинов, обычно git-репозиторий с файлом .claude-plugin/marketplace.json:

json
{
  "name": "amiga-plugins",
  "owner": {
    "name": "Amiga"
  },
  "plugins": [
    {
      "name": "amiga-standards",
      "source": "./plugins/amiga-standards",
      "description": "Командные стандарты: релиз-ноты, проверка доступности",
      "version": "1.0.0"
    }
  ]
}

Плагины лежат в подпапках того же репозитория, source — относительный путь. Репозиторий может быть приватным: Claude Code использует ваши git-учётные данные.

Сотрудник добавляет маркетплейс и ставит плагин:

text
/plugin marketplace add amiga/claude-plugins
/plugin install amiga-standards@amiga-plugins

При установке выбирается область: только для себя во всех проектах, для всех участников этого репозитория или только для себя в этом репозитории. Обновления приходят, когда вы поднимаете version в манифесте.

Чтобы не просить каждого добавлять маркетплейс руками, его можно прописать в .claude/settings.json проекта:

json
{
  "extraKnownMarketplaces": {
    "amiga-plugins": {
      "source": {
        "source": "github",
        "repo": "amiga/claude-plugins"
      }
    }
  },
  "enabledPlugins": {
    "amiga-standards@amiga-plugins": true
  }
}

После того как коллега доверил папку проекта, Claude Code зарегистрирует маркетплейс сам. Плагин из внешнего источника при этом ещё нужно установить — Claude Code покажет команду для этого. Так один файл в репозитории делает командные стандарты доступными всем, кто над ним работает.

Уровень 3. Организация

Для агентства целиком есть управляемые настройки — их разворачивает IT через MDM или аналог, и отдельные сотрудники их отменить не могут. На этом уровне можно:

  • разложить навыки в папку .claude/skills/ управляемой директории — они будут у всех и имеют высший приоритет при совпадении имён;
  • ограничить список маркетплейсов, откуда разрешено ставить плагины, через strictKnownMarketplaces — например, только репозитории организации;
  • централизованно включить плагины через те же extraKnownMarketplaces и enabledPlugins в управляемых настройках, с автообновлением.

Это уровень для стандартов, которые не обсуждаются: политика работы с данными клиентов, обязательные проверки безопасности. Для всего остального достаточно плагина и маркетплейса — они оставляют команде выбор.

Личные навыки между проектами

Навык в ~/.claude/skills/ доступен во всех ваших проектах на этой машине. Для личных привычек это лучшее место. Есть и другой путь: команда claude plugin init my-tool создаёт в ~/.claude/skills/my-tool/ заготовку плагина с манифестом, и он подхватывается автоматически как my-tool@skills-dir, без маркетплейса и установки. Удобно, когда личный навык перерос один файл.

Ещё навыки можно включить для своего аккаунта claude.ai — тогда они доступны в Cowork и облачных сессиях. На локальную машину их нужно один раз скачать неинтерактивным запуском с переменной CLAUDE_CODE_SYNC_SKILLS=1. У синхронизированных навыков есть ограничения: они не выполняют команды !`…` и не подставляют часть переменных. Для командных стандартов надёжнее репозиторий и плагин.

Что выбрать

Ситуация Уровень
Навык нужен в одном проекте Папка .claude/skills/ в репозитории
Навык нужен в нескольких проектах команды Плагин в маркетплейсе агентства
Навык обязателен для всех без исключений Управляемые настройки
Личная привычка ~/.claude/skills/

Начинайте с первого уровня. Переходите на плагин, когда навык понадобился во втором проекте, — не раньше.

Попробуйте сами

10–15 мин на рабочем месте
  1. Закоммитьте навык release-notes в учебный репозиторий. Клонируйте репозиторий в соседнюю папку, откройте там Claude Code и убедитесь, что навык виден в списке.
  2. Соберите из двух навыков плагин amiga-standards по структуре из урока. Запустите claude plugin validate и claude --plugin-dir, вызовите /amiga-standards:release-notes.
  3. Прочитайте allowed-tools во всех навыках, которые лежат в проектах, с которыми вы работаете. Есть ли среди них строки, которые вы бы не пропустили на ревью?

Коротко

  • Первый уровень — .claude/skills/ в репозитории: навык получает каждый, кто клонирует проект.
  • Перед коммитом проверяйте allowed-tools, секреты и абсолютные пути.
  • Плагин — папка с манифестом в .claude-plugin/plugin.json и навыками в skills/; команды получают префикс /плагин:навык.
  • Маркетплейс — репозиторий с marketplace.json; extraKnownMarketplaces в настройках проекта подключает его команде автоматически.
  • Управляемые настройки — для обязательных стандартов организации; отменить их сотрудник не может.
  • Личные навыки — в ~/.claude/skills/; переходите на плагин, когда навык понадобился во втором проекте.

Видеоверсия

Сценарий озвучки · 479 слов, ≈ 4 мин

Навык, который лежит только у вас, — это личная привычка. Стандартом он становится, когда есть у всех и обновляется в одном месте. Сегодня — три уровня распространения, от простого к строгому.

Первый уровень — репозиторий проекта. Кладёте навык в папку точка-клод, скиллс и коммитите. Каждый, кто клонирует проект, получает навык. Изменения идут через merge request и ревью, как код. Если навык сломали, это видно в истории. Для одного проекта этого достаточно.

Три вещи проверьте перед коммитом. Первое — разрешённые инструменты. Проектный навык применяет свои разрешения при каждом вызове, независимо от доверия к папке. Навык, который разрешает себе любые команды, в чужом репозитории — открытая дверь. Ревьюер должен смотреть на эту строку так же внимательно, как на изменения в CI. Второе — секреты: токены и пароли в навык не кладём. Третье — пути: скрипты вызываем через переменную с папкой навыка, а не через абсолютный путь с вашего компьютера.

Ограничение первого уровня очевидно: навык живёт в одном проекте. Если у агентства двадцать репозиториев и навык релиз-нот нужен во всех, придётся синхронизировать двадцать копий. Для этого есть второй уровень — плагин.

Плагин — это папка, в которой лежат навыки, субагенты, хуки, плюс манифест с именем и версией. Внутри папки точка-клод-плагин лежит только манифест, а папка с навыками — в корне плагина. Это самая частая ошибка при сборке: люди кладут навыки внутрь папки с манифестом, и ничего не работает.

Навыки плагина получают префикс: имя плагина, двоеточие, имя навыка. Это гарантирует, что плагинный навык не конфликтует ни с проектными, ни с личными. Проверить плагин можно локально, флагом плагин-дир при запуске, не устанавливая. А перед публикацией — командой валидации, она проверит структуру и шапки.

Плагин нужно откуда-то ставить, и для этого есть маркетплейс — git-репозиторий с каталогом плагинов. Сотрудник добавляет маркетплейс одной командой, ставит плагин второй. Репозиторий может быть приватным. А чтобы не просить каждого добавлять маркетплейс руками, его прописывают в настройках проекта. Тогда после доверия к папке Claude Code зарегистрирует маркетплейс сам и покажет, какие плагины установить. Один файл в репозитории делает стандарты доступными всем.

Третий уровень — организация. Это управляемые настройки, которые разворачивает IT, и отдельный сотрудник их отменить не может. Там можно разложить навыки, обязательные для всех, ограничить список разрешённых маркетплейсов только репозиториями организации и централизованно включить плагины. Это уровень для стандартов, которые не обсуждаются: политика работы с данными клиентов, обязательные проверки безопасности. Для остального достаточно плагина.

И про личные навыки. Папка навыков в домашней директории доступна во всех ваших проектах на этой машине. Для личных привычек это лучшее место. Если личный навык перерос один файл, команда «клод плагин инит» создаст там заготовку плагина, и он подхватится автоматически. Навыки можно включить и для аккаунта в клод-точка-ай — тогда они доступны в облачных сессиях, но у синхронизированных навыков есть ограничения, и для командных стандартов надёжнее репозиторий.

Как выбирать? Навык нужен в одном проекте — репозиторий. В нескольких проектах команды — плагин в маркетплейсе агентства. Обязателен для всех — управляемые настройки. Личная привычка — домашняя папка. Начинайте с первого уровня и переходите на плагин, когда навык понадобился во втором проекте. Не раньше.

Отметка хранится только в вашем браузере