Skip to main content

Навыки Велеса: подробный справочник

Это подробная страница для тех, кто хочет понимать внутреннюю механику работы навыков в Велес. Если вам нужно простое объяснение без технических деталей, начните со статьи Навыки Велеса: простое объяснение. Если вас интересует практический алгоритм проведения глубокого исследования, откройте Глубокое исследование (Deep Research).

Что такое навык в Велес

В текущей реализации навык — это директория с обязательным файлом SKILL.md, который содержит:
  • заголовок с названием и описанием;
  • дополнительные метаданные;
  • инструкции в формате Markdown для Велеса.
  • при необходимости вспомогательные файлы: скрипты, справочные материалы и ресурсы.
Идея заключается в том, что навык не является отдельным инструментом. Это слой инструкций, работающий поверх системы инструментов (tool-системы). То есть навык говорит Велесу:
  • в каких ситуациях применять данный сценарий;
  • какой именно алгоритм действий использовать;
  • какие ограничения следует учитывать;
  • какие инструменты задействовать;
  • каких действий следует избегать.

Где Велес ищет навыки

Велес загружает навыки из трёх источников с порядком наложения:

1. Навыки активной личности

Это каталог внутри рабочей области:
  • <workspace>/personalities/<id>/skills/<имя-навыка>/SKILL.md
Такие навыки подключаются только для активной личности. При совпадении имени они имеют самый высокий приоритет.

2. Навыки рабочей области

Это каталог проекта:
  • <workspace>/skills/<имя-навыка>/SKILL.md
Такие навыки доступны всем личностям рабочей области. Если в рабочей области существует навык с тем же именем, что и встроенный, будет использована версия из рабочей области, если активная личность не переопределила её собственной версией.

3. Встроенные навыки

Это стандартный каталог фреймворка:
  • veles/skills/<имя-навыка>/SKILL.md
Если активна дополнительная личность, её навыки имеют приоритет над общими навыками рабочей области с тем же именем. Общие навыки рабочей области имеют приоритет над встроенными. Именно здесь хранятся базовые навыки, поставляемые вместе с проектом.

Как добавить навык

Базовый способ добавления остаётся файловым: создать каталог навыка в одном из поддерживаемых мест и положить в него SKILL.md. Для подготовки такого каталога есть встроенный навык skill-creator и его скрипт:
Для навыка конкретной личности путь другой:
Готовый навык можно упаковать в переносимый файл .skill:
Также есть встроенный навык clawhub, который устанавливает навыки из публичного каталога через npx:
В Nerve навык можно установить без командной строки. Откройте панель «Навыки», нажмите кнопку со значком загрузки и подсказкой «Установить», выберите предустановленный каталог или добавьте маркетплейс GitHub либо GitLab, затем выберите навык. В начальной конфигурации уже доступны «Alor Public skills» и «Alor Internal skills». Велес проверит SKILL.md и скопирует весь каталог навыка в <workspace>/skills. Установленные таким способом навыки доступны всем личностям рабочей области.

Программный каталог навыков

Для интерфейса Nerve и внешних клиентов gateway предоставляет метод WebSocket RPC:
  • personalities.skills.catalog
Метод возвращает эффективный каталог для выбранной личности: навыки личности, затем навыки рабочей области, затем встроенные навыки. В ответ входят имя, описание, источник, признак доступности, хэш содержимого и сведения о недостающих требованиях. Nerve показывает этот каталог через HTTP-маршрут:
  • GET /api/skills
  • POST /api/skills/translate
