Плагин Just Run для Claude Code и Codex
Шесть скиллов, один исходник на два клиента и автоматические проверки поведения. Как это устроено и как собрать свой плагин по образцу.
Что делает плагин
Плагин подключает ассистента к Just Run, сервису, который запускает код в изолированных облачных песочницах. Вместе с подключением он приносит шесть скиллов для типовых задач. Вход идет по OAuth, поэтому в плагине нет токенов, переменных окружения и локальных помощников.
В плагине ничего не запускается само: нет хуков, локального сервера и бинарников. Он объявляет один удаленный MCP-сервер и набор Markdown-скиллов. Все остальное делает клиент, а модель читает инструкции и вызывает инструменты.
- Вход без токена. OAuth-вход выполняет сам клиент. Модель не видит учетные данные, а плагин их не хранит.
- Один исходник для двух клиентов. Claude Code ставит папку как есть, а для Codex раскладка собирается из той же папки скриптом.
- Несколько скиллов с общими справочниками. Короткий SKILL.md описывает порядок действий, детали лежат в отдельных файлах.
- Проверка поведения. Набор из 24 кейсов запускается командой
claude plugin eval.
Кому пригодится. Тем, кто делает или собирается делать свой плагин или набор скиллов для Claude Code или Codex. Особенно если плагину нужен удаленный MCP-сервер, одинаковая работа в двух клиентах и автоматические проверки.
Как подключить
Понадобится аккаунт Just Run (регистрация на platform.just-run.app). Дальше для каждого клиента команды свои, результат один: скиллы и MCP-сервер доступны в сессии.
> /plugin marketplace add https://platform.just-run.app/plugins/marketplace.json > /plugin install just-run@just-run # вход: /mcp → just-run → Authenticate
$ codex plugin marketplace add https://platform.just-run.app/plugins/codex.git $ codex plugin add just-run@just-run $ codex mcp login just-run
$ claude --plugin-dir just-run
- Скилл включается сам, когда запрос подходит под его описание. Явно запустить его можно командой
/just-run:<скилл>. - Другой экземпляр Just Run (свой или тестовый) отдает собственный маркетплейс по адресу
<адрес>/plugins/marketplace.json. Адрес меняется настройкойbase_url. - Windows: передача файлов использует
tarиcurl.exe, которые встроены в Windows 10 версии 1803 и новее.
Шесть скиллов
У каждого скилла в описании сказано, когда его применять и когда нет. Поэтому запрос «посчитай 17 × 23» или «поставь cron на моем сервере» его не запускает.
| Скилл | Что делает | Когда не нужен |
|---|---|---|
| run-task | Разовый запуск команды, скрипта или ноутбука в песочнице, возвращает вывод и файлы | Локальный запуск, расписание, сломанный ресурс |
| publish-site | Публикует статический сайт публично или под паролем, обновляет по той же ссылке, откатывает и удаляет | Dev-сервер, приложения с бэкендом или SSR |
| automate-task | Создает и ведет автоматизации по cron и по webhook | Локальный cron, CI, webhook Telegram-бота |
| host-mcp-server | Хостит MCP-сервер из каталога или реестра, обновляет, меняет токен | Локальный MCP, подключение самого Just Run |
| manage-telegram-bot | Пишет, деплоит и обслуживает Telegram-бота: обновление, статус и логи, задачи по расписанию, пересоздание, удаление | Бот вне Just Run, другие мессенджеры |
| troubleshoot | Выясняет, почему сломались песочница, сайт, автоматизация или MCP-сервер | Баги в локальном коде, строительство нового |
> Запусти этот скрипт в Just Run и верни результат > Опубликуй папку dist как сайт под паролем > Запускай report.py каждый будний день в 9:30 по Москве
Каждый инструмент Just Run доступен и напрямую, без скилла: скилл только задает порядок действий и правила.
Что лежит в папке плагина
Читать исходники удобнее в таком порядке: README плагина, затем короткий скилл run-task и справочник platform.md, потом большой скилл про Telegram-бота.
├── .claude-plugin/plugin.json # манифест, общая версия с Codex ├── .mcp.json # удаленный MCP-сервер Just Run ├── skills/<имя>/SKILL.md # шесть скиллов ├── references/ # справочники, общие для скиллов ├── assets/ # иконки ├── scripts/codex_tree.py # сборка Codex-варианта ├── evals/ # 24 кейса для claude plugin eval └── LICENSE # Apache-2.0
- SKILL.md короткий. В нем описание, когда скилл нужен, и процедура. Подробности, важные только на одном шаге, вынесены в справочник.
- Общие справочники:
platform.md(инструменты, идентификаторы, ошибки),lifecycle.md(состояния песочницы),secrets.md,transfer.md(передача файлов),automation.md. - Большой скилл разбит по ходу работы. У
manage-telegram-botсвои справочники: SDK, ошибки, долгие операции, пересоздание, а вassets/starter/лежит стартовый бот. - Две формы ссылок. SKILL.md ссылается на общие справочники через
${CLAUDE_PLUGIN_ROOT}, а справочник на соседний файл по относительному пути: Claude Code подставляет переменную только в тексте скиллов. - Язык. Плагин написан по-английски, потому что описания и инструкции читает модель. Русские фразы-триггеры («запусти в песочнице») оставлены только в описаниях.
Один исходник, два клиента
Плагин поддерживается в одной папке. Для Codex скрипт scripts/codex_tree.py собирает отдельное дерево и переписывает в Markdown пути и адрес.
| Что | Claude Code | Codex |
|---|---|---|
| Установка | Папка ставится как есть | Дерево собирается скриптом или отдается как Git-репозиторий |
| Манифест | .claude-plugin/plugin.json | Генерируется .codex-plugin/plugin.json с блоком interface |
| Адрес сервера | Настройка base_url в манифесте | Подставляется в .mcp.json при сборке |
| Ссылки в скиллах | ${CLAUDE_PLUGIN_ROOT} | Заменяются на относительные пути |
| Вход | /mcp → Authenticate | codex mcp login just-run, в своем терминале |
| Метка ресурсов | created-by: claude-code | created-by: codex |
$ python3 just-run/scripts/codex_tree.py \ --base-url https://platform.just-run.app out $ codex plugin marketplace add out $ codex plugin add just-run@just-run
Скрипт использует только стандартную библиотеку Python 3.9+. Он отказывается собирать дерево, если в нем есть символические ссылки, не-UTF-8 имена файлов или ссылка на несуществующий файл.
Правила, зашитые в скиллы
Инструкция для ассистента защищает пользователя так же, как код. Эти правила записаны прямо в тексте скиллов. Используйте список как чек-лист для своего плагина.
Отмечено 0 из 8
Как проверять скиллы автоматически
В папке evals/ лежит 24 кейса. Каждый задает промпт, критерии проверки и заглушки ответов сервера, поэтому запросы к платформе не уходят.
- Промпт и ожидание. Кейс проверяет, какой скилл выбрал запрос и что ассистент сделал дальше.
- Грейдеры. Проверки по вызванным инструментам, по регулярным выражениям и по рубрике для LLM-судьи.
- Заглушки сервера. Ответы собираются по схеме OpenAPI, а
check_mocks.pyсверяет каждую заглушку со схемой. - Негативные кейсы. Запросы, которые должны остаться локальными, проверяют, что скилл не включился и платформа не вызывалась.
$ claude plugin validate . --strict # манифест и раскладка, бесплатно $ python3 evals/make_cases.py # записать кейсы из описания $ python3 evals/check_mocks.py # заглушки против схемы API $ claude plugin eval . --case <имя> --runs 1 \ --ablation none --no-publish # один кейс при правке $ claude plugin eval . --no-publish # весь набор + базовая линия
Это стоит денег. Полный прогон запускает настоящие сессии Claude Code на вашем доступе и обходится в несколько долларов. Во время правок гоняйте один кейс. Кейсы меняйте в make_cases.py, а не в сгенерированных файлах.
Попробуйте и соберите свой
Вступайте в Just AI Dev Community
Сообщество для разработчиков: практика, разборы и анонсы эфиров
Создайте песочницу
Индивидуальная подписка и корпоративный доступ
- Документацияdocs.just-run.app
- Поддержкаsupport@just-ai.com