VibeVM
Contents
On this page
ru
Publisher
org.vibevm.core
Version
1.0.0latest
Adapts
org.vibevm.core/vibevm-docs
Audiences
user
Reading time
4 min
Rendered
Read aloud
never

Дайте агенту навык vibevm

01Ваш агент работает лучше, когда знает, что такое vibe и как его вызывать. Эта страница кладёт короткий файл с инструкцией туда, где агент его читает, а для агентов, которые это поддерживают, запускает сервер, к которому агент обращается напрямую.

02
Подключи vibe ко всем агентам для кода, установленным на этой машине, для проекта VibeVM в текущей папке: установи навык vibevm и запись MCP-сервера, затем покажи мне, что записано и для каких агентов.

vibe в PATH; проект с vibe.toml в текущей папке; хотя бы один поддерживаемый агент: Claude Code, Claude Desktop, Cursor, OpenCode или Codex

vibe mcp status показывает актуальную запись сервера и навык для каждого обнаруженного агента; следующая сессия агента в этом проекте знает команды vibe и может спрашивать о пакетах проекта

  • vibe mcp status
  • vibe skill list --quiet

Что происходит

03Агент выполняет vibe mcp install --auto --yes. vibe обнаруживает агентов на машине и записывает для каждого две вещи. Первая — запись в конфигурации агента, которая запускает vibe mcp serve как сервер, к которому агент может обращаться. Вторая — файл навыка (skill), SKILL.md, который учит агента командам vibe и тому, когда ими пользоваться. Обе записи трогают только запись vibevm в каждой конфигурации; всё остальное в этих файлах остаётся как было. Команда идемпотентна: второй запуск сообщает о каждой неизменившейся записи как о неизменившейся.

04 spec: Registration writes touch ONLY the target…
Registration writes touch ONLY the target agent's config files and only managed entries; server processes receive the project root as cwd and NO secrets from vibe.

05Это работает благодаря двум поверхностям. vibe mcp serve — сервер Model Context Protocol, который отдаёт любому агенту состояние проекта, выведенное из лока, в виде инструментов, а команды vibe mcp подключают его к собственной конфигурации каждого агента и пишут его SKILL.md. Набор агентов фиксирован: Claude Code, Claude Code Desktop, Cursor, OpenCode и Codex. Каждый глагол идемпотентен на матрице «агент и область», предлагает --dry-run и спрашивает перед записью.