Маршрут чтения принимает желаемый язык в targetLanguage, сохраняет исходное поле description и добавляет поле translatedDescription. Если подходящего перевода в памяти нет, translatedDescription содержит пустую строку: само чтение каталога не обращается к языковой модели. Перевод выполняется только по явному нажатию кнопки рядом с описанием. Маршрут POST /api/skills/translate принимает description и targetLanguage, возвращая translatedDescription. Nerve вычисляет SHA-256 исходного описания и ищет сочетание этого хэша с нормализованным языком в общем кэше. При отсутствии записи используется настроенный в шлюзе механизм языковой модели, после чего успешный результат сохраняется в памяти на 60 минут. Кэш содержит не более 1000 записей, теряется при перезапуске Nerve и совместно используется каталогами установленных навыков и маркетплейсов. Для маркетплейсов шлюз предоставляет универсальные методы skills.marketplaces.*: получение каталога, создание, изменение, удаление, синхронизацию и установку. Параметры конкретного типа находятся в объекте settings; поэтому добавление нового типа источника не требует новых названий методов. Nerve предоставляет соответствующие маршруты /api/skill-marketplaces. При чтении каталога targetLanguage выбирает язык кэшированного перевода, а каждый вложенный навык получает поле translatedDescription с найденным значением или пустой строкой. Зарегистрированы типы github и gitlab. Оба принимают адрес репозитория в поле repositoryUrl и необязательную ветку в поле branch; пустая ветка означает ветку репозитория по умолчанию. Для GitHub разрешён публичный адрес HTTPS на github.com. Для GitLab разрешён адрес HTTP или HTTPS на любом узле, в том числе самостоятельная установка с портом и вложенными группами, например http://git.alor.ru/ai/alor-skills. Адрес GitLab не должен содержать имя пользователя, пароль, строку запроса или фрагмент. Интерактивный запрос учётных данных отключён, поэтому закрытые репозитории не поддерживаются. Пользовательские записи всегда можно изменить и удалить. Предустановленные «Alor Public skills» и «Alor Internal skills» изменять и удалять нельзя; ранее установленные навыки при удалении пользовательского маркетплейса сохраняются. Проверка SKILL.md требует корректных стандартных полей name и description, но не запрещает дополнительные служебные поля во вводной части YAML. Такие поля сохраняются в файле навыка и сами по себе не создают предупреждение синхронизации. В metadata Велес принимает строковые ключи со строками или объектами в значениях. Структурированные требования и секреты навыка можно объявлять в объекте metadata.veles. Для совместимости допустима и строка, содержащая весь объект metadata в формате JSON; повреждённая строка или JSON не объектного типа считается ошибкой.

Как навыки попадают в контекст Велеса

В процессе работы предусмотрено несколько уровней интеграции:

1. Краткое описание (summary) всех навыков

При формировании системного промпта (system prompt) Велес добавляет сводку доступных навыков:
  • название;
  • описание;
  • путь к файлу SKILL.md;
  • статус доступности;
  • сведения о недостающих технических требованиях (если есть).
Это не полный текст навыков, а обзорная информация, чтобы Велес понимал общие возможности системы.

2. Загрузка полного текста SKILL.md по мере необходимости

Если Велес определяет, что для решения задачи требуется конкретный навык, он считывает соответствующий файл целиком. Это важно по ряду причин:
  • навыки загружаются только по требованию;
  • полный текст всех инструкций не перегружает промпт при каждом запросе;
  • система остается масштабируемой и производительной.

3. Навыки с постоянной доступностью (always-on)

Некоторые навыки могут быть помечены параметром always: true. В этом случае их содержимое попадает в активный контекст сразу при условии доступности навыка. В текущем встроенном наборе так работают навыки memory (память) и onboarding (первичная настройка). У onboarding постоянно загружается только короткая инструкция запуска и безопасности; подробный сценарий вопросов читается после начала настройки.

Как определяется доступность навыка

Навык может физически присутствовать на диске, но считаться недоступным для использования. Велес проверяет его требования через метаданные:
  • наличие необходимых программ (CLI) в системном пути (PATH);
  • наличие обязательных переменных окружения;
  • иные предварительные условия (prerequisites), указанные в описании.
Практические последствия:
  • один и тот же навык может работать у одного пользователя и быть недоступен у другого;
  • сводка навыков в промпте может указывать на существование сценария, который временно не готов к запуску;
  • работоспособность многих навыков напрямую зависит от конфигурации локального окружения.

Какие навыки доступны сейчас

В основном каталоге veles/skills/ поставляются:
  • deep-research
  • perplexity-search
  • memory
  • onboarding
  • cron
  • weather
  • summarize
  • skill-creator
  • tmux
  • documents
  • report-authoring
Остальные описанные ниже навыки, в том числе навыки ALOR, устанавливаются из настроенных каталогов в <workspace>/skills. В начальной конфигурации каталоги ALOR уже добавлены, но сам код навыков не входит в пакет Велеса и появляется в рабочей области только после установки. Ниже приведено краткое описание встроенных и устанавливаемых навыков. Быстрые ссылки на страницы навыков:

Краткий каталог навыков

deep-research

Назначение:
  • проведение полноценных глубоких исследований по заданным темам;
  • многошаговый процесс (pipeline) с подготовкой итогового структурированного отчёта.
Особенности:
  • требует четко сформулированной темы исследования;
  • рассчитан на продолжительную работу;
  • запускается как отдельный процесс, а не как быстрый ответ в чате.
Назначение:
  • специализированный сценарий поиска в сети через OpenRouter и использование модели perplexity/sonar-pro.

memory

Назначение:
  • инструкции для Велеса по работе с долгосрочной памятью, файлом MEMORY.md, сводками и механизмами припоминания (recall).
Особенность:
  • является одним из ключевых навыков системы;
  • работает в режиме постоянной доступности (always-on).

onboarding

Назначение:
  • пошаговое знакомство с неопытным пользователем без требования самостоятельно править служебные файлы;
  • разделение устойчивого профиля, долговременного контекста, личности агента и правил рабочей области;
  • подготовка точного проекта изменений для USER.md, memory/MEMORY.md, выбранного SOUL.md и AGENTS.md.
Особенности:
  • постоянно загружает только короткие правила запуска и безопасности, а подробную анкету — по запросу;
  • не начинает опрос самовольно и не прерывает обычную задачу;
  • предлагает варианты с объяснением последствий и позволяет пропустить вопрос;
  • считает ответы самоописанием пользователя, не угадывает чувствительные признаки и не запрашивает секреты;
  • сохраняет существующие содержательные инструкции и записывает изменения только после показа точного проекта и явного подтверждения;
  • использует AGENTS.md во множественном числе и не создаёт неиспользуемый AGENT.md.
Подробности: Первичная настройка пользователя и агента.

cron

Назначение:
  • помощь в корректном использовании планировщика задач и расписаний.
Назначение:
  • поиск литературы и биомедицинских записей через NCBI Entrez E-utilities;
  • работа с PubMed, PMC, Gene, Protein, Nuccore, ClinVar, PubChem, MeSH и SNP;
  • построение медицинских запросов с MeSH, publication type и date-фильтрами.
Особенности:
  • ключ NCBI и адрес для идентификации запросов опциональны и хранятся как секреты skills.entrez-search.env.NCBI_API_KEY и skills.entrez-search.env.NCBI_EMAIL;
  • отсутствие ключа не выключает навык, но оставляет обычный лимит запросов NCBI.

fda-database

Назначение:
  • поиск официальной информации FDA/openFDA о лекарствах и таблетках;
  • работа с label, NDC, recalls/enforcement, Drugs@FDA approvals, shortages, FAERS adverse events и substances/UNII;
  • проверка medication safety facts до пациентских ответов.
Особенности:
  • API-ключ openFDA опционален и хранится как секрет skills.fda-database.env.OPENFDA_API_KEY;
  • сведения FDA относятся к США и не заменяют национальные реестры и инструкции;
  • перед персональным советом о лекарствах навык требует memory_search, чтение docs/myhealth при наличии и многоисточниковую проверку;
  • FAERS используется только как safety-signal источник, не как доказательство причинности или частоты событий.

Медицинский набор

Набор для личности medical-navigator устанавливается из внешнего каталога в personalities/medical-navigator/skills/ и включает:
  • medical-symptom-navigation — история симптомов, оценка срочности и обсуждаемые диагностические возможности без окончательного диагноза;
  • medical-lab-results — разбор результата по точной единице и референсному интервалу лаборатории;
  • medication-reconciliation — сверка лекарств, добавок, аллергий и расхождений без назначения или изменения дозы;
  • medical-evidence-review — поиск действующих рекомендаций, регуляторных сведений и подходящих научных исследований;
  • medical-visit-preparation — хронология, краткая передача случая и вопросы к специалисту.
Особенности:
  • новые навыки не требуют секретов или отдельных программ;
  • правила экстренной помощи и конфиденциальности продублированы в SOUL.md, потому что отдельный навык может не загрузиться;
  • entrez-search и fda-database дополняют набор как источники данных;
  • FDA относится к США и не заменяет национальный регулятор;
  • медицинская личность использует обычные механизмы истории и общей памяти Велеса; отдельная медицинская карта и изолированное хранилище не создаются.
