#Wrong Usage of Skills/API
1 messages · Page 1 of 1 (latest)
Skills don’t “route” tool calls automatically — they’re mostly instructions in the system prompt. So even if you installed a Weather skill, the model can still decide to use web_search / web_fetch unless (a) the skill wasn’t actually loaded, or (b) you make weather usage more deterministic.
1) First check: is the Weather skill actually eligible + loaded?
Run these on the gateway host and paste the output:
openclaw --version
openclaw skills list --eligible
openclaw skills check
openclaw skills info <weather-skill-name>
Common gotchas:
- Installed into the wrong workspace (multi-agent setups have different workspaces).
- Skill is present but ineligible due to gating (missing env/bin/config).
- Skills are snapshotted when the session starts → after installing/updating skills, start a new chat session (e.g.
/new) or restart the gateway so the session picks up the new skills list.
Docs:
2) If it is loaded, why is it still using Brave/web_fetch?
Two likely cases:
A) The Weather skill itself uses web_fetch (normal), but the model is picking the wrong URL.
Fix: tighten the Weather skill instructions (or override it in ~/.openclaw/skills/<name>/SKILL.md) to say “use exactly this endpoint, don’t substitute other URLs”.
B) The model is choosing Brave Search instead of Weather.
Fix options (pick one):
- Easiest: use the skill’s slash command if it provides one (e.g.
/weather Vienna) — that’s the most reliable. - If you want natural language (“what’s the weather in X?”) to always use the weather skill: add a clear rule in your agent prompt (SOUL/AGENTS) like “For any weather question, use the Weather skill; do not use web_search.”
- Hard enforcement: remove/disable
web_search(or evenweb_fetch) for that agent via tool allowlisting, but that’s a tradeoff because it limits other tasks.
If you paste: