fix(skills): make weather workflow Windows-safe

This commit is contained in:
Kail Tian
2026-08-12 02:48:03 +09:00
committed by Xubin Ren
parent f5cf4dcd2c
commit b14ac4c401
2 changed files with 35 additions and 5 deletions
+21 -5
View File
@@ -11,23 +11,39 @@ Two free services, no API keys needed.
## wttr.in (primary)
Quick one-liner:
Choose one request that matches the user's scope. Do not fetch current
conditions separately when a today or forecast request already includes them.
Platform notes:
- On Windows PowerShell, use `curl.exe`; bare `curl` may resolve to
`Invoke-WebRequest`.
- On macOS and Linux, use `curl`.
Current conditions only:
```bash
curl -s "wttr.in/London?format=3"
curl -s "https://wttr.in/London?format=3"
# Output: London: ⛅️ +8°C
```
Compact format:
Custom current conditions format:
```bash
curl -s "wttr.in/London?format=%l:+%c+%t+%h+%w"
curl -s "https://wttr.in/London?format=%l:+%c+%t+%h+%w"
# Output: London: ⛅️ +8°C 71% ↙5km/h
```
Today's weather, including current conditions (use this single request for
questions about today's weather):
```bash
curl -s "https://wttr.in/London?1&m"
```
Full forecast:
```bash
curl -s "wttr.in/London?T"
curl -s "https://wttr.in/London?T&m"
```
On Windows PowerShell, replace `curl` with `curl.exe` in the commands above.
Format codes: `%c` condition · `%t` temp · `%h` humidity · `%w` wind · `%l` location · `%m` moon
Tips:
+14
View File
@@ -0,0 +1,14 @@
from nanobot.agent.skills import BUILTIN_SKILLS_DIR
def test_weather_skill_uses_windows_safe_single_today_request() -> None:
content = (BUILTIN_SKILLS_DIR / "weather" / "SKILL.md").read_text(encoding="utf-8")
normalized = " ".join(content.split())
assert "On Windows PowerShell, use `curl.exe`" in normalized
assert "bare `curl` may resolve to `Invoke-WebRequest`" in normalized
assert "https://wttr.in/London?1&m" in content
assert (
"Do not fetch current conditions separately when a today or forecast "
"request already includes them."
) in normalized