Подробности: Набор медицинских навыков и Медицинский навигатор.

Набор консультанта по питанию

Набор для личности nutrition-adviser устанавливается из внешнего каталога в personalities/nutrition-adviser/skills/ и включает:
  • pp-nutrition — состав обычных продуктов, сравнение на общей основе и расчёт блюда по USDA FoodData Central;
  • pp-open-food-facts — состав, аллергены и показатели упакованных продуктов по штрихкоду;
  • medical-evidence-review и entrez-search — проверка значимых рекомендаций и поиск публикаций;
  • medical-lab-results, medication-reconciliation и medical-symptom-navigation — узкие медицинские сценарии, когда вопрос выходит за пределы общей информации о питании.
Особенности:
  • оба навыка содержат ограниченные скрипты на стандартной библиотеке Python и не требуют отдельных командных программ или дополнительных библиотек;
  • ключ для Open Food Facts не нужен; необязательный бесплатный FDC_API_KEY хранится в зашифрованных секретах Велеса;
  • адаптированные навыки разрешают только ограниченную работу с данными и не содержат собственный пищевой дневник, локальные файлы с ключами, вебхуки или изменение внешних записей;
  • пищевая база не заменяет клинические рекомендации, а сведения Open Food Facts сверяются с упаковкой;
  • личность использует общую рабочую область и память Велеса и не обещает анонимность или изоляцию.
Подробности: Набор навыков консультанта по питанию и Консультант по питанию. Навык для личности npf-asset-management-legal-counsel устанавливается из внешнего каталога в personalities/npf-asset-management-legal-counsel/skills/. Назначение:
  • подготовка второго мнения по российскому регулированию управляющей компании, работающей со средствами НПФ;
  • проверка субъекта, лицензии, продукта, даты события и применимой редакции нормы;
  • сопоставление основной позиции с самым сильным возражением регулятора, суда, аудитора или службы внутреннего контроля;
  • подготовка вариантов решения, мер контроля и вопросов для уполномоченного специалиста.
Особенности:
  • справочник внутри навыка сохраняет предоставленный перечень из 62 позиций на 28 августа 2026 года, но не заменяет проверку официального текста;
  • отсутствующий в справочнике источник можно использовать только с явной пометкой, не изменяя зафиксированный перечень молча;
  • навык не требует секретов или отдельных программ;
  • история и память не изолированы, адвокатская тайна не создаётся, а юридически значимые действия требуют отдельного прямого поручения.
Подробности: Правовая проверка управления средствами НПФ и Правовой советник управляющей компании.

Финансовый набор для НПФ

Набор для личности npf-asset-management-finance-adviser устанавливается из внешнего каталога в personalities/npf-asset-management-finance-adviser/skills/ и включает:
  • npf-pension-asset-strategy — сводный разбор стратегии пенсионных активов;
  • npf-alm-liquidity-scenarios — согласование активов и обязательств и сценарии ликвидности;
  • npf-investment-risk-stress-testing — методы риска и стресс-сценарии;
  • npf-reporting-quality-review — качество, определения и воспроизводимость отчётности;
  • npf-issuer-investment-analysis — анализ эмитента и ценной бумаги;
  • npf-market-scenario-analysis — макроэкономические и рыночные сценарии.
Навыки не требуют собственных секретов, отдельных программ или доступа к счетам. Они используют уже имеющийся контекст и не просят пользователя раскрывать портфели, обязательства, лимиты, договоры, внутренние отчёты или сведения о сделках. Уже предоставленные данные могут использоваться в анализе, а пробелы фиксируются как зависимости решения. Подробности: Финансовые навыки для НПФ и Советник по финансам управляющей компании.

weather

Назначение:
  • алгоритм получения актуальных данных о погоде и прогнозов.

summarize

Назначение:
  • создание кратких пересказов содержимого ссылок, локальных файлов, PDF-документов и видео с YouTube.

github

Назначение:
  • решение задач на GitHub через интерфейс командной строки gh и связанные автоматизированные процессы.

gitlab-skill

