Навыки
Навыки — документы знаний, которые агент подгружает по требованию. Они используют progressive disclosure, чтобы не раздувать токены, и совместимы с открытым стандартом agentskills.io.
Все навыки живут в ~/.vibeos/skills/ — это основной каталог и source of truth. При новой установке туда копируются bundled-навыки из репозитория; туда же попадают навыки из хаба и созданные агентом. Агент может править или удалять любой навык.
Можно указать и внешние каталоги навыков — дополнительные папки рядом с локальной. См. Внешние каталоги навыков.
См. также:
Чистый лист без bundled-навыков
По умолчанию каждый профиль заполняется bundled-каталогом, и каждый vibeos update докидывает новые bundled-навыки. Если нужен профиль без bundled — и чтобы он оставался пустым после обновлений — есть два пути:
Во время установки (применяется к профилю ~/.vibeos по умолчанию):
curl -fsSL https://vibeos.com.ru/downloads/install.sh | bash -s -- --no-skills
Во время создания профиля (именованные профили):
vibeos profile create research --no-skills
В уже установленном профиле (по умолчанию или с именем) переключите его во время выполнения:
vibeos skills opt-out # stop future seeding — nothing on disk is touched
vibeos skills opt-out --remove # also delete UNMODIFIED bundled skills (confirms first)
vibeos skills opt-in --sync # undo: remove the marker and re-seed now
Все три пути записывают маркер .no-bundled-skills в каталог профиля. Пока маркер присутствует, установщик vibeos update и любая синхронизация навыков пропускают заполнение набора навыков для этого профиля. Удалите маркер (или запустите vibeos skills opt-in), чтобы снова включить его.
vibeos skills opt-out только останавливает будущее заполнение — он никогда не удаляет что-либо, уже находящееся на диске. Дополнительный флаг --remove удаляет связанные навыки только, если они не изменены (идентичны по байтам установленной версии VibeOS). Навыки, которые вы отредактировали, навыки, установленные из хаба, а также навыки, которые вы написали самостоятельно, всегда сохраняются.
Использование навыков
Каждый установленный навык сразу доступен как slash-команда:
# In the CLI or any messaging platform:
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/plan design a rollout for migrating our auth provider
# Just the skill name loads it and lets the agent ask what you need:
/excalidraw
Классический пример — встроенный навык plan. /plan [request] подгружает инструкции: при необходимости сверить контекст, написать markdown-план вместо выполнения задачи и сохранить результат в .vibeos/plans/ относительно активного рабочего каталога / backend.
Вы также можете взаимодействовать с навыками посредством естественного разговора:
vibeos chat --toolsets skills -q "What skills do you have?"
vibeos chat --toolsets skills -q "Show me the axolotl skill"
Изучение навыка из источников (/learn)
/learn — это быстрый способ превратить что-то, что вы уже знаете, или кучу
справочный материал — в навык многократного использования, без написания от руки
SKILL.md. Он открыт: направьте его на все, что вы можете описать и
агент собирает материал с помощью уже имеющихся у него инструментов, а затем разрабатывает навык
который соответствует собственным стандартам разработки (≤60 символов)
описание, стандартный порядок секций, VibeOS-обрамление инструмента, не придумано
команды).
# A local SDK or doc directory — read with read_file / search_files
/learn the REST client in ~/projects/acme-sdk, focus on auth + pagination
# An online doc page — fetched with web_extract
/learn https://docs.example.com/api/quickstart
# The workflow you just walked the agent through in this conversation
/learn how I just deployed the staging server
# Pasted notes / a described procedure
/learn filing an expense: open the portal, New > Expense, attach the receipt, submit
Поскольку источниками данных занимается живой агент, /learn работает так же, как и CLI.
шлюз обмена сообщениями, TUI и панель мониторинга — и на любой серверной части терминала
(локальный, Docker, удаленный), поскольку отдельного механизма приема нет. В
панель управления, на странице «Навыки» есть кнопка Изучить навык, которая открывает панель.
с полем каталога, полем URL и открытым текстовым полем; это составляет
/learn запрос и запускает его в чате.
Модель не связана с инструментом: /learn создает подсказку, основанную на стандартах, и
передает его агенту как обычный ход. Агент сохраняет результат с помощью
skill_manage, поэтому ворота утверждения записи
применяется, если он у вас включен.
Прогрессивное раскрытие информации
Навыки используют шаблон загрузки с эффективным использованием токенов:
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
Агент загружает полный контент навыков только тогда, когда он действительно в этом нуждается.
Формат SKILL.md
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to specific OS platforms
metadata:
vibeos:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Optional — conditional activation (see below)
requires_toolsets: [terminal] # Optional — conditional activation (see below)
config: # Optional — config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
Навыки, специфичные для платформы
Навыки могут ограничиваться конкретными операционными системами с помощью поля platforms:
| Значение | Матчи |
|---|---|
macos | macOS (Дарвин) |
linux | Линукс |
windows | Окна |
platforms: [macos] # macOS only (e.g., iMessage, Apple Reminders, FindMy)
platforms: [macos, linux] # macOS and Linux
Если навык установлен, на несовместимых платформах он автоматически скрывается из системной подсказки skills_list() и из slash-команд. Если поле опущено — навык доступен везде.
Результативные навыки и доставка медиа
Когда ответ навыка (или любой ответ агента) включает в себя пустой абсолютный путь к медиафайлу — например, /home/user/screenshots/diagram.png — шлюз автоматически обнаруживает его, удаляет его из видимого текста и доставляет файл в чат пользователя (фото Telegram, вложение Discord и т. д.) вместо того, чтобы оставлять необработанный путь в сообщении.
В частности, для аудио директива [[audio_as_voice]] превращает аудиофайлы в собственные всплывающие сообщения голосовых сообщений на платформах, которые их поддерживают (Telegram, WhatsApp).
Принудительная доставка в стиле документа: [[as_document]]
Иногда вам нужно противоположное встроенному предварительному просмотру: вы хотите, чтобы файл был доставлен в виде загружаемого вложения, а не в виде повторно сжатого пузырька изображения. Классический пример — скриншот или диаграмма с высоким разрешением — Telegram sendPhoto повторно сжимает его до ~200 КБ при размере 1280 пикселей, ухудшая читабельность. PNG размером 1–2 МБ, отправленный через sendDocument, сохраняет исходные байты нетронутыми.
Если ответ (или любой текст внутри него — обычно последняя строка) содержит буквальную директиву [[as_document]], каждый медиа-путь, извлеченный из этого ответа, доставляется в виде вложения документа /file, а не в виде пузырька изображения:
Here is your rendered chart:
/home/user/.vibeos/cache/chart-q4-2025.png
[[as_document]]
Директива удаляется перед доставкой, поэтому пользователи ее никогда не увидят. Детализация намеренно задается по принципу «все или ничего» для каждого ответа: выдайте [[as_document]] один раз, и каждый путь к изображению в одном ответе будет доставлен как документ. Это отражает область действия [[audio_as_voice]].
Используйте его из навыка, когда:
- Вы создаете скриншоты или диаграммы, необходимые пользователю, в виде файлов (для редактирования в другом инструменте, архивирования и совместного использования без изменений).
- Предварительный просмотр с потерями по умолчанию будет скрывать детали (мелкий текст, диаграммы с точностью до пикселя, цветочувствительные рендеры).
Платформы без отдельного пути к документу (например, SMS) прибегают к любому имеющемуся у них механизму прикрепления.
Условная активация (запасные навыки)
Навыки могут автоматически отображаться или скрываться в зависимости от того, какие инструменты доступны в текущем сессияе. Это наиболее полезно для запасных навыков — бесплатных или локальных альтернатив, которые должны появляться только тогда, когда премиум-инструмент недоступен.
metadata:
vibeos:
fallback_for_toolsets: [web] # Show ONLY when these toolsets are unavailable
requires_toolsets: [terminal] # Show ONLY when these toolsets are available
fallback_for_tools: [web_search] # Show ONLY when these specific tools are unavailable
requires_tools: [terminal] # Show ONLY when these specific tools are available
| Поле | Поведение |
|---|---|
fallback_for_toolsets | Навык скрыт, когда доступны перечисленные наборы инструментов. Показано, когда они отсутствуют. |
fallback_for_tools | То же, но проверяется отдельные инструменты, а не наборы инструментов. |
requires_toolsets | Навык скрыт, когда перечисленные наборы инструментов недоступны. Показано, когда они присутствуют. |
requires_tools | То же, но проверяет отдельные инструменты. |
Пример: Встроенный навык duckduckgo-search использует fallback_for_toolsets: [web]. Если у вас установлен FIRECRAWL_API_KEY, доступен набор веб-инструментов и агент использует web_search — навык DuckDuckGo остается скрытым. Если ключ API отсутствует, набор веб-инструментов недоступен, а навык DuckDuckGo автоматически отображается в качестве запасного варианта.
Навыки без каких-либо условных полей ведут себя точно так же, как и раньше — они всегда отображаются.
Безопасная настройка при загрузке
Навыки могут объявлять необходимые переменные среды, не исчезая из поля зрения:
required_environment_variables:
- name: TENOR_API_KEY
prompt: Tenor API key
help: Get a key from https://developers.google.com/tenor
required_for: full functionality
При обнаружении отсутствующего значения VibeOS безопасно запрашивает его только тогда, когда навык действительно загружен в локальный CLI. Вы можете пропустить настройку и продолжить использование навыка. Обмен сообщениями никогда не запрашивает секреты в чате — вместо этого они советуют вам использовать vibeos setup или ~/.vibeos/.env локально.
После установки объявленные переменные окружения автоматически передаются в песочницы execute_code и terminal — скрипты навыка могут использовать $TENOR_API_KEY напрямую. Для переменных окружения, не требующих навыков, используйте параметр конфигурации terminal.env_passthrough. Подробности см. в разделе Передача переменных среды.
Настройки конфигурации навыков
Навыки также могут объявлять несекретные настройки конфигурации (пути, настройки), хранящиеся в config.yaml:
metadata:
vibeos:
config:
- key: myplugin.path
description: Path to the plugin data directory
default: "~/myplugin-data"
prompt: Plugin data directory path
Настройки хранятся в папке skills.config в вашем config.yaml. vibeos config migrate запрашивает ненастроенные параметры, а vibeos config show отображает их. Когда навык загружается, его разрешенные значения конфигурации вводятся в контекст, поэтому агент автоматически узнает настроенные значения.
Подробности см. в разделах Настройки навыков и Создание навыков — Настройки конфигурации.
Структура каталога навыков
~/.vibeos/skills/ # Single source of truth
├── mlops/ # Category directory
│ ├── axolotl/
│ │ ├── SKILL.md # Main instructions (required)
│ │ ├── references/ # Additional docs
│ │ ├── templates/ # Output formats
│ │ ├── scripts/ # Helper scripts callable from the skill
│ │ └── assets/ # Supplementary files
│ └── vllm/
│ └── SKILL.md
├── devops/
│ └── deploy-k8s/ # Agent-created skill
│ ├── SKILL.md
│ └── references/
├── .hub/ # Skills Hub state
│ ├── lock.json
│ ├── quarantine/
│ └── audit.log
└── .bundled_manifest # Tracks seeded bundled skills
Внешние каталоги навыков
Если у вас есть навыки за пределами VibeOS — например, общий каталог ~/.agents/skills/, используемый несколькими инструментами искусственного интеллекта, — вы можете указать VibeOS сканировать и эти каталоги.
Добавьте external_dirs в раздел skills в ~/.vibeos/config.yaml:
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
Пути поддерживают расширение ~ и замену переменных среды $\{VAR\}.
Как это работает
- Создать локально, обновить на месте: новые навыки, созданные агентом, записываются в
~/.vibeos/skills/. Существующие навыки изменяются там, где они находятся, включая навыки подexternal_dirs, когда агент использует действияskill_manage, такие какpatch,edit,write_file,remove_fileилиdelete. - Внешние каталоги не являются границей защиты от записи: если внешний каталог навыков доступен для записи процессу VibeOS, обновления навыков, управляемые агентом, могут изменить файлы в этом каталоге. Используйте разрешения файловой системы или отдельную настройку профиля /toolset, если общие внешние навыки должны оставаться доступными только для чтения.
- Локальный приоритет: если одно и то же имя навыка существует как в локальном, так и во внешнем каталоге, побеждает локальная версия.
- Полная интеграция: внешние навыки видны в
skills_list,skill_viewи как slash/skill-name— так же, как локальные. - Несуществующие пути автоматически пропускаются: если настроенный каталог не существует, VibeOS игнорирует его без ошибок. Полезно для дополнительных общих каталогов, которые могут присутствовать не на каждой машине.
Пример
~/.vibeos/skills/ # Local (primary, read-write)
├── devops/deploy-k8s/
│ └── SKILL.md
└── mlops/axolotl/
└── SKILL.md
~/.agents/skills/ # External (shared, mutable if writable)
├── my-custom-workflow/
│ └── SKILL.md
└── team-conventions/
└── SKILL.md
Все четыре навыка отображаются в вашем индексе навыков. Если вы создадите новый навык под названием my-custom-workflow локально, он затенит внешнюю версию.
Наборы навыков
Пакеты навыков — крошечные YAML-файлы, которые группируют несколько навыков под одной slash-командой. При /<bundle-name>` все навыки из пакета загружаются сразу — удобно, когда для задачи всегда нужен один и тот же набор.
Быстрый пример
# Create a bundle for backend feature work
vibeos bundles create backend-dev \
--skill github-code-review \
--skill test-driven-development \
--skill github-pr-workflow \
-d "Backend feature work — review, test, PR workflow"
Затем в CLI или на любой платформе шлюза:
/backend-dev refactor the auth middleware
Агент получает все три навыка в одном пользовательском сообщении; любой текст после slash идёт как инструкция пользователя.
Схема YAML
Пакеты живут в ~/.vibeos/skill-bundles/<slug>.yaml и выглядят следующим образом:
name: backend-dev
description: Backend feature work — review, test, PR workflow.
skills:
- github-code-review
- test-driven-development
- github-pr-workflow
instruction: |
Always start by writing failing tests, then implement.
Open the PR through the standard workflow with co-author tags.
Поля:
name(необязательно — по умолчанию stem имени файла) — отображаемое имя пакета. Для slash нормализуется в kebab-case (Backend Dev→/backend-dev).description(необязательно) — краткий текст, отображаемый в/bundlesиvibeos bundles list.skills(обязательный, непустой список) — названия навыков или пути относительно вашего каталога навыков. Используйте тот же идентификатор, который вы передали/<skill-name>`.instruction(необязательно) — к загруженному содержимому навыков добавляется дополнительное руководство. Полезно для систематизации того, «как мы всегда используем их вместе».
Управление пакетами
# List all installed bundles
vibeos bundles list
# Inspect one bundle
vibeos bundles show backend-dev
# Create a bundle interactively (omit --skill flags to enter them one per line)
vibeos bundles create research
# Overwrite an existing bundle
vibeos bundles create backend-dev --skill ... --force
# Delete a bundle
vibeos bundles delete backend-dev
# Re-scan ~/.vibeos/skill-bundles/ and report changes
vibeos bundles reload
В сессияе чата /bundles перечисляет каждый установленный пакет и его навыки.
Поведение
- Связки имеют приоритет над отдельными навыками при столкновении слизней. Если вы называете пакет
researchи у вас также есть навык под названиемresearch,/researchвызывает пакет. Это сделано намеренно — вы выбрали пакет, присвоив ему имя. - Отсутствующие навыки пропускаются, а не являются фатальными. Если в пакете указан
skill-foo, и вы его не установили, пакет все равно загружает разрешаемые навыки, и агент получает заметку со списком того, что было пропущено. - Пакеты работают на всех платформах — интерактивных CLI, TUI, чате панели управления и на каждой платформе шлюза (Telegram, Discord, Slack и т. д.) — поскольку диспетчеризация централизована в том же месте, что и отдельные команды навыков.
- Пакеты не делают недействительным кэш подсказок. Они генерируют новое пользовательское сообщение во время вызова, так же, как это делает
/<skill-name>` — без изменения системных подсказок.
Когда пакеты лучше, чем установка каждого навыка вручную
Используйте пакет, когда:
- Вы всегда сочетаете одни и те же навыки для повторяющихся задач (
/backend-dev,/release-prep,/incident-response). - Вам нужна ментальная модель короче на один символ, чем ввод нескольких вызовов
/skillподряд. - Вы хотите отправить «профиль задачи» для всей команды, проверив пакет YAML в общий репозиторий точечных файлов и добавив символическую ссылку на него в
~/.vibeos/skill-bundles/.
Пакет — это всего лишь псевдоним YAML — он не устанавливает вам навыки. Сами навыки уже должны присутствовать (в ~/.vibeos/skills/ или во внешнем каталоге навыков). В противном случае вызов пакета просто пропускает недостающие.
Навыки, управляемые агентом (инструмент Skill_manage)
Агент может создавать, обновлять и удалять свои собственные навыки с помощью инструмента skill_manage. Это процедурная память агента: когда он определяет нетривиальный рабочий процесс, он сохраняет подход как навык для будущего повторного использования.
Навыки и память работают вместе в цикле самосовершенствования: память хранит небольшие прочные факты, которые всегда должны быть в контексте, а навыки сохраняются дольше процедуры, которые должны загружаться только при необходимости. Обзор предыстории может предлагать или инсценировать изменения навыков после сессияа, но ворота одобрения записи ниже позволяет вам потребовать проверки человеком, прежде чем эти изменения вступят в силу.
Когда агент создает навыки
- После успешного выполнения сложной задачи (5+ вызовов инструментов)
- Когда он сталкивается с ошибками или тупиками и находит рабочий путь
- Когда пользователь исправил свой подход
- Когда обнаружился нетривиальный рабочий процесс
Действия
| Действие | Использовать для | Ключевые параметры |
|---|---|---|
create | Новый навык с нуля | name, content (полный SKILL.md), дополнительный category |
patch | Целевые исправления (предпочтительно) | name, old_string, new_string |
edit | Основные структурные изменения | name, content (полная замена SKILL.md) |
delete | Полностью удалить навык | name |
write_file | Add/update вспомогательные файлы | name, file_path, file_content |
remove_file | Удалить вспомогательный файл | name, file_path |
Действие patch предпочтительнее для обновлений — оно более эффективно использует токены, чем edit, поскольку при вызове инструмента отображается только измененный текст.
Запись навыков шлюзового агента (skills.write_approval)
По умолчанию агент свободно записывает навыки — в том числе из background обзор самосовершенствования который работает после поворота. Если вы предпочитаете одобрить каждый навык, сначала напишите (небольшие модели, которые неправильно оценивают то, чему они научились, защищают среду или просто желающим следить за циклом самосовершенствования), включите шлюз одобрения записи:
skills:
write_approval: false # false = write freely (default) | true = require approval
При write_approval: true каждый skill_manage записывает (создает/редактирует/
patch/delete/write_file/remove_file) проиндексирован, а не зафиксирован —
SKILL.md слишком велик для просмотра в реальном времени, поэтому промежуточный вариант применяется независимо от
независимо от того, была ли запись произведена в ходе переднего плана или в ходе фонового обзора.
Поэтапная запись сохраняется при перезапуске под ~/.vibeos/pending/skills/ и
проверено с использованием того же знакомого потока утверждения /deny, что и опасные команды:
/skills pending # list staged skill writes + a one-line gist each
/skills diff <id> # full unified diff (best viewed in CLI or dashboard)
/skills approve <id> # apply it (or 'all')
/skills reject <id> # drop it (or 'all')
/skills approval on # turn the gate on (or 'off') and persist it
Поверхность обзора работает в интерактивном CLI и на платформах обмена сообщениями.
(вывод различий обрезается для всплывающих окон чата — прочитайте полный файл различий на CLI или
в ожидаемом файле JSON). Запись в память имеет один и тот же вентиль под
memory.write_approval — см. Управление записью в память.
Отдельная настройка
skills.guard_agent_created— сканер контента (эвристика опасных шаблонов), а не ворота одобрения — оба независимый. См. Защита от записи навыков, созданных агентом.
Центр навыков
Просматривайте, ищите, устанавливайте навыки и управляйте ими из онлайн-реестров, skills.sh, прямых конечных точек известных навыков и официальных дополнительных навыков.
Общие команды
vibeos skills browse # Browse all hub skills (official first)
vibeos skills browse --source official # Browse only official optional skills
vibeos skills search kubernetes # Search all sources
vibeos skills search react --source skills-sh # Search the skills.sh directory
vibeos skills search https://mintlify.com/docs --source well-known
vibeos skills inspect openai/skills/k8s # Preview before installing
vibeos skills install openai/skills/k8s # Install with security scan
vibeos skills install official/security/1password
vibeos skills install skills-sh/vercel-labs/json-render/json-render-react --force
vibeos skills install well-known:https://mintlify.com/docs/.well-known/skills/mintlify
vibeos skills install https://sharethis.chat/SKILL.md # Direct URL (single-file SKILL.md)
vibeos skills install https://example.com/SKILL.md --name my-skill # Override name when frontmatter has none
vibeos skills list --source hub # List hub-installed skills
vibeos skills check # Check installed hub skills for upstream updates
vibeos skills update # Reinstall hub skills with upstream changes when needed
vibeos skills audit # Re-scan all hub skills for security
vibeos skills uninstall k8s # Remove a hub skill
vibeos skills reset google-workspace # Un-stick a bundled skill from "user-modified" (see below)
vibeos skills reset google-workspace --restore # Also restore the bundled version, deleting your local edits
vibeos skills publish skills/my-skill --to github --repo owner/repo
vibeos skills snapshot export setup.json # Export skill config
vibeos skills tap add myorg/skills-repo # Add a custom GitHub source
Поддерживаемые источники хаба
| Источник | Пример | Заметки |
|---|---|---|
official | official/security/1password | Дополнительные навыки поставляются с VibeOS. |
skills-sh | skills-sh/vercel-labs/agent-skills/vercel-react-best-practices | Доступен для поиска через vibeos skills search <query> --source skills-sh. VibeOS разрешает навыки в стиле псевдонимов, когда фрагментkills.sh отличается от папки репо. |
well-known | well-known:https://mintlify.com/docs/.well-known/skills/mintlify | Навыки предоставляются непосредственно из /.well-known/skills/index.json на веб-сайте. Поиск по сайту или документации URL. |
url | https://sharethis.chat/SKILL.md | Направьте HTTP(S) URL в однофайловый SKILL.md. Разрешение имени: заголовок → пул URL → интерактивная подсказка → флаг --name. |
github | openai/skills/k8s | Прямая установка репозитория GitHub/path и пользовательские нажатия. |
clawhub, lobehub, browse-sh | Идентификаторы источника | Интеграция сообщества или рынка. |
Интегрированные хабы и реестры
VibeOS в настоящее время интегрируется со следующими экосистемами навыков и источниками открытий:
1. Официальные дополнительные навыки (official)
Они хранятся в самом репозитории VibeOS и устанавливаются со встроенным доверием.
- Каталог: Официальный каталог дополнительных навыков
- Источник в репозитории:
optional-skills/ - Пример:
vibeos skills browse --source official
vibeos skills install official/security/1password
2.skills.sh (skills-sh)
Это каталог общедоступных навыков Vercel. VibeOS может выполнять поиск напрямую, проверять страницы с подробными сведениями о навыках, разрешать фрагменты в стиле псевдонимов и устанавливать из базового репозитория исходного кода.
- Каталог: skills.sh
- Репозиторий CLI/tooling: vercel-labs/skills
- Официальный репозиторий навыков Vercel: vercel-labs/agent-skills
- Пример:
vibeos skills search react --source skills-sh
vibeos skills inspect skills-sh/vercel-labs/json-render/json-render-react
vibeos skills install skills-sh/vercel-labs/json-render/json-render-react --force
3. Хорошо известные конечные точки навыков (well-known)
Это обнаружение на основе URL с сайтов, публикующих /.well-known/skills/index.json. Это не единый централизованный хаб — это соглашение по веб-обнаружению.
– Пример активной конечной точки: Индекс навыков работы с документами Mintlify
- Реализация эталонного сервера: vercel-labs/skills-handler
- Пример:
vibeos skills search https://mintlify.com/docs --source well-known
vibeos skills inspect well-known:https://mintlify.com/docs/.well-known/skills/mintlify
vibeos skills install well-known:https://mintlify.com/docs/.well-known/skills/mintlify
4. Навыки работы с GitHub (github)
VibeOS можно установить непосредственно из репозиториев GitHub и кранов на базе GitHub. Это полезно, если вы уже знаете репозиторий /path или хотите добавить свой собственный репозиторий с исходным кодом.
Касания по умолчанию (доступны для просмотра без каких-либо настроек):
-
NVIDIA/skills — навыки, подтвержденные NVIDIA (подпись
skill.oms.sig+ управлениеskill-card.md) -
Пример:
vibeos skills install openai/skills/k8s
vibeos skills tap add myorg/skills-repo
Группы категорий (skills.sh.json). Кран GitHub может отправить
skills.sh.json в корне репозитория после
схемаskills.sh. Это
groupings (каждый с title и списком названий навыков) читаются по индексу
время и станут метками категорий, показанными в
Страница Skills Hub — вместо
предположение на основе тега. Это общий принцип: любое нажатие, при котором файл отправляется, становится реальным.
категоризации, никаких изменений на стороне VibeOS не требуется.
{
"$schema": "https://skills.sh/schemas/skills.sh.schema.json",
"groupings": [
{ "title": "Inference AI", "skills": ["dynamo-recipe-runner", "dynamo-router-sla"] },
{ "title": "Decision Optimization", "skills": ["cuopt-developer", "cuopt-install"] }
]
}
5. ClawHub (clawhub)
Сторонний рынок навыков, интегрированный в качестве источника сообщества.
- Сайт: clawhub.ai
- Идентификатор источника VibeOS:
clawhub
6. Репозитории в стиле торговой площадки Claude (claude-marketplace)
VibeOS поддерживает репозитории торговой площадки, в которых публикуются манифесты подключаемого модуля /marketplace, совместимого с Claude.
Известные интегрированные источники включают:
Идентификатор источника VibeOS: claude-marketplace
7. LobeHub (lobehub)
VibeOS может выполнять поиск и конвертировать записи агентов из общедоступного каталога LobeHub в устанавливаемые навыки VibeOS.
- Сайт: LobeHub
- Индекс публичных агентов: chat-agents.lobehub.com
- Репозиторий резервной копии: lobehub/lobe-chat-agents
- Идентификатор источника VibeOS:
lobehub
8. Browse.sh (browse-sh)
VibeOS интегрируется с browse.sh, каталогом Browserbase, содержащим более 200 файлов SKILL.md для автоматизации браузера для конкретного сайта (Airbnb, Amazon, arXiv, 12306.cn, Etsy, Xero и многие другие). Каждый навык описывает, как комплексно управлять одним веб-сайтом, и подходит для использования с инструментами браузера VibeOS и любыми навыками автоматизации браузера, которые у вас уже установлены.
- Сайт: browse.sh
- Каталог API:
https://browse.sh/api/skills - Идентификатор источника VibeOS:
browse-sh - Уровень доверия:
community.
vibeos skills search airbnb --source browse-sh
vibeos skills inspect browse-sh/airbnb.com/search-listings-ddgioa
vibeos skills install browse-sh/airbnb.com/search-listings-ddgioa
Идентификаторы используют форму browse-sh/<hostname>/<task-id> и соответствуют фрагменту, представленному в каталоге Browse.sh. Содержимое обрабатывается через конечную точку детализации каждого навыка (/api/skills/<slug> → skillMdUrl), а не через GitHub каталога sourceUrl.
####9. Директ URL (url)
Установите однофайловый SKILL.md непосредственно из любого HTTP(S) URL — полезно, когда автор размещает навык на своем собственном сайте (без списка хаба и пути GitHub для ввода). VibeOS извлекает URL, анализирует фронтальную часть YAML, проверяет ее на безопасность и устанавливает.
- Идентификатор источника VibeOS:
url - Идентификатор: сам URL (префикс не требуется)
- Область применения: только однофайловый
SKILL.md. Навыки работы с несколькими файлами сreferences/илиscripts/требуют манифеста и должны быть опубликованы через один из других источников, указанных выше.
vibeos skills install https://sharethis.chat/SKILL.md
vibeos skills install https://example.com/my-skill/SKILL.md --category productivity
Разрешение имени, по порядку:
- Поле
name:во вступительной части SKILL.md YAML (рекомендуется — оно есть у каждого хорошо сформированного навыка). - Имя родительского каталога из пути URL (например,
.../my-skill/SKILL.md→my-skillили.../my-skill.md→my-skill), если это действительный идентификатор (^[a-z][a-z0-9_-]*$). - Интерактивная подсказка на терминале с TTY.
- На неинтерактивных поверхностях (slash-команда
/skills installвнутри TUI, шлюзовые платформы, скрипты) чистая ошибка, указывающая на переопределение--name.
# Frontmatter has no name and the URL slug is unhelpful — supply one:
vibeos skills install https://example.com/SKILL.md --name sharethis-chat
# Or inside a chat session:
/skills install https://example.com/SKILL.md --name sharethis-chat
Уровень доверия всегда равен community — выполняется такое же сканирование безопасности, как и для любого другого источника. URL сохраняется как идентификатор установки, поэтому vibeos skills update автоматически выполняет повторную выборку из того же URL, когда вы хотите обновить.
Сканирование безопасности и --force
Все навыки, установленные в хабе, проходят через сканер безопасности, который проверяет на предмет кражи данных, быстрого внедрения, деструктивных команд, сигналов цепочки поставок и других угроз.
vibeos skills inspect ... теперь также отображает исходные метаданные, если они доступны:
- репозиторий URL
- страница сведений о навыках.sh URL
- команда установки
- еженедельные установки
- статусы аудита безопасности восходящего потока
- известные URL-адреса index/endpoint
Используйте --force, если вы просмотрели сторонний навык и хотите отменить неопасную блокировку политики:
vibeos skills install skills-sh/anthropics/skills/pdf --force
Важное поведение:
--forceможет отменять блокировки политики для предупреждения выводов /warn-style.--forceне отменяет вердикт сканированияdangerous.- Официальные дополнительные навыки (
official/...) считаются встроенным доверием и не отображаются на сторонней панели предупреждений.
Уровни доверия
| Уровень | Источник | Политика |
|---|---|---|
builtin | Поставляется с VibeOS | Всегда доверял |
official | optional-skills/ в репозитории | Встроенное доверие, никаких предупреждений третьих лиц |
trusted | Доверенные реестры/repos, такие как openai/skills, anthropics/skills, huggingface/skills, NVIDIA/skills | Более либеральная политика, чем общественные источники |
community | Все остальное (skills.sh, общеизвестные конечные точки, пользовательские репозитории GitHub, большинство торговых площадок) | Неопасные выводы можно отменить с помощью --force; Вердикты dangerous остаются заблокированными |
Жизненный цикл обновления
Теперь хаб отслеживает достаточно источников, чтобы перепроверять исходные копии установленных навыков:
vibeos skills check # Report which installed hub skills changed upstream
vibeos skills update # Reinstall only the skills with updates available
vibeos skills update react # Update one specific installed hub skill
При этом используется сохраненный идентификатор источника плюс текущий хэш содержимого восходящего пакета для обнаружения отклонения.
Операции центра навыков используют GitHub API, который имеет ограничение скорости в 60 запросов /hour для неаутентифицированных пользователей. Если вы видите ошибки ограничения скорости во время установки или поиска, установите GITHUB_TOKEN в файле .env, чтобы увеличить ограничение до 5000 запросов. /hour. В сообщении об ошибке содержится подсказка, если это произойдет.
Публикация пользовательского крана навыков
Если вы хотите поделиться тщательно подобранным набором навыков — для вашей команды, вашей организации или публично — вы можете опубликовать их как tap: репозиторий GitHub, который другие пользователи VibeOS добавляют с помощью vibeos skills tap add <owner/repo>. Нет сервера, нет регистрации в реестре, нет конвейера выпуска. Просто каталог файлов SKILL.md`.
Макет репозитория
Tap — это любой репозиторий GitHub (публичный или частный — для частных нужд GITHUB_TOKEN), оформленный следующим образом:
owner/repo
├── skills/ # default path; configurable per-tap
│ ├── my-workflow/
│ │ ├── SKILL.md # required
│ │ ├── references/ # optional supporting files
│ │ ├── templates/
│ │ └── scripts/
│ ├── another-skill/
│ │ └── SKILL.md
│ └── third-skill/
│ └── SKILL.md
└── README.md # optional but helpful
Правила:
- Каждый навык находится в своем собственном каталоге в корневом пути крана (по умолчанию
skills/). - Имя каталога становится ярлыком установки навыка.
- Каждый каталог навыков должен содержать
SKILL.mdсо стандартным SKILL.md frontmatter (name,description, плюс необязательныеmetadata.vibeos.tags,version,author,platforms,metadata.vibeos.config). - Подкаталоги, такие как
references/,templates/,scripts/,assets/, загружаются вместе сSKILL.mdво время установки. - Навыки, имя каталога которых начинается с
.или_, игнорируются.
VibeOS обнаруживает навыки, перечисляя все подкаталоги пути касания и проверяя каждый на наличие SKILL.md.
Пример минимального касания
my-org/vibeos-skills
└── skills/
└── deploy-runbook/
└── SKILL.md
skills/deploy-runbook/SKILL.md:
---
name: deploy-runbook
description: Our deployment runbook — services, rollback, Slack channels
version: 1.0.0
author: My Org Platform Team
metadata:
vibeos:
tags: [deployment, runbook, internal]
---
# Deploy Runbook
Step 1: ...
После отправки этого на GitHub любой пользователь VibeOS может подписаться и установить:
vibeos skills tap add my-org/vibeos-skills
vibeos skills search deploy
vibeos skills install my-org/vibeos-skills/deploy-runbook
Пути не по умолчанию
Если ваши навыки не указаны в skills/ (это часто случается при добавлении поддерева skills/ в существующий проект), отредактируйте запись касания в ~/.vibeos/.hub/taps.json:
{
"taps": [
{"repo": "my-org/platform-docs", "path": "internal/skills/"}
]
}
В vibeos skills tap add CLI новые отводы по умолчанию установлены на path: "skills/"; отредактируйте файл напрямую, если вам нужен другой путь. vibeos skills tap list показывает эффективный путь для каждого касания.
Установка отдельных навыков напрямую (без добавления тапа)
Пользователи также могут установить один навык из любого общедоступного репозитория GitHub, не добавляя весь репозиторий одним нажатием:
vibeos skills install owner/repo/skills/my-workflow
Полезно, когда вы хотите поделиться одним навыком, не прося пользователя подписаться на весь ваш реестр.
Уровни доверия для кранов
Новым кранам по умолчанию назначается доверие community. Установленные с их помощью навыки проходят стандартное сканирование безопасности и при первой установке отображают стороннюю панель предупреждений. Если ваша организация или источник, пользующийся широким доверием, должен получить более высокий уровень доверия, добавьте его репозиторий в TRUSTED_REPOS в tools/skills_hub.py (требуется основной PR VibeOS).
Управление касанием
vibeos skills tap list # show all configured taps
vibeos skills tap add myorg/skills-repo # add (default path: skills/)
vibeos skills tap remove myorg/skills-repo # remove
Внутри работающего сессияа:
/skills tap list
/skills tap add myorg/skills-repo
/skills tap remove myorg/skills-repo
Отводы хранятся в ~/.vibeos/.hub/taps.json (создаются по требованию).
Пакетные обновления навыков (vibeos skills reset)
VibeOS поставляется с набором встроенных навыков в skills/ внутри репозитория. При установке и на каждом vibeos update этап синхронизации копирует их в ~/.vibeos/skills/ и записывает манифест в ~/.vibeos/skills/.bundled_manifest, сопоставляя каждое имя навыка с хэшем контента на момент синхронизации (исходный хеш).
При каждой синхронизации VibeOS пересчитывает хэш вашей локальной копии и сравнивает его с исходным хешем:
- Без изменений → безопасно извлекать изменения из исходной версии, копировать новую связанную версию, записывать новый исходный хеш.
- Изменено → рассматривается как измененное пользователем и пропускается навсегда, поэтому ваши изменения никогда не будут отменены.
Защита хорошая, но есть одна острая кромка. Если вы отредактируете связанный навык, а затем позже захотите отказаться от своих изменений и вернуться к связанной версии, просто скопировав из ~/.vibeos/vibeos-agent/skills/, манифест по-прежнему будет содержать старый хэш источника с момента последней успешной синхронизации. Ваше свежее содержимое копирования и вставки (текущий связанный хеш) не будет соответствовать устаревшему исходному хэшу, поэтому синхронизация продолжает помечать его как измененное пользователем.
vibeos skills reset — аварийный люк:
# Safe: clears the manifest entry for this skill. Your current copy is preserved,
# but the next sync re-baselines against it so future updates work normally.
vibeos skills reset google-workspace
# Full restore: also deletes your local copy and re-copies the current bundled
# version. Use this when you want the pristine upstream skill back.
vibeos skills reset google-workspace --restore
# Non-interactive (e.g. in scripts or TUI mode) — skip the --restore confirmation.
vibeos skills reset google-workspace --restore --yes
Эта же команда работает в чате как slash-команда:
/skills reset google-workspace
/skills reset google-workspace --restore
Каждый профиль имеет свой собственный .bundled_manifest под собственным VIBEOS_HOME, поэтому vibeos -p coder skills reset <name>` влияет только на этот профиль.
Slash-команды (внутри чата)
С /skills работают все те же команды:
/skills browse
/skills search react --source skills-sh
/skills search https://mintlify.com/docs --source well-known
/skills inspect skills-sh/vercel-labs/json-render/json-render-react
/skills install openai/skills/skill-creator --force
/skills check
/skills update
/skills reset google-workspace
/skills list
Официальные дополнительные навыки по-прежнему используют такие идентификаторы, как official/security/1password и official/migration/openclaw-migration.