mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-05-20 08:32:25 +00:00
The ask_user tool used AskUserInterrupt(BaseException) for mid-turn blocking, creating heavy coupling across runner, loop, and session management. The model now asks questions naturally in response text, the turn ends normally, and the user's next message starts a new turn with session history providing continuity. Removed: - nanobot/agent/tools/ask.py (tool, interrupt, helpers) - tests/agent/test_ask_user.py - webui/src/components/thread/AskUserPrompt.tsx - AskUserInterrupt handling in runner.py - Dual-path message building in loop.py - Pending ask detection via history scanning - button_prompt/buttons emission in WebSocket channel - ask_user references in Slack channel docstrings Preserved (MessageTool uses these independently): - OutboundMessage.buttons field - Channel button rendering (Telegram, Slack, WebSocket)
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 / glob tools 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 glob(entry_type="dirs") when discovering directory structure matters.
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 |