Назначение:
  • работа с GitLab через программный интерфейс GitLab и команды git: проекты, задачи, запросы на слияние, ветки, коммиты и проверки.
Особенности:
  • объявляет GITLAB_TOKEN как секрет навыка skills.gitlab-skill.env.GITLAB_TOKEN;
  • GITLAB_HOST остаётся обычной настройкой, потому что адрес сервера не является секретом.

google-workspace

Назначение:
  • работа с почтой Gmail, календарём, диском, контактами, таблицами и документами Google;
  • пошаговая настройка доступа через OAuth 2.0 с обновлением токена;
  • единый командный скрипт для чтения, поиска, создания и изменения данных после явного подтверждения пользователя.
Особенности:
  • хранит файл клиента Google, токен и временное состояние авторизации в зашифрованном хранилище секретов Велеса;
  • требует VELES_SECRETS_MASTER_KEY для записи и чтения локальных секретов;
  • перед отправкой писем, созданием или удалением событий, изменением документов, таблиц и прав доступа требуется подтверждение пользователя;
  • может использовать установленную программу gws, а без неё работает через библиотеки Google для Python.

clawhub

Назначение:
  • поиск и установка новых навыков из открытого каталога.

alor-calendar

Назначение:
  • чтение и управление Outlook/Exchange календарём ALOR через EWS;
  • использование настроек и учетных данных из существующей конфигурации email-канала;
  • просмотр, поиск и создание календарных событий после явного подтверждения пользователя.
Особенности:
  • требует Python-пакеты exchangelib и python-dateutil;
  • по умолчанию использует Europe/Moscow;
  • операции изменения календаря требуют подтверждения, потому что меняют внешнюю систему.

alor-bitrix24

Назначение:
  • чтение данных локального портала Битрикс24 ALOR;
  • работа со сделками, контактами, компаниями, задачами, чатами, файлами и другими доступными разделами;
  • подготовка и подтверждённое выполнение изменений через защищённый помощник.
Особенности:
  • принимает только адрес https://portal.alorbroker.ru и отклоняет другой домен;
  • использует только входящий вебхук;
  • требует секреты skills.alor-bitrix24.env.B24_WEBHOOK_USER_ID и skills.alor-bitrix24.env.B24_WEBHOOK_CODE;
  • хранит секреты вне config.json и подставляет их только на время ответа;
  • требует локальный план и подтверждение перед изменением внешних данных;
  • требует доступ среды Велеса к внутренней сети ALOR.

alor-ktalk

Назначение:
  • поиск запланированных и прошедших встреч в пространстве Контур.Толка ALOR;
  • получение материалов встречи: участников, записей, сообщений, опросов, заметок и досок;
  • получение расшифровки, краткого пересказа, протокола и отчётов о посещении;
  • безопасное сохранение текстовых материалов и явно запрошенных файлов в рабочую область.
Особенности:
  • принимает только адрес https://alor.ktalk.ru и запрещает перенаправления;
  • требует секрет skills.alor-ktalk.env.KTALK_API_KEY, который не записывается в config.json;
  • использует только операции чтения и не предоставляет команд изменения данных Толка;
  • делает одну совместимую попытку через заголовок X-Auth-Token: статья о персональном ключе не называет заголовок, а публичное описание программного интерфейса связывает этот заголовок с ключом пространства;
  • не перебирает другие способы передачи секрета после ошибки авторизации;
  • потоково сохраняет большие файлы, ограничивает размер и не перезаписывает существующий путь;
  • никогда не передаёт ключ другому узлу, в том числе при перенаправлении загрузки;
  • считает названия, описания, чаты, заметки и расшифровки недоверенными данными.

alor-teamly

Назначение:
  • поиск и чтение пространств, деревьев и статей локальной базы знаний Teamly ALOR;
  • вопросы помощнику Teamly только по корпоративным документам;
  • подготовка и подтверждённое выполнение изменений в базе знаний.
