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 · 60 · 0 current installs · 0 all-time installs
byRust@fortunto2
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (air quality CLI) match the instructions: installs/runs the 'airq' CLI, queries Open‑Meteo and Sensor.Community, and manages a local config. Nothing requested or referenced appears unrelated to the stated purpose.
Instruction Scope
SKILL.md instructs only CLI installation, local config (~/.config/airq), and running airq commands. It does not ask the agent to read unrelated files, harvest credentials, or transmit data to unexpected endpoints. Report generation uses headless Chrome, which is expected for PDF export.
Install Mechanism
No install spec in registry (instruction‑only). SKILL.md suggests installing via a third‑party Homebrew tap, GitHub release tarball, or cargo. GitHub releases and cargo are common and reasonable, but the third‑party brew tap and the direct tarball download warrant verification of the upstream repository and release integrity before installing.
Credentials
The skill declares no required environment variables, credentials, or config paths beyond creating a local config file. That is proportionate for a CLI that queries public APIs and user sensors.
Persistence & Privilege
always is false and the skill is user‑invocable only. The skill does not request persistent elevated privileges nor modify other skills' configs; installing the CLI may require sudo to move the binary to /usr/local/bin, which is normal for system installs.
Assessment
This skill is coherent with its description, but it instructs you to install a third‑party CLI from sources you should verify. Before installing: (1) inspect the GitHub repo (fortunto2/airq) and README/release notes, (2) prefer your distribution's package manager or cargo if you trust the crate, (3) avoid unknown Homebrew taps unless you trust the maintainer, (4) check release checksums/signatures and scan downloaded binaries, (5) be aware that moving the binary into /usr/local/bin requires sudo and that PDF export uses a headless browser (may use/require Chromium). If you cannot verify the upstream project, run the tool in a sandbox or container.

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

Current versionv1.1.0
Download zip
air-qualityvk97desm94gxxn2anv6t4qk7m658303pwaqivk97desm94gxxn2anv6t4qk7m658303pwclivk97desm94gxxn2anv6t4qk7m658303pwenvironmentvk97desm94gxxn2anv6t4qk7m658303pwheatmapvk97desm94gxxn2anv6t4qk7m658303pwlatestvk97desm94gxxn2anv6t4qk7m658303pwmapvk979cwvpvf9dd8xw8j341stk9h830pc3pm25vk97desm94gxxn2anv6t4qk7m658303pwpollution-frontvk97desm94gxxn2anv6t4qk7m658303pwrustvk97desm94gxxn2anv6t4qk7m658303pw

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 gazipasa --radius 150 --days 3

Detects pollution fronts moving between cities. Uses Z-score spike detection and cross-correlation.

HTML/PDF report with map

airq report --city hamburg --pdf

Generates HTML report with Leaflet.js map, front arrows, spikes and fronts tables. --pdf exports via Chrome headless.

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…