06 spec: A Model Context Protocol server (vibe…
A Model Context Protocol server (vibe mcp serve) that exposes the project's lockfile-derived state to any MCP-speaking agent as callable tools — so the agent queries package identity and pulls subskill content on demand instead of guessing from the file tree.
07 spec: An agent-integration command family (vibe mcp…
An agent-integration command family (vibe mcp install and friends) that wires that server into each agent's own configuration and writes a per-agent skill manifest, so an operator runs one command instead of hand-editing five different config files.
08 spec: Decision: The integration surface supports…
Decision. The integration surface supports a fixed set of MCP-capable coding agents (Claude Code, Claude Code Desktop, Cursor, OpenCode, Codex).
09 spec: Decision: The agent-integration command family…
Decision. The agent-integration command family is a coherent lifecycle over the (agent × scope) matrix, every verb idempotent and every mutating verb offering --dry-run and a confirmation:

10vibe пишет в тот файл, который каждый агент действительно читает при обнаружении: для Claude Code это .mcp.json в проекте или таблица серверов верхнего уровня в ~/.claude.json, и никогда файл настроек, который их только ограничивает. Он вставляет или обновляет свою единственную запись и сохраняет каждый чужой ключ в его порядке, так что большая конфигурация дополняется, а не переписывается; удаление вычищает только запись vibe. Для агентов с папкой навыков, Claude Code, OpenCode и Codex, он также пишет SKILL.md о том, как пользоваться vibe через инструменты.

11 spec: Config path
Config path — resolved per (agent, scope), cross-platform. The path must be the file the agent actually reads for MCP discovery, not merely a settings file it happens to own. For Claude Code that is <project>/.mcp.json (project) and the top-level mcpServers of ~/.claude.json (user) — never settings.json, which only gates .mcp.json servers (enabledMcpjsonServers) and does not define them.
12 spec: Merge discipline
Merge discipline — installing upserts vibevm's one entry under the section key and preserves every foreign key, and their order: the JSON writer round-trips order-preserving (serde_json/preserve_order), so a merge into a large ~/.claude.json appends rather than re-alphabetising the operator's whole file. Uninstalling strips only vibevm's entry and leaves the rest. The operator's other MCP servers and unrelated config survive every operation.
13 spec: Decision: For agents that support…
Decision. For agents that support a skill manifest (Claude Code, OpenCode, Codex — not the JSON-config-only Cursor / Claude Code Desktop), vibe mcp install also writes a SKILL.md describing how to use vibevm through the MCP tools.

Руками

141. Сначала посмотрите план; ничего не записывается:

15
vibe mcp status --path hello-vibe
Detected agents: claude, claude-desktop, opencode, codex
  → would-create mcp     claude (project) → <TMP>/work/hello-vibe/.mcp.json (file does not exist yet)
  → would-update mcp     claude (user) → <HOME>/.claude.json (mcpServers/vibevm differs)
  → would-update mcp     claude-desktop (user) → <HOME>/AppData/Roaming/Claude/claude_desktop_config.json (mcpServers/vibevm absent)
  → would-create mcp     cursor (project) → <TMP>/work/hello-vibe/.cursor/mcp.json (file does not exist yet)
  → would-create mcp     cursor (user) → <HOME>/.cursor/mcp.json (file does not exist yet)
  → would-create mcp     opencode (project) → <TMP>/work/hello-vibe/opencode.json (file does not exist yet)
  → would-update mcp     opencode (user) → <HOME>/.config/opencode/opencode.json (mcp/vibevm differs)
  → would-update mcp     codex (user) → <HOME>/.codex/config.toml ([mcp_servers.vibevm] absent)
  → would-create skill   claude (project) → <TMP>/work/hello-vibe/.claude/skills/vibevm/SKILL.md
  → would-update skill   claude (user) → <HOME>/.claude/skills/vibevm/SKILL.md
  → would-create skill   opencode (project) → <TMP>/work/hello-vibe/.opencode/skills/vibevm/SKILL.md
  → would-update skill   opencode (user) → <HOME>/.config/opencode/skills/vibevm/SKILL.md
  → would-create skill   codex (project) → <TMP>/work/hello-vibe/.agents/skills/vibevm/SKILL.md
  → would-create skill   codex (user) → <HOME>/.agents/skills/vibevm/SKILL.md

162. Установите для всех обнаруженных агентов или для одного: --agent claude, --agent codex, --agent opencode, --agent cursor, --agent claude-desktop:

17
vibe mcp install --auto --yes --dry-run --path hello-vibe
  → would mcp     claude (project) → <TMP>/work/hello-vibe/.mcp.json (file does not exist yet)
  → would mcp     opencode (project) → <TMP>/work/hello-vibe/opencode.json (file does not exist yet)
  → would skill   claude (project) → <TMP>/work/hello-vibe/.claude/skills/vibevm/SKILL.md
  → would skill   claude-desktop (project) → (no skill loader) (agent `claude-desktop` has no project-scope skill loader)
  → would skill   opencode (project) → <TMP>/work/hello-vibe/.opencode/skills/vibevm/SKILL.md
  → would skill   codex (project) → <TMP>/work/hello-vibe/.agents/skills/vibevm/SKILL.md

183. Выберите область: --scope project пишет в папки агентов внутри проекта, --scope user — в вашу домашнюю конфигурацию, --scope both — в обе. Без проекта в текущей папке пользовательская область выбирается за вас.

Навыки, которые приносят пакеты

19Пакеты могут объявлять собственные навыки, и пакет может быть любого вида: flow приносит навык-чеклист, языковое руководство — навык обхода, руководство — навык чтения. vibe skill list показывает, что объявляют установленные пакеты, а vibe skill install проецирует их в папки навыков агентов. Установка навыка — это проекция файла, который пакет уже несёт, а не второй механизм доставки.

20 spec: Decision: Installing a skill…
Decision. Installing a skill into an agent is a projection: read the declared skill body from the package (in vibedeps/… once installed) or an external source authenticated by the package's matching lock record, and write it into each target agent's skill directory in that agent's own convention (.claude/skills/<name>/…, .opencode/skills/<name>/…, .agents/skills/<name>/… — the paths PROP-015 §2.6 already resolves).
21 цитата из спецификации
vibe skill list — skills declared by installed packages.
22 spec: vibe skill install [--agent …] [--scope…
vibe skill install [--agent …] [--scope project|user|both] [<pkgref>] [<skill>…] — project skills into agents. Default: all declared skills; narrow with explicit skill names or a pkgref. Idempotent, --dry-run, confirm (or --assume-yes), per-(agent, scope) report — the same lifecycle and merge discipline as vibe mcp install (PROP-015 §2.7).
23
vibe skill list --path hello-vibe
  → wal-status [flow:wal] → agents: all — Read the project WAL end to end and emit a ten-line orientation: phase, attention items, next step; warn on staleness
1 skill(s) declared.

24Навык этого руководства, vibevm-docs, приходит тем же путём, как только руководство оказывается в машинном хранилище (store).

Серверы, которые приносят пакеты

25Пакет вида mcp доставляет сервер, собранный из его собственного кода, например инструменты дисциплины языкового семейства. vibe mcp install регистрирует такие серверы в конфигурациях агентов рядом с сервером самого vibe, с путём к собранному бинарнику; vibe mcp status сообщает, собран ли каждый и актуален ли он. Зарегистрировать сервер — значит, что агент будет запускать код этого пакета в начале сессии, поэтому регистрация спрашивает согласия, как установка.

26 spec: Registering a server schedules package code…
Registering a server schedules package code execution at agent-session start; building its binary compiles package code.

27Каждый установленный пакет вида mcp вносит свои серверы в одну и ту же регистрацию, и она относится к проекту, потому что серверы проекта принадлежат его закоммиченной конфигурации. В JSON-файле vibe держит маленький список vibevm.managed с именами записей, которыми владеет, так что переустановка переписывает только их и никогда не трогает сервер, который вы добавили сами. Ворота согласия те же, что у бинарников: пакеты группы org.vibevm в белом списке, любому другому происхождению нужен --assume-yes. vibe mcp status говорит, собран ли бинарник каждого сервера.

28 spec: It grows package discovery: every installed…
It grows package discovery: every installed package of kind mcp contributes its [[mcp_server]] entries, written into the target agents' configs with
29 spec: Registration is PROJECT-scope only (the {project_root}…
Registration is PROJECT-scope only (the {project_root} substitution demands a project, and a project's servers belong in its committed config), and every project-scope agent config is JSON — so no TOML sidecar form exists;
30 spec: a managed sidecar: a top-level "vibevm"…
a managed sidecar: a top-level "vibevm": { "managed": [...] } object in the JSON config names the entries vibevm owns (never a key INSIDE a server entry — hosts validate entry shapes), so re-installs rewrite ONLY vibevm-managed entries and operator-owned servers are never touched — the <vibevm> block convention of the boot files, applied to agent configs.
31 spec: One trust model, two verbs: registration…
One trust model, two verbs: registration inherits PROP-025's consent gate verbatim — org.vibevm packages are allow-listed; any other origin requires the explicit --assume-yes (or is refused with the recipe naming that exact flag).
32 spec: vibe mcp status reports each declared…
vibe mcp status reports each declared server's artifact state (an unbuilt artifact registers fine and fails at agent launch — the recipe names vibe bin build <name>);

Особые случаи и правила

33vibe mcp upgrade после обновления vibe приводит существующие интеграции к форме, которую несёт текущий бинарник; ничего нового он не создаёт.

34vibe mcp uninstall удаляет запись и навык vibe и оставляет каждую чужую запись на месте; vibe skill uninstall вычищает только навыки, которые спроецировал vibe.

35 spec: vibe skill uninstall …
vibe skill uninstall … — the inverse; strips only vibevm-projected skills, leaves foreign skill dirs untouched.

36Cursor и Claude Desktop принимают запись сервера, но папок навыков у них нет; vibe сообщает, что навык для них пропущен, а не выдумывает место.

For an agent

This page has a machine mirror. The citation carries the version rather than latest, so what an agent quotes does not move under it.

spec://org.vibevm.core/vibevm-docs@1.0.0/agent/give-your-agent-the-skill

.md.xmlllms.txt