Особенности:
  • принимает только адрес https://teamly.alor.ru и отклоняет перенаправления или куки чужого домена;
  • использует вход Teamly через службу каталогов, но не автоматизирует браузер и не копирует его куки;
  • читает username, adDomainId и accountSlug из skills.entries.alor-teamly.config активного config.json;
  • требует только один секрет навыка — TEAMLY_PASSWORD;
  • хранит полученные куки сеанса под ключом skills.alor-teamly.session_json в зашифрованном хранилище Велеса;
  • обновляет сеанс и после ответа 401 выполняет новый вход с секретами Велеса;
  • требует явное подтверждение записи и отдельное подтверждение удаления;
  • требует доступ среды Велеса к внутренней сети ALOR.

alor-mail

Назначение:
  • чтение, поиск и отправка корпоративной почты ALOR через IMAP и SMTP;
  • использование настроек из существующей конфигурации почтового канала;
  • подготовка ответов и отправка писем после подтверждения пользователя.
Особенности:
  • не выполняет разрушительные операции с письмами по умолчанию;
  • берёт все параметры IMAP и SMTP только из channels.email в активном config.json;
  • читает пароли только из локального зашифрованного хранилища Велеса;
  • использует цели секретов channels.email.imapPassword и channels.email.smtpPassword;
  • принимает для паролей только локальные SecretRef, а открытые строки и внешние источники отклоняет;
  • использует обычный синтаксис поиска IMAP;
  • присваивает исходящему письму Message-ID, сохраняет принятую SMTP копию в исходной IMAP-папке с признаком \Sent и строит заголовки ответа по UID родительского письма;
  • считает ошибку сохранения копии после подтверждения SMTP частичным успехом и запрещает автоматическую повторную отправку.

skill-creator

Назначение:
  • помощь в проектировании и корректной упаковке новых навыков. Полезен, если вы хотите добавить собственный сценарий в рабочую область (workspace).

tmux

Назначение:
  • управление сессиями tmux для интерактивной или параллельной работы (актуально для Linux/macOS).

web-development

Назначение:
  • руководство (guidance) по задачам создания и развития веб-проектов.

Чем навыки отличаются от инструментов на практике

Критическое различие заключается в следующем:

Инструмент (Tool)

Это атомарная операция. Примеры: read_file, web_search, exec, session_history.

Навык (Skill)

Это сложный сценарий или методология решения целого класса задач. Примеры: алгоритм проведения исследования, методика работы с расписанием, правила использования памяти. Один навык почти всегда опирается на последовательное использование нескольких инструментов.

Deep Research как особый случай

Глубокое исследование заметно выделяется на фоне остальных навыков. Причины:
  • большая продолжительность выполнения;
  • высокая потребность во времени и ресурсах;
  • необходимость предварительного уточнения темы;
  • сложная структура процесса (не сводится к паре действий);
  • результатом является отдельный аналитический документ.
Поэтому для него выделена отдельная страница документации, а не просто раздел в общем обзоре.

Что важно для автора собственного навыка

Исходя из текущей архитектуры, качественный навык должен:
  • четко описывать контекст своего применения;
  • опираться на существующие инструменты, не дублируя их логику;
  • содержать информацию об ограничениях и типичных ошибках (anti-patterns);
  • предоставлять Велесу понятный алгоритм действий;
  • описывать необходимые предварительные условия (prerequisites).
Именно эти факторы делают навык рабочим инструментом, а не просто объемным текстовым файлом.

Практические выводы

Текущая система навыков Велес обладает рядом преимуществ:
  • позволяет расширять возможности без изменения основного кода;
  • поддерживает как встроенные, так и пользовательские навыки;
  • оптимизирует использование ресурсов, подгружая инструкции по требованию;
  • учитывает особенности локального окружения;
  • идеально подходит для сложных повторяющихся процессов.
Однако стоит учитывать:
  • наличие навыка не гарантирует, что всё внешнее окружение уже настроено;
  • эффективность работы напрямую зависит от качества написанных инструкций.

Итог

В Велес навыки образуют интеллектуальный слой над инструментами:
  • инструменты предоставляют возможности для действий;
  • навыки задают логику и процесс выполнения;
  • встроенные навыки обеспечивают базовую функциональность «из коробки»;
  • навыки рабочей области позволяют адаптировать систему под специфику конкретного проекта или команды.
Если нужен обычный пользовательский взгляд, достаточно страницы Навыки Велеса: простое объяснение. Если нужен сложный исследовательский алгоритм, открывайте Глубокое исследование (Deep Research).