Навыки бота: подробный справочник
Это подробная страница для тех, кто хочет понимать внутреннюю механику skills в Nanobot. Если вам нужно простое объяснение без технических деталей, начните со статьи Навыки бота: простое объяснение. Если вас интересует отдельный практический workflow для большого исследования, откройте Глубокое исследование (Deep Research).Что такое навык в Nanobot
В текущей реализации навык — это директория с файломSKILL.md, который содержит:
- frontmatter с названием и описанием;
- дополнительные метаданные;
- markdown-инструкции для агента.
- когда этот сценарий применять;
- как именно его выполнять;
- какие ограничения учитывать;
- какие инструменты использовать;
- чего не делать.
Где Nanobot ищет навыки
Nanobot загружает навыки из двух мест:1. Workspace skills
Это каталог:workspace/skills/<навык-name>/SKILL.md
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-researchperplexity-searchmemorycronweathersummarizegithubclawhubskill-creatortmuxweb-development
- Skill: Deep Research
- Skill: Memory
- Skill: Cron
- Skill: Perplexity Search
- Skill: Weather
- Skill: Summarize
- Skill: GitHub
- Skill: ClawHub
- Skill: Tmux
- Skill: Skill Creator
- Skill: Web Development
Краткий каталог builtin skills
deep-research
Назначение:
- полноценное глубокое исследование по уточнённой теме;
- многошаговый pipeline с большим итоговым отчётом.
- требует хорошо сформулированный research topic;
- рассчитан на долгую работу;
- должен запускаться как отдельный workflow, а не как “быстрый ответ”.
perplexity-search
Назначение:
- отдельный сценарий web-search через OpenRouter и модель
perplexity/sonar-pro.
- нужно получить актуальный ответ со ссылками через специализированный search workflow.
memory
Назначение:
- объясняет агенту, как работать с долговременной памятью,
MEMORY.md, summary-файлами и recall.
- это один из ключевых skills;
- он помечен как always-on.
cron
Назначение:
- помогает правильно использовать планировщик и расписания.
- напоминания;
- периодические задачи;
- повторяющиеся действия.
weather
Назначение:
- сценарий для получения текущей погоды и прогнозов.
summarize
Назначение:
- краткий пересказ URL, локальных файлов, PDF и YouTube.
- нужно быстро извлечь главное из длинного контента.
github
Назначение:
- GitHub-задачи через
ghCLI и связанный workflow.
- issues;
- PR;
- статусы CI;
- быстрая навигация по репозиторию.
clawhub
Назначение:
- поиск и установка новых skills из публичного каталога.
- нужно расширить бота новым навык без ручной сборки с нуля.
навык-creator
Назначение:
- помогает правильно проектировать и упаковывать новые skills.
- вы хотите добавить собственный навык в workspace.
tmux
Назначение:
- управление tmux-сессиями для интерактивной или параллельной работы.
- в основном имеет смысл на Linux/macOS;
- зависит от наличия
tmux.
web-development
Назначение:
- guidance для задач по созданию и развитию web-проектов.
Чем skills отличаются от tools на практике
Полезное рабочее различие такое:Tool
Это единичная операция. Примеры:read_fileweb_searchexecsession_history
Skill
Это сценарий или способ мышления над классом задач. Примеры:- как проводить глубокое исследование;
- как работать с cron-задачами;
- как использовать память правильно;
- как создавать новый навык.
Deep research как особый случай
Deep research заметно отличается от большинства skills. Почему:- он длинный;
- он дорогой по времени и ресурсам;
- он требует заранее уточнённую тему;
- он не сводится к одной-двум операциям;
- итогом обычно является отдельный отчёт, а не просто обычный чат-ответ.
Что важно для автора собственного навык
Если смотреть на текущую архитектуру, хороший навык:- узко и ясно описывает, когда его применять;
- опирается на уже существующие tools, а не дублирует их;
- содержит ограничения и anti-patterns;
- не заставляет агента угадывать workflow;
- по возможности описывает prerequisites.
Практические выводы
Текущая навык-система Nanobot хороша тем, что она:- расширяет поведение без переписывания core-логики;
- поддерживает builtin и workspace skills;
- подгружает полный текст skills только по необходимости;
- умеет показывать доступность в зависимости от окружения;
- хорошо подходит для сложных repeatable workflows.
- навык — это не гарантия, что всё нужное уже настроено;
- часть skills сильно зависит от внешних CLI и API;
- реальная полезность навык определяется не названием, а качеством его инструкции и окружения.
Итог
В Nanobot навык — это отдельный слой над tools:- tools дают действия;
- skills дают процесс;
- builtin skills поставляются вместе с проектом;
- workspace skills позволяют адаптировать систему под конкретную команду или проект.
