From 0126061d53db6e38dbfddda6776c71e9743d91da Mon Sep 17 00:00:00 2001 From: Hua Date: Tue, 17 Mar 2026 16:00:59 +0800 Subject: [PATCH] docs(skill): sync README and AGENTS guidance --- AGENTS.md | 4 ++++ README.md | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index a8ee5f5..39ed2e0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,12 +24,16 @@ Recent history favors short Conventional Commit subjects such as `fix(memory): . ## Security & Configuration Tips Do not commit real API keys, tokens, chat logs, or workspace data. Keep local secrets in `~/.nanobot/config.json` and use sanitized examples in docs and tests. If you change authentication, network access, or other safety-sensitive behavior, update `README.md` or `SECURITY.md` in the same PR. +- If a change affects user-visible behavior, commands, workflows, or contributor conventions, update both `README.md` and `AGENTS.md` in the same patch so runtime docs and repo rules stay aligned. ## Chat Commands & Skills - Slash commands are handled in `nanobot/agent/loop.py`; keep parsing logic there instead of scattering command behavior across channels. - When a slash command changes user-visible wording, update both `nanobot/locales/en.json` and `nanobot/locales/zh.json`. - If a slash command should appear in Telegram's native command menu, also update `nanobot/channels/telegram.py`. +- `/skill` currently supports `search`, `install`, `uninstall`, `list`, and `update`. Keep subcommand dispatch in `nanobot/agent/loop.py`. - `/skill` shells out to `npx clawhub@latest`; it requires Node.js/`npx` at runtime. +- `/skill uninstall` runs in a non-interactive context, so keep passing `--yes` when shelling out to ClawHub. +- Treat empty `/skill search` output as a user-visible "no results" case rather than a silent success. Surface npm/registry failures directly to the user. - Never hardcode `~/.nanobot/workspace` for skill installation or lookup. Use the active runtime workspace from config or `--workspace`. - Workspace skills in `/skills/` take precedence over built-in skills with the same directory name. diff --git a/README.md b/README.md index 581821d..11b4069 100644 --- a/README.md +++ b/README.md @@ -1347,6 +1347,7 @@ These commands are available inside chats handled by `nanobot agent` or `nanobot | `/persona set ` | Switch persona and start a new session | | `/skill search ` | Search public skills on ClawHub | | `/skill install ` | Install a ClawHub skill into the active workspace | +| `/skill uninstall ` | Remove a ClawHub-managed skill from the active workspace | | `/skill list` | List ClawHub-managed skills in the active workspace | | `/skill update` | Update all ClawHub-managed skills in the active workspace | | `/stop` | Stop the current task | @@ -1354,9 +1355,14 @@ These commands are available inside chats handled by `nanobot agent` or `nanobot | `/help` | Show command help | `/skill` uses the active workspace for the current process, not a hard-coded -`~/.nanobot/workspace` path. If you start nanobot with `--workspace`, skill install/list/update +`~/.nanobot/workspace` path. If you start nanobot with `--workspace`, skill install/uninstall/list/update operate on that workspace's `skills/` directory. +`/skill search` can legitimately return no matches. In that case nanobot now replies with a +clear "no skills found" message instead of leaving the channel on a transient searching state. +If `npx clawhub@latest` cannot reach the npm registry, nanobot also surfaces the registry/network +error directly so the failure is visible to the user. +
Heartbeat (Periodic Tasks)