#Маркетплейс команды для урока 6 Продвинутого уровня
team-tools — демонстрационный маркетплейс команды для урока Продвинутого уровня «Поделитесь настройкой с командой». В нём один плагин, team-kit, состоящий из скилла onboard, который велит Claude только читать файлы, и субагента только для чтения config-reviewer. Закоммиченный в ваш репозиторий вместе с настройками ниже, он загружается у каждого коллеги, который клонирует репозиторий и доверится папке, без команды установки (Manage Claude Code plugins for your organization).
#Скопируйте
Из корня репозитория скопируйте эту папку как team-marketplace/, затем верните файлу маркетплейса настоящее имя папки. Claude Code читает маркетплейс из .claude-plugin/marketplace.json (Create a marketplace); это руководство поставляет файл в dot-claude-plugin/, чтобы ни эту папку, ни репозиторий руководства нельзя было добавить как маркетплейс — ни по пути к папке, ни как owner/repo.
cp -R <path-to-this-folder> team-marketplace
mv team-marketplace/dot-claude-plugin team-marketplace/.claude-plugin
Регистрируйте как маркетплейс только свою копию: никогда эту папку, путь к её dot-claude-plugin/marketplace.json, репозиторий руководства или ссылку на сырой файл из него.
#Провалидируйте
claude plugin validate ./team-marketplace
claude plugin validate ./team-marketplace/plugins/team-kit --strict
Первый запуск проверяет файл маркетплейса и его записи. Второй проверяет манифест плагина и открывает файлы его скилла и агента, чего валидация маркетплейса не делает; --strict проваливается и на предупреждениях (Plugin commands reference). Каждый запуск заканчивается строкой Validation passed и кодом выхода 0.
#Поделитесь с командой
Объедините settings.snippet.json с .claude/settings.json своего репозитория, рядом с уже имеющимися ключами. Если в файле уже есть список запретов permissions, добавьте правило в него, а не заменяйте его. Записывайте путь к маркетплейсу относительно корня репозитория, как здесь:
"permissions": { "deny": ["Read(.env)"] },
"extraKnownMarketplaces": {
"team-tools": { "source": { "source": "directory", "path": "./team-marketplace" } }
},
"enabledPlugins": { "team-kit@team-tools": true }
Затем закоммитьте team-marketplace/ и .claude/settings.json.
settings.snippet.json:
- Что: объявляет маркетплейс team-tools по относительному пути directory и включает team-kit@team-tools, плюс правило deny Read(.env). Относительный путь разрешается от основного checkout репозитория, так что каждый клон находит собственную копию, а его worktree разделяют её (Manage Claude Code plugins for your organization).
- Когда: Claude Code регистрирует маркетплейс, только когда коллега принимает диалог доверия для папки; в папке без доверия, включая запуск -p там, запись молча игнорируется (All settings). Плагин, перечисленный в маркетплейсе по относительному пути, затем загружается из папки маркетплейса без записи об установке (Plugin loading reference).
- Побочные эффекты: собственных нет; побочные эффекты плагина описаны ниже.
- Требования: Claude Code и эта папка, скопированная в team-marketplace/ в корне репозитория. Платформы: любые.
- Удаление: смотрите Удаление.
dot-claude-plugin/marketplace.json и plugins/team-kit/.claude-plugin/plugin.json:
- Что: маркетплейс team-tools, перечисляющий team-kit по относительному пути ./plugins/team-kit, и манифест плагина — team-kit версии 0.1.0. Имя записи и имя в манифесте совпадают, как требует документация (Create a marketplace).
- Когда: в сессии, где плагин включён, /team-kit:onboard запускает скилл (Add components to a plugin), а @agent-team-kit:config-reviewer — субагента (Create custom subagents). Claude может использовать любой из них и сам, когда ваш запрос подходит под его описание.
- Побочные эффекты: нет. У плагина нет хуков, мониторов, MCP- или LSP-серверов и папки bin/, так что ничто в нём не выполняет код, а его скилл не одобряет инструменты заранее через allowed-tools; скилл и субагент попадают в контекст Claude как инструкции (Plugin security and trust). Единственные инструменты субагента — Read, Grep и Glob. У скилла и субагента свои заголовочные блоки — комментарии в начале фронтматтера.
- Требования: Claude Code. Платформы: любые; test.sh нужны bash, jq и awk (macOS, Linux и WSL 2).
- Удаление: смотрите Удаление.
Файлы плагина: onboard/SKILL.md · config-reviewer.md · test.sh
Чтобы попробовать плагин самим, ничего не коммитя, загрузите его на одну сессию командой claude --plugin-dir ./team-marketplace/plugins/team-kit; в ваши настройки для этого ничего не записывается (Create a Claude Code plugin).
Внимание
Плагин команды работает с правами каждого коллеги. Плагин может выполнять произвольный код на вашей машине с правами вашего пользователя, а его хуки и MCP-серверы работают вне песочницы (Plugin security and trust). В этом нет ни того ни другого, но любой, кто может менять team-marketplace/, может их добавить, так что проверяйте изменения в этой папке так же, как код.
#Удаление
- В корне репозитория выполните
claude plugin marketplace remove team-tools --scope project. Команда удаляет маркетплейс из.claude/settings.json, а если никакая другая область настроек его не объявляет, Claude Code также удаляет его кэш и все установленные из него плагины (Plugin commands reference). - Удалите запись
team-kit@team-toolsвenabledPluginsиз.claude/settings.jsonи папкуteam-marketplace/, затем закоммитьте.
Чтобы выключить плагин только для себя, задайте "team-kit@team-tools": false в .claude/settings.local.json (All settings).
Smoke-тест без Claude: bash test.sh из этой папки или из своей копии. Он проверяет файлы в том виде, в каком они поставляются: как только вы добавите или перенесёте свои компоненты либо добавите хук, MCP-сервер или папку bin/, он может намеренно упасть.
Проверено в Claude Code v2.1.285 (stable) на macOS, 09.10.2026
Источники: Manage Claude Code plugins for your organization, Create a marketplace, Plugin commands reference, All settings, Plugin loading reference, Add components to a plugin, Create custom subagents, Plugin security and trust, Create a Claude Code plugin