Skip to main content

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

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

Что такое навык в Nanobot

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

Где Nanobot ищет навыки

Nanobot загружает навыки из двух мест:

1. Workspace skills

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

2. Built-in skills

Это встроенный каталог:
  • nanobot/skills/<навык-name>/SKILL.md
Именно там лежат стандартные навыки, идущие вместе с проектом.

Как skills попадают в контекст агента

В реальной схеме работы есть несколько уровней:

1. Краткое summary всех skills

При сборке system prompt Nanobot добавляет summary доступных skills:
  • название;
  • описание;
  • путь к SKILL.md;
  • признак доступности;
  • иногда сведения о недостающих требованиях.
Это не полный текст навык, а обзор, чтобы агент понял, что вообще существует.

2. Полный SKILL.md подгружается по необходимости

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

3. Некоторые skills могут быть always-on

Skill может быть помечен как always: true. Тогда его содержимое может попадать в активный контекст сразу, если навык доступен. В текущем builtin-наборе таким образом ведёт себя memory навык.

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

Skill может существовать на диске, но считаться недоступным. Nanobot проверяет его требования по metadata, например:
  • наличие CLI на PATH;
  • наличие переменных окружения;
  • другие prerequisites, указанные в metadata.
Из практических последствий:
  • один и тот же навык может быть доступен у одного пользователя и недоступен у другого;
  • summary skills в prompt может показывать, что навык существует, но сейчас не готов к использованию;
  • для некоторых skills важна не только логика агента, но и локальное окружение.

Какие builtin skills есть сейчас

По текущему каталогу nanobot/skills/ доступны следующие встроенные направления:
  • deep-research
  • perplexity-search
  • memory
  • cron
  • weather
  • summarize
  • github
  • clawhub
  • skill-creator
  • tmux
  • web-development
Ниже краткое назначение каждого. Быстрые ссылки на отдельные страницы:

Краткий каталог builtin skills

deep-research

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

memory

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

cron

Назначение:
  • помогает правильно использовать планировщик и расписания.
Когда полезен:
  • напоминания;
  • периодические задачи;
  • повторяющиеся действия.

weather

Назначение:
  • сценарий для получения текущей погоды и прогнозов.

summarize

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

github

Назначение:
  • GitHub-задачи через gh CLI и связанный workflow.
Когда полезен:
  • issues;
  • PR;
  • статусы CI;
  • быстрая навигация по репозиторию.

clawhub

Назначение:
  • поиск и установка новых skills из публичного каталога.
Когда полезен:
  • нужно расширить бота новым навык без ручной сборки с нуля.

навык-creator

Назначение:
  • помогает правильно проектировать и упаковывать новые skills.
Когда полезен:
  • вы хотите добавить собственный навык в workspace.

tmux

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

web-development

Назначение:
  • guidance для задач по созданию и развитию web-проектов.

Чем skills отличаются от tools на практике

Полезное рабочее различие такое:

Tool

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

Skill

Это сценарий или способ мышления над классом задач. Примеры:
  • как проводить глубокое исследование;
  • как работать с cron-задачами;
  • как использовать память правильно;
  • как создавать новый навык.
Именно поэтому один навык часто опирается сразу на несколько tools.

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

Deep research заметно отличается от большинства skills. Почему:
  • он длинный;
  • он дорогой по времени и ресурсам;
  • он требует заранее уточнённую тему;
  • он не сводится к одной-двум операциям;
  • итогом обычно является отдельный отчёт, а не просто обычный чат-ответ.
Поэтому для него логично иметь отдельную документационную страницу, а не одну маленькую секцию внутри общего навык-обзора.

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

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

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

Текущая навык-система Nanobot хороша тем, что она:
  • расширяет поведение без переписывания core-логики;
  • поддерживает builtin и workspace skills;
  • подгружает полный текст skills только по необходимости;
  • умеет показывать доступность в зависимости от окружения;
  • хорошо подходит для сложных repeatable workflows.
Но важно помнить:
  • навык — это не гарантия, что всё нужное уже настроено;
  • часть skills сильно зависит от внешних CLI и API;
  • реальная полезность навык определяется не названием, а качеством его инструкции и окружения.

Итог

В Nanobot навык — это отдельный слой над tools:
  • tools дают действия;
  • skills дают процесс;
  • builtin skills поставляются вместе с проектом;
  • workspace skills позволяют адаптировать систему под конкретную команду или проект.
Если нужен обычный пользовательский взгляд, хватит страницы Навыки бота: простое объяснение. Если нужен сложный исследовательский workflow, открывайте Глубокое исследование (Deep Research).