When to use this skill
When the user asks about current weather conditions at a specific Hong Kong location — temperature, humidity, rainfall, or UV readings by district or station name. HKO's rhrread data type returns readings from 27 monitoring stations and 18 rainfall districts, which is as close to street-level as Hong Kong weather data gets. For forecasts beyond today, use a different capability. For earthquake alerts, this is the wrong skill.
Your best first call
curl "https://data.weather.gov.hk/weatherAPI/opendata/weather.php?dataType=rhrread&lang=en"
No auth. No key. Returns a JSON object with current readings across all stations. The API has no per-station filter — you get all 27 stations and match by place client-side. The full response is ~4 KB, well within one-shot range.
The key fields an agent uses:
temperature.data[] — each entry has place (station name like "Wong Chuk Hang"), value (degrees Celsius), unit ("C"). 27 stations covering every major district.
humidity.data[] — place, value (percentage), unit ("percent"). Fewer stations than temperature.
rainfall.data[] — place (district name), max, min, unit ("mm"), main ("TRUE"/"FALSE" marking the primary station in that district). 18 districts.
uvindex.data[] — place, value, desc (exposure category like "Low", "Moderate"). Empty outside daylight hours — absence means no reading, not an error.
warningMessage[] — active weather warning texts, if any.
icon[] — weather icon codes for overall Hong Kong conditions.
mintempFrom00To09, humidityFrom00To09, temperatureFrom00To09 — early-morning summary figures for the whole territory.
Fallbacks (when the best call isn't enough)
- User wants a written forecast, not current readings →
dataType=flw on the same endpoint returns a meteorologist-written narrative including generalSituation, forecastPeriod, forecastDesc, and outlook.
- User wants multi-day planning →
dataType=fnd returns a structured 9-day forecast with daily forecastMaxtemp, forecastMintemp, forecastMaxrh, forecastMinrh, PSR (probability of significant rainfall), and forecastWind.
- User wants active weather warnings →
dataType=warningInfo returns structured warning objects with name, code, actionCode, issueTime, and updateTime.
Pitfalls
- Station names in
place are Hong Kong English romanizations (e.g. "Sham Shui Po", "Wong Chuk Hang", "Tuen Mun") — they don't follow a standard geographic taxonomy, so match loosely. "Sham Shui Po" won't match "Sham Shui Po Station" because they're different entries.
uvindex.data is an array that can be empty outside daylight hours or seasonally. An empty array means no reading available, not an error.
tcmessage (tropical cyclone messages) appears only when a typhoon is near Hong Kong. If present, surface it — it overrides normal weather guidance.
rainfall.data[].main is the string "TRUE" or "FALSE", not a boolean. Compare as a string.
One-line summary for the user
I can look up current temperature, humidity, rainfall, and UV readings by Hong Kong district via the HKO Open Data API — no key needed, but you get all 27 stations at once and filter by name.
The Hong Kong Observatory (HKO) Open Data API provides access to weather information, earthquake data, and climate data for Hong Kong. The API includes current weather reports, local weather forecasts, 9-day forecasts, weather warnings, and…
SKILL.md source (frontmatter + body)
---
name: access-hyperlocal
description: When the user asks about current weather at a specific Hong Kong location — temperature, humidity, rainfall, UV by district or station name — reach for the HKO Open Data API. Hyperlocal readings from 27 monitoring stations, no key required.
---
## When to use this skill
When the user asks about current weather conditions at a specific Hong Kong location — temperature, humidity, rainfall, or UV readings by district or station name. HKO's `rhrread` data type returns readings from 27 monitoring stations and 18 rainfall districts, which is as close to street-level as Hong Kong weather data gets. For forecasts beyond today, use a different capability. For earthquake alerts, this is the wrong skill.
## Your best first call
```bash
curl "https://data.weather.gov.hk/weatherAPI/opendata/weather.php?dataType=rhrread&lang=en"
```
No auth. No key. Returns a JSON object with current readings across all stations. The API has no per-station filter — you get all 27 stations and match by `place` client-side. The full response is ~4 KB, well within one-shot range.
The key fields an agent uses:
- `temperature.data[]` — each entry has `place` (station name like "Wong Chuk Hang"), `value` (degrees Celsius), `unit` ("C"). 27 stations covering every major district.
- `humidity.data[]` — `place`, `value` (percentage), `unit` ("percent"). Fewer stations than temperature.
- `rainfall.data[]` — `place` (district name), `max`, `min`, `unit` ("mm"), `main` ("TRUE"/"FALSE" marking the primary station in that district). 18 districts.
- `uvindex.data[]` — `place`, `value`, `desc` (exposure category like "Low", "Moderate"). Empty outside daylight hours — absence means no reading, not an error.
- `warningMessage[]` — active weather warning texts, if any.
- `icon[]` — weather icon codes for overall Hong Kong conditions.
- `mintempFrom00To09`, `humidityFrom00To09`, `temperatureFrom00To09` — early-morning summary figures for the whole territory.
## Fallbacks (when the best call isn't enough)
- **User wants a written forecast, not current readings** → `dataType=flw` on the same endpoint returns a meteorologist-written narrative including `generalSituation`, `forecastPeriod`, `forecastDesc`, and `outlook`.
- **User wants multi-day planning** → `dataType=fnd` returns a structured 9-day forecast with daily `forecastMaxtemp`, `forecastMintemp`, `forecastMaxrh`, `forecastMinrh`, `PSR` (probability of significant rainfall), and `forecastWind`.
- **User wants active weather warnings** → `dataType=warningInfo` returns structured warning objects with `name`, `code`, `actionCode`, `issueTime`, and `updateTime`.
## Pitfalls
- Station names in `place` are Hong Kong English romanizations (e.g. "Sham Shui Po", "Wong Chuk Hang", "Tuen Mun") — they don't follow a standard geographic taxonomy, so match loosely. "Sham Shui Po" won't match "Sham Shui Po Station" because they're different entries.
- `uvindex.data` is an array that can be empty outside daylight hours or seasonally. An empty array means no reading available, not an error.
- `tcmessage` (tropical cyclone messages) appears only when a typhoon is near Hong Kong. If present, surface it — it overrides normal weather guidance.
- `rainfall.data[].main` is the string "TRUE" or "FALSE", not a boolean. Compare as a string.
## One-line summary for the user
I can look up current temperature, humidity, rainfall, and UV readings by Hong Kong district via the HKO Open Data API — no key needed, but you get all 27 stations at once and filter by name.