Airnow Hourly Obs Fetch
Retrieve preliminary U.S.
by tiangong-ai · MIT
The skill
Retrieve preliminary U.S. EPA AirNow HourlyAQObs monitoring-site records through the Tiangong CLI for an inclusive UTC-hour window, WGS84 bounding box, and pollutant list. Use for site-hour observations with source-file lineage; do not use for regulatory AQS compliance data, forecasts, health guidance, exposure estimates, or place-name geocoding.
AirNow Hourly Observations
Use the CLI-owned airnow.hourly-observations capability. This Skill supplies
intent routing and result-use boundaries only; the CLI owns source discovery,
input/output schemas, HTTP behavior, limits, validation, and receipts.
Before running
- Read
references/tiangong-data-requirement.json. - Use the caller- or workspace-resolved stable CLI. The requirement declares compatible capability and operation contract majors; it does not select a package build.
- Run
data describewith that same CLI. Continue only when the capability ID and required contract majors match, and copy the exact current capability/operation versions from that response into the run request.
tiangong-ai data describe airnow.hourly-observations --json
Use the returned Discovery Metadata to confirm current source coverage,
freshness, restrictions, provides, and doesNotProvide. Do not substitute
facts remembered from an older Skill revision.
Prepare the request
Build a tiangong.data.run-request.v1 envelope. Replace the two version
placeholders with the exact versions from the same data describe response. The operation input requires
hour-aligned UTC timestamps, a WGS84 bounding box, and one or more supported
pollutant identifiers:
{
"schemaVersion": "tiangong.data.run-request.v1",
"capabilityId": "airnow.hourly-observations",
"capabilityVersion": "<describe.manifest.capabilityVersion>",
"operationId": "fetch-hourly",
"operationVersion": "<describe.manifest.operations[0].operationVersion>",
"input": {
"startDateTimeUtc": "2026-03-22T00:00:00Z",
"endDateTimeUtc": "2026-03-22T06:00:00Z",
"boundingBox": {
"minLongitude": -123.5,
"minLatitude": 37.0,
"maxLongitude": -121.5,
"maxLatitude": 38.8
},
"parameters": ["PM25", "OZONE"]
}
}
Use the operation input schema returned by the same data describe response when selecting
fields or values under input. Do not infer unsupported aliases or silently
widen the requested time or geographic range.
Run
tiangong-ai data run airnow.hourly-observations fetch-hourly \
--input /absolute/path/to/request.json --json
The command emits a tiangong.data.run-result.v1 envelope. Preserve its
contract, warnings, errors, and receipt with data when handing the
result to another workflow.
Result boundaries
- Treat
partialas incomplete coverage and report missing or invalid hourly files; never convert missing observations to zero. - Treat
blockedas no usable business result and surface the structured errors instead of retrying with broader inputs. - Do not interpret AQI as health advice, estimate exposure, interpolate between sites, combine other sources, or use preliminary AirNow records for regulatory compliance.
- Cross-source comparison and research evidence admission belong to the caller or Auto Research, not this atomic Skill.
Reference
references/tiangong-data-requirement.json: stable capability requirement; it is not a package lock.
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: tiangong-ai/airnow-hourly-obs-fetch-33782605581.
Details
- Publisher
- tiangong-ai
- Category
- Data & Analytics › Scraping & extraction
- License
- MIT
- Updated
- 2026-09-14
References
More from tiangong-ai
- Academic Paper Download Fetch and atomically save structurally and identity-verified academic-paper PDFs from legal open-…
- Ai Tech Fulltext Fetch Fetch and persist article full text for RSS entries already stored in SQLite by ai-tech-rss-fetch.
- Ai Tech Rss Fetch Subscribe to AI and tech RSS feeds and persist normalized metadata into SQLite using mature Pytho…
- Ai Tech Summary Retrieve time-windowed RSS evidence from SQLite and let the agent produce final summaries using R…