← Back to Skills Marketplace
fortunto2

airq

by Rust · GitHub ↗ · v1.2.0 · MIT-0
cross-platform ⚠ suspicious
341
Downloads
0
Stars
1
Active Installs
5
Versions
Install in OpenClaw
/install airq
Description
Check air quality, AQI, PM2.5, PM10, pollution levels for any city from the terminal using airq CLI. Installs, configures, and runs air quality queries. Use...
README (SKILL.md)

airq — CLI Air Quality Checker

Check air quality for any city from the terminal. Merges model data (Open-Meteo) with real citizen science sensors (Sensor.Community). No API keys needed.

Installation

First check if airq is already installed:

airq --version

If not installed, detect the user's platform:

macOS (Homebrew)

brew tap fortunto2/tap && brew install airq

Linux (prebuilt binary)

curl -LO https://github.com/fortunto2/airq/releases/latest/download/airq-linux-x86_64.tar.gz
tar xzf airq-linux-x86_64.tar.gz
sudo mv airq /usr/local/bin/

Any platform (Rust/cargo)

cargo install airq

Configuration (recommended)

If the user mostly checks the same city, set up a config — then just type airq without flags:

airq init --city \x3Ccity-name>

This creates ~/.config/airq/config.toml. Can also add a favorites list to check multiple cities at once:

default_city = "berlin"
cities = ["berlin", "tokyo", "istanbul", "new york"]
airq       # checks berlin (default)
airq --all # checks all 4 cities, ranked by pollution

Commands

Current air quality

airq                              # uses default city from config
airq --city tokyo                 # specific city
airq --lat 55.75 --lon 37.62     # by coordinates

Output shows PM2.5, PM10, CO, NO2, O3, SO2, UV index with color-coded AQI.

History (sparkline trend)

airq history --city berlin --days 7

Shows daily AQI with sparkline bars for the past N days.

Rank cities by pollution

airq top --country germany            # top 5 cities
airq top --country turkey --count 10  # top 10

Any country in the world — 10,000+ cities built-in. Use --list to see all countries.

Compare data sources

airq compare --city berlin                     # model vs area sensors
airq compare --city berlin --sensor-id 72203   # model vs specific sensor

Side-by-side table showing Open-Meteo model vs Sensor.Community readings.

Find nearby sensors

airq nearby --city paris --radius 10

Lists Sensor.Community sensor IDs within the given radius (km).

Single data source

airq --city berlin --provider open-meteo           # model only
airq --city berlin --provider sensor-community --sensor-id 72203  # sensor only

Pollution front detection

airq front --city hamburg --radius 150 --days 3
airq front --city gazipasa --radius 150 --days 3

Detects pollution fronts moving between cities using:

  • Z-score spike detection on hourly PM2.5 differences
  • Cross-correlation with time-lag between city/sensor pairs
  • Haversine distance + bearing for speed and direction
  • Dual-source: Open-Meteo model + Sensor.Community archive data
  • Sensor clustering (~5km zones) with geo-named labels

Shows nearby cities, wind, spikes, fronts with speed/direction, and ETA warnings.

Pollution source attribution (blame)

airq blame --city hamburg --radius 20 --days 7

Identifies which factories, power plants, or highways contribute to pollution using CPF (Conditional Probability Function). Sources auto-discovered from OpenStreetMap via Overpass API. Custom sources can be added in config [[sources]].

HTML/PDF report with map, heatmap, and source attribution

airq report --city hamburg --radius 150 --pdf
airq report --city delhi --radius 200 --days 3 --pdf

Generates self-contained HTML report with:

  • Leaflet.js map with CartoDB tiles
  • PM2.5 heatmap overlay (leaflet.heat)
  • Individual sensors colored by air quality level
  • Front arrows (green=strong, yellow=medium, orange=weak correlation)
  • Pollution source markers on map (⚡ power plants, 🏭 factories, 🛣 highways)
  • Source Attribution (CPF) table
  • Key Insights, Spikes table, Fronts table, Methodology, AQI reference
  • --pdf exports via Chrome headless or wkhtmltopdf

Data cached in ~/.cache/airq/ (sensor CSV + Overpass responses).

JSON output

All commands support --json for scripting and piping:

airq --city tokyo --json
airq history --city berlin --days 7 --json
airq top --country usa --json

AQI scale

AQI Status Action
0-50 Good No restrictions
51-100 Moderate Sensitive people limit outdoor
101-150 Unhealthy for Sensitive Groups Reduce prolonged outdoor
151-200 Unhealthy Everyone limit outdoor
201-300 Very Unhealthy Avoid outdoor activity
301-500 Hazardous Stay indoors

How it works

By default airq fetches both sources concurrently and averages PM2.5/PM10:

  • Open-Meteo — atmospheric model (~11km grid, global coverage)
  • Sensor.Community — median of real sensors within 5km (filters outliers)

If no sensors are nearby, falls back to model only.

Usage Guidance
This skill appears to do what it claims (a CLI air‑quality tool). Before installing: 1) Inspect the Homebrew tap and GitHub release (fortunto2/airq) to ensure you trust the upstream author; 2) Be prepared to run sudo to move a binary to /usr/local/bin or install via cargo (which requires Rust); 3) If you need PDF reports, ensure headless Chrome or wkhtmltopdf is installed since the README mentions them but doesn't install them; 4) Note the tool will cache sensor CSVs and Overpass responses under ~/.cache/airq and write config to ~/.config/airq; review those files if sensitive. If you want stronger assurance, ask the publisher for a verified source (official homepage or repo) or inspect the release archive before running it.
Capability Analysis
Type: OpenClaw Skill Name: airq Version: 1.2.0 The skill provides a comprehensive CLI tool for air quality monitoring, but its installation instructions in SKILL.md involve high-risk patterns, specifically downloading a remote binary via curl and using sudo to move it to /usr/local/bin/ without integrity verification (e.g., checksums). While these actions are plausibly needed for the stated purpose, they represent a significant security risk for an automated agent. The tool also performs extensive network operations across multiple APIs and may trigger complex dependency executions (like headless Chrome) for report generation.
Capability Assessment
Purpose & Capability
The SKILL.md describes a CLI for air quality queries and the instructions only reference installing/running that CLI and interacting with Open-Meteo, Sensor.Community, and Overpass (all relevant to air quality and source attribution). No unrelated credentials, services, or system subsystems are requested.
Instruction Scope
Instructions reference creating config (~/.config/airq/) and caching (~/.cache/airq/) which is appropriate for a CLI. They instruct network calls to Open-Meteo, Sensor.Community, and Overpass APIs (expected). They also mention generating PDFs via headless Chrome or wkhtmltopdf but do not declare these as required binaries—users should be aware additional tooling may be needed for PDF export.
Install Mechanism
No install spec in the registry (instruction-only). Installation methods point to GitHub releases (curl + tar) and a Homebrew tap (fortunto2/tap) and cargo. GitHub releases is a common pattern; using a third‑party Homebrew tap (rather than the main repo) is higher risk than an official formula and merits verification of the source.
Credentials
The skill declares no required environment variables or credentials. The config and cache paths it uses are proportional to a CLI tool that stores preferences and downloaded sensor data. No unexpected secret access is requested.
Persistence & Privilege
The skill does not request persistent agent privileges (always:false). Installation instructions include moving a binary to /usr/local/bin with sudo, which requires elevated privileges at install time—common for system-wide CLI install but worth noting before running commands.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install airq
  3. After installation, invoke the skill by name or use /airq
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.2.0
Comfort index, weather data, pollen, earthquakes, geomagnetic Kp, source attribution
v1.1.0
Heatmap, colored sensors, insights, sensor clustering, methodology
v1.0.0
Wind data, pollution front detection, HTML/PDF reports with maps, all countries
v0.9.0
All countries support (10K+ cities built-in), batch API requests
v0.8.0
Initial release — check air quality from terminal, merges Open-Meteo + Sensor.Community
Metadata
Slug airq
Version 1.2.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 5
Frequently Asked Questions

What is airq?

Check air quality, AQI, PM2.5, PM10, pollution levels for any city from the terminal using airq CLI. Installs, configures, and runs air quality queries. Use... It is an AI Agent Skill for Claude Code / OpenClaw, with 341 downloads so far.

How do I install airq?

Run "/install airq" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is airq free?

Yes, airq is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does airq support?

airq is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created airq?

It is built and maintained by Rust (@fortunto2); the current version is v1.2.0.

💬 Comments