@qvac/skills 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled.js +10 -10
- package/hash.js +1 -1
- package/package.json +1 -1
- package/skills/apple-notes/SKILL.md +19 -19
- package/skills/asana/SKILL.md +48 -0
- package/skills/gmail/SKILL.md +51 -0
- package/skills/google-calendar/SKILL.md +51 -0
- package/skills/google-docs/SKILL.md +52 -0
- package/skills/google-drive/SKILL.md +51 -0
- package/skills/google-sheets/SKILL.md +52 -0
- package/skills/notion/SKILL.md +29 -0
- package/skills/spotify/SKILL.md +79 -27
- package/skills/weather/SKILL.md +39 -23
package/skills/weather/SKILL.md
CHANGED
|
@@ -1,43 +1,59 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: weather
|
|
3
3
|
description: Get current weather and short forecasts for cities via wttr.in.
|
|
4
|
-
tools: [
|
|
4
|
+
tools: [weather_lookup]
|
|
5
5
|
platform: [darwin, linux, win32, ios, android]
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
# v2: few-shot table. 2 repeats: overall 51/132 -> 77/130, "Nassau, Bahamas" 1/4 -> 4/4, city+country 2/24 -> 18/24,
|
|
10
|
-
# ambiguous city 0/20 -> 6/20; 4B control 41/66 -> 59/66. Rules-first layouts lost on suffix slips (?3, ?1T).
|
|
6
|
+
version: 4
|
|
7
|
+
# Tuned on Qwen3.5-2B with an offline eval (35 prompts, mention route), QVAC-24701.
|
|
8
|
+
# v2: few-shot table. 2 repeats: overall 51/132 -> 77/130, "Nassau, Bahamas" 1/4 -> 4/4, city+country 2/24 -> 18/24.
|
|
11
9
|
# v3: + country row. 3 repeats: v2 110/198 -> v3 121/198 (city+country 25 -> 31/36, forecast 17 -> 23/30).
|
|
12
|
-
# Aliases, a second ambiguity row
|
|
10
|
+
# Aliases, a second ambiguity row and dropping ?T were tried and did not help (73, 74, 54 of ~130).
|
|
11
|
+
# v4: weather_lookup instead of http_request, after v3 answered a 200 for a place that does not exist.
|
|
12
|
+
# 5 repeats, all variants in one sweep so they share a baseline: v3 97/171 -> v4 120/169. city+country
|
|
13
|
+
# 87 -> 93%, unambiguous 57 -> 91%, unknown 57 -> 84%, forecast 68 -> 88%, casual 65 -> 80%, the ticket
|
|
14
|
+
# prompt 80 -> 100%. Context is a wash (2335 -> 2378) though the body is 387 bytes smaller: the tool owns
|
|
15
|
+
# the URL, so three rules about spelling one went away.
|
|
16
|
+
# Not fixed. "Ask which Nassau" is 3/25 on v3 and 0/25 here, and asking when no place is named is 1/10 for
|
|
17
|
+
# both: a one-argument call is easy, so the model calls rather than asks. Rules that tell the model not to
|
|
18
|
+
# act have never cleared ~17% on a 2B in four versions, and a variant that made the tool refuse an
|
|
19
|
+
# ambiguous name measured 13% against 17%, so it was dropped rather than shipped.
|
|
13
20
|
---
|
|
14
21
|
|
|
15
22
|
# Weather
|
|
16
23
|
|
|
17
|
-
One `
|
|
24
|
+
One `weather_lookup` call, then answer from the result. Always call it exactly like this:
|
|
18
25
|
|
|
19
26
|
```json
|
|
20
|
-
{ "
|
|
27
|
+
{ "location": "Nassau, Bahamas" }
|
|
21
28
|
```
|
|
22
29
|
|
|
23
|
-
Match the user's request to a row for the
|
|
30
|
+
Match the user's request to a row for the call:
|
|
24
31
|
|
|
25
32
|
| User asks | Call |
|
|
26
33
|
| --- | --- |
|
|
27
|
-
| "weather
|
|
28
|
-
| "weather in
|
|
29
|
-
| "
|
|
30
|
-
| "
|
|
31
|
-
| "
|
|
32
|
-
| "
|
|
33
|
-
| "
|
|
34
|
+
| "what's the weather?" — no place named | **no call.** Ask which city |
|
|
35
|
+
| "weather in Nassau, Bahamas" | `{ "location": "Nassau, Bahamas" }` |
|
|
36
|
+
| "weather in London" / "London today" | `{ "location": "London" }` |
|
|
37
|
+
| "Berlin tomorrow" / "this weekend" | `{ "location": "Berlin" }` |
|
|
38
|
+
| "Rome for the next 3 days" | `{ "location": "Rome" }` |
|
|
39
|
+
| "how hot is it in Georgia, the country" | `{ "location": "Tbilisi, Georgia" }` (a country → its capital) |
|
|
40
|
+
| "weather in Nassau" | `{ "location": "Nassau" }` — the result names both, ask which |
|
|
41
|
+
|
|
42
|
+
The result is the place on the first line, then the weather now, then one line per day:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Nassau, New Providence, Bahamas
|
|
46
|
+
Now: 29°C / 84°F, Patchy rain nearby, feels like 33°C, humidity 71%, wind 21 km/h
|
|
47
|
+
2026-09-16 (today): 29-29°C / 84-85°F, Partly Cloudy
|
|
48
|
+
2026-09-17 (tomorrow): 28-29°C / 83-85°F, Moderate or heavy rain shower
|
|
49
|
+
```
|
|
34
50
|
|
|
35
51
|
## Rules
|
|
36
52
|
|
|
37
|
-
1. **
|
|
38
|
-
2. **
|
|
39
|
-
3. **
|
|
40
|
-
4. **
|
|
41
|
-
5.
|
|
53
|
+
1. **There is no default place.** If the user named none, do not call: ask which city. Never use a place from this file.
|
|
54
|
+
2. **The location is exactly what the user wrote.** Keep a country or state they gave (`Nassau, Bahamas`, not `Nassau`). Never add one they did not give. A country → its capital (`Tbilisi`).
|
|
55
|
+
3. **Name the place from the first line of the result, not the words the user used.** If they ask for Rome and the first line says `Lome, Maritime, Togo`, say it is Lome in Togo.
|
|
56
|
+
4. **If the result is not a weather report, say what it says, in those words.** `No such place: "Xyzzyville, Atlantis"` → tell the user that place does not exist and ask for a real one. Do not look it up again under another name, and never state a temperature you did not receive.
|
|
57
|
+
5. Forecasts stop at 3 days: for "next week" say so and give the 3 days you have.
|
|
42
58
|
|
|
43
|
-
|
|
59
|
+
Answer in one plain sentence with the temperature and the condition.
|