Плагин Just Run для Claude Code и Codex

Шесть скиллов, один исходник на два клиента и автоматические проверки поведения. Как это устроено и как собрать свой плагин по образцу.

Обзор · 1 из 7

Что делает плагин

Плагин подключает ассистента к Just Run, сервису, который запускает код в изолированных облачных песочницах. Вместе с подключением он приносит шесть скиллов для типовых задач. Вход идет по OAuth, поэтому в плагине нет токенов, переменных окружения и локальных помощников.

Главная идея

В плагине ничего не запускается само: нет хуков, локального сервера и бинарников. Он объявляет один удаленный MCP-сервер и набор Markdown-скиллов. Все остальное делает клиент, а модель читает инструкции и вызывает инструменты.

  • Вход без токена. OAuth-вход выполняет сам клиент. Модель не видит учетные данные, а плагин их не хранит.
  • Один исходник для двух клиентов. Claude Code ставит папку как есть, а для Codex раскладка собирается из той же папки скриптом.
  • Несколько скиллов с общими справочниками. Короткий SKILL.md описывает порядок действий, детали лежат в отдельных файлах.
  • Проверка поведения. Набор из 24 кейсов запускается командой claude plugin eval.

Кому пригодится. Тем, кто делает или собирается делать свой плагин или набор скиллов для Claude Code или Codex. Особенно если плагину нужен удаленный MCP-сервер, одинаковая работа в двух клиентах и автоматические проверки.

Установка · 2 из 7

Как подключить

Понадобится аккаунт Just Run (регистрация на platform.just-run.app). Дальше для каждого клиента команды свои, результат один: скиллы и MCP-сервер доступны в сессии.

Claude Code 2.1.292 или новее
> /plugin marketplace add https://platform.just-run.app/plugins/marketplace.json
> /plugin install just-run@just-run
# вход: /mcp → just-run → Authenticate
Codex CLI 0.159 или новее, git в PATH
$ 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 и новее.
Скиллы · 3 из 7

Шесть скиллов

У каждого скилла в описании сказано, когда его применять и когда нет. Поэтому запрос «посчитай 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 доступен и напрямую, без скилла: скилл только задает порядок действий и правила.

Устройство · 4 из 7

Что лежит в папке плагина

Читать исходники удобнее в таком порядке: README плагина, затем короткий скилл run-task и справочник platform.md, потом большой скилл про Telegram-бота.

just-run/
├── .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 подставляет переменную только в тексте скиллов.
  • Язык. Плагин написан по-английски, потому что описания и инструкции читает модель. Русские фразы-триггеры («запусти в песочнице») оставлены только в описаниях.
Два клиента · 5 из 7

Один исходник, два клиента

Плагин поддерживается в одной папке. Для Codex скрипт scripts/codex_tree.py собирает отдельное дерево и переписывает в Markdown пути и адрес.

ЧтоClaude CodeCodex
УстановкаПапка ставится как естьДерево собирается скриптом или отдается как Git-репозиторий
Манифест.claude-plugin/plugin.jsonГенерируется .codex-plugin/plugin.json с блоком interface
Адрес сервераНастройка base_url в манифестеПодставляется в .mcp.json при сборке
Ссылки в скиллах${CLAUDE_PLUGIN_ROOT}Заменяются на относительные пути
Вход/mcp → Authenticatecodex mcp login just-run, в своем терминале
Метка ресурсовcreated-by: claude-codecreated-by: codex
собрать 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 имена файлов или ссылка на несуществующий файл.

Безопасность · 6 из 7

Правила, зашитые в скиллы

Инструкция для ассистента защищает пользователя так же, как код. Эти правила записаны прямо в тексте скиллов. Используйте список как чек-лист для своего плагина.

Отмечено 0 из 8

Проверки · 7 из 7

Как проверять скиллы автоматически

В папке 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

Сообщество для разработчиков: практика, разборы и анонсы эфиров

QR-код: Telegram-сообщество Just AI Dev Community
Just Run

Создайте песочницу

Индивидуальная подписка и корпоративный доступ

QR-код: создать песочницу в Just Run