Перейти к основному содержимому

Agent Skill

Готовый Agent Skill, который учит кодового ассистента писать на neva правильно, — тот же материал, что и на этом сайте, но переупакованный под модель, а не под читателя.

Скачать neva-skill.zip

Исходники: skill/neva.

Зачем это нужно

Ассистенты уверенно ошибаются в MCP на Rust, и причина структурная: MCP 2026-07-28 сломал совместимость со всем, что было до него, а почти весь материал по MCP, который модель видела, — включая все прочие SDK — описывает предыдущее поколение. Поэтому типичная ошибка — не забытое имя метода. Это ассистент, который пишет рукопожатие initialize, тянется к ping, открывает SSE-поток GET или считает ctx.elicit обычным await в обработчике, который списывает деньги с карты.

Скилл выносит ровно эти ловушки вперёд, а за подробностями отправляет в нужный файл.

Что внутри

ФайлО чём
SKILL.mdОпределение версии и профиля, список ловушек, минимальные сервер и клиент, маршрутизация
references/server.mdИнструменты, промпты, ресурсы, схемы, имена аргументов, типы контента, DI, middleware, логи, подписки
references/client.mdПодключение, вызовы, структурированные результаты, батчи, подписки, ответы на input-запросы, задачи
references/mrtr.mdМодель повторного выполнения, memo / once / on_commit, режимы elicitation, задачи
references/http.mdТранспорты, TLS, JWT/OAuth, DNS-rebinding, свои движки, фича-флаги, развёртывание на нескольких экземплярах
references/troubleshooting.mdКоды ошибок, «симптом → причина», всё удалённое в этом поколении
references/legacy.mdПрофиль legacy-spec и переход с 0.4.x на 0.5.x

SKILL.md намеренно короткий: это точка входа, которую агент читает всегда, и шесть справочников, которые он подгружает только под задачу.

Установка

Формат SKILL.md — общий стандарт, поэтому установка везде одинаковая: распаковать и скопировать каталог neva/ в папку скиллов инструмента, сохранив имя каталога — оно обязано совпадать с полем name во frontmatter.

ИнструментПерсональноВ проекте
Claude Code~/.claude/skills/neva/.claude/skills/neva/
opencode~/.config/opencode/skills/neva/.opencode/skills/neva/
Codex CLI~/.codex/skills/neva/.codex/skills/neva/
unzip neva-skill.zip
mkdir -p ~/.claude/skills && cp -r neva ~/.claude/skills/

После этого перезапустите ассистента — скиллы обнаруживаются при старте.

opencode дополнительно читает .claude/skills/ и .agents/skills/, так что одной копии внутри проекта может хватить сразу на несколько инструментов.

Всё остальное

Подойдёт любой ассистент, умеющий читать файлы. Укажите ему на SKILL.md и дайте пройти по ссылкам — или добавьте строку в AGENTS.md проекта:

For Rust MCP work with the `neva` crate, read `.agents/skills/neva/SKILL.md`
and the reference file it routes you to.

Код в нём компилируется

Каждый Rust-сниппет скилла собирается против опубликованного крейта neva в CI этого репозитория — больше шестидесяти штук, — поэтому то, что ассистент оттуда копирует, действительно компилируется. В этом и смысл скилла вместо пересказа: ассистент, вставляющий правдоподобный API, хуже того, который вставляет проверенный.

Запустить проверку самому после правок:

python3 ci/check-snippets.py --docs-dir skill --default-mode compile --default-features full

Версия

Скилл описывает neva 0.5.2 / MCP 2026-07-28, легаси-поколение вынесено отдельно. Обе версии записаны во frontmatter, чтобы ассистент мог понять, соответствует ли скилл крейту перед ним:

metadata:
neva-version: "0.5.2"
mcp-protocol: "2026-07-28"