mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-05-20 16:42:25 +00:00
The runtime media-attachment mechanism was broken for streaming channels (e.g. WebSocket): the _streamed flag caused _send_once to skip the final OutboundMessage that carried generated media, so images were never delivered. Rather than adding complex coordination between streaming and media delivery, delegate image delivery to the LLM: after generate_image returns artifact paths, the next_step prompt now instructs the LLM to call the message tool with the paths in the media parameter. This works uniformly across all channels, streaming or not. Remove generated_media from TurnContext, _assemble_outbound, and _state_save. Update prompts in identity.md, SKILL.md, message tool description, and artifacts.py to reflect the new flow.
nanobot Skills
This directory contains built-in skills that extend nanobot's capabilities.
Skill Format
Each skill is a directory containing a SKILL.md file with:
- YAML frontmatter (name, description, metadata)
- Markdown instructions for the agent
When skills reference large local documentation or logs, prefer nanobot's built-in
grep tool to narrow the search space before loading full files.
Use grep(output_mode="count") / files_with_matches for broad searches first,
use head_limit / offset to page through large result sets,
and grep(glob="*.md") to filter by file name pattern.
Attribution
These skills are adapted from OpenClaw's skill system. The skill format and metadata structure follow OpenClaw's conventions to maintain compatibility.
Available Skills
| Skill | Description |
|---|---|
github |
Interact with GitHub using the gh CLI |
weather |
Get weather info using wttr.in and Open-Meteo |
summarize |
Summarize URLs, files, and YouTube videos |
tmux |
Remote-control tmux sessions |
clawhub |
Search and install skills from ClawHub registry |
skill-creator |
Create new skills |
long-goal |
Sustained objectives: long_task, complete_goal, idempotent goals, modular project work, early research |