← Back to Skills Marketplace
atesluks

IQAir Air Quality

by Antons Tesluks · GitHub ↗ · v1.0.2
cross-platform ✓ Security Clean
702
Downloads
3
Stars
1
Active Installs
3
Versions
Install in OpenClaw
/install iqair
Description
Get real-time air quality data from IQAir API for any location worldwide. Returns AQI (Air Quality Index) with visual indicators and quality levels. Use when...
README (SKILL.md)

IQAir Air Quality Checker

Get real-time air quality data from the IQAir API with formatted output including AQI score, emoji indicator, and quality level.

Prerequisites

API Key Required: User must have a free IQAir API key stored in the IQAIR_API_KEY environment variable.

If the key is not set, guide the user:

  1. Visit https://dashboard.iqair.com/personal/api-keys
  2. Sign up/sign in and subscribe to the free Community plan
  3. Copy the API key
  4. Set it: export IQAIR_API_KEY="your_key_here"

Quick Usage

By city name:

python scripts/get_aqi.py Riga Latvia
python scripts/get_aqi.py London "United Kingdom"
python scripts/get_aqi.py Budapest Hungary

By coordinates (most reliable):

python scripts/get_aqi.py --lat 56.9496 --lon 24.1052

Nearest city (based on IP):

python scripts/get_aqi.py --nearest

How to Respond to User Queries

When a user asks about air quality:

  1. Determine the location - Extract city/country from their query
  2. Run the script - Use scripts/get_aqi.py with appropriate arguments
  3. Return formatted output - The script provides emoji, AQI value, level, and location

Example interaction:

User: "How good is air in Riga?"

Response process:

  • Location: Riga, Latvia
  • Run: python scripts/get_aqi.py Riga Latvia
  • Output: 🟢 19 - Good\ Riga, Latvia
  • Reply: "Air quality in Riga is currently excellent! 🟢 19 (Good)"

Handling Location Names

City/country names:

  • Use exact names as they appear in IQAir's database
  • Capital cities: Often the state/province matches the city name
  • If city lookup fails, try coordinates instead

Common location patterns:

  • Riga, Latvia → Riga Latvia (state defaults to city)
  • London, UK → London "United Kingdom" (quote if spaces)
  • New York, USA → "New York" "United States" "New York" (city, country, state)

When in doubt: Use coordinate-based lookup with --lat and --lon (more reliable).

Output Format

The script returns a concise, formatted string:

🟢 45 - Good
Riga, Latvia

Customize your response based on the AQI level:

  • 0-50 (🟢 Good): "Excellent", "Perfect for outdoor activities"
  • 51-100 (🟡 Moderate): "Acceptable", "Sensitive people should limit prolonged outdoor exertion"
  • 101-150 (🟠 USG): "Unhealthy for sensitive groups", "Children and people with respiratory issues should reduce outdoor exertion"
  • 151-200 (🔴 Unhealthy): "Everyone may experience health effects", "Reduce outdoor activities"
  • 201-300 (🟣 Very Unhealthy): "Health alert", "Avoid outdoor activities"
  • 301+ (🟤 Hazardous): "Emergency conditions", "Stay indoors"

Technical Details

For API specifications, endpoints, and error handling, see references/api.md.

Rate Limits

Free Community plan limits:

  • 5 calls/minute
  • 500 calls/day
  • 10,000 calls/month

Avoid making repeated calls for the same location within short time periods.

Usage Guidance
This skill is internally consistent: it needs only your IQAir API key and the included Python script queries the official AirVisual endpoints and prints AQI results. Before installing, verify you trust the skill source (SKILL.md lists a GitHub homepage—review that repo if you can), keep your IQAIR_API_KEY private (do not paste into public places), and be mindful of IQAir rate limits (the skill will make outbound HTTP requests to api.airvisual.com and will include your API key in those requests). If you want extra assurance, review the small scripts/get_aqi.py file (it is short and readable) and only provide the IQAIR_API_KEY environment variable rather than broader credentials.
Capability Analysis
Type: OpenClaw Skill Name: iqair Version: 1.0.2 The OpenClaw skill 'iqair' is designed to fetch air quality data from the IQAir API. The `scripts/get_aqi.py` Python script correctly retrieves the API key from environment variables, makes network calls to the legitimate IQAir API (`api.airvisual.com`), and safely constructs URL parameters using `urllib.parse.urlencode`, preventing URL injection. The `SKILL.md` instructions guide the AI agent on how to use the script with user-provided locations. There is no evidence of intentional harmful behavior, data exfiltration beyond the API key to the legitimate service, persistence mechanisms, or malicious prompt injection attempts against the agent. The skill's behavior is clearly aligned with its stated purpose and lacks meaningful high-risk behaviors or vulnerabilities within its own code.
Capability Assessment
Purpose & Capability
Name/description ask for IQAir API access and the skill only requests IQAIR_API_KEY; the code calls IQAir/AirVisual endpoints (api.airvisual.com) to fetch AQI and formats results—this is coherent with the stated purpose.
Instruction Scope
SKILL.md instructs the agent to run the bundled Python script with city/coordinate arguments. The script only reads IQAIR_API_KEY, constructs queries to the IQAir API, handles common HTTP errors, and prints formatted output. It does not access unrelated files/paths or other environment variables.
Install Mechanism
No install spec; the skill is instruction-only with one simple included script. Nothing is downloaded or written at install time and no third-party install URLs are used.
Credentials
Only IQAIR_API_KEY is required, which is appropriate for this API-based skill. The script uses that single env var and does not attempt to read other secrets or config paths.
Persistence & Privilege
always:false and no modifications to other skills or system settings. The skill does outbound API calls when invoked; autonomous invocation is allowed by default but not excessive here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install iqair
  3. After installation, invoke the skill by name or use /iqair
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Latest updates with coordinate support and formatted output
v1.0.1
Fixed: Added IQAIR_API_KEY requirement and homepage URL to metadata
v1.0.0
Initial release: Real-time air quality monitoring with AQI indicators
Metadata
Slug iqair
Version 1.0.2
License
All-time Installs 1
Active Installs 1
Total Versions 3
Frequently Asked Questions

What is IQAir Air Quality?

Get real-time air quality data from IQAir API for any location worldwide. Returns AQI (Air Quality Index) with visual indicators and quality levels. Use when... It is an AI Agent Skill for Claude Code / OpenClaw, with 702 downloads so far.

How do I install IQAir Air Quality?

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

Is IQAir Air Quality free?

Yes, IQAir Air Quality is completely free (open-source). You can download, install and use it at no cost.

Which platforms does IQAir Air Quality support?

IQAir Air Quality is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created IQAir Air Quality?

It is built and maintained by Antons Tesluks (@atesluks); the current version is v1.0.2.

💬 Comments