Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

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...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 61 · 0 current installs · 0 all-time installs
byRust@fortunto2
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
medium confidence
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.
Assessment
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.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.2.0
Download zip
air-qualityvk9726vtdsstr4zj6zmvak1rw1n830q1naqivk9726vtdsstr4zj6zmvak1rw1n830q1nblamevk9726vtdsstr4zj6zmvak1rw1n830q1nclivk9726vtdsstr4zj6zmvak1rw1n830q1ncomfort-indexvk9726vtdsstr4zj6zmvak1rw1n830q1nenvironmentvk97desm94gxxn2anv6t4qk7m658303pwheatmapvk9726vtdsstr4zj6zmvak1rw1n830q1nlatestvk9726vtdsstr4zj6zmvak1rw1n830q1nmapvk979cwvpvf9dd8xw8j341stk9h830pc3pm25vk97desm94gxxn2anv6t4qk7m658303pwpollution-frontvk9726vtdsstr4zj6zmvak1rw1n830q1nrustvk9726vtdsstr4zj6zmvak1rw1n830q1n

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

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 <city-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

AQIStatusAction
0-50GoodNo restrictions
51-100ModerateSensitive people limit outdoor
101-150Unhealthy for Sensitive GroupsReduce prolonged outdoor
151-200UnhealthyEveryone limit outdoor
201-300Very UnhealthyAvoid outdoor activity
301-500HazardousStay 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.

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…