environment

Query Montréal environmental datasets including tree inventory, air quality, and green spaces via CKAN API.

1|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/alistaircroll/montreal-open-data --skill environment-alistaircroll
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: environment
Source: https://github.com/alistaircroll/montreal-open-data/tree/main/skills/domains/environment
Command: npx skills add https://github.com/alistaircroll/montreal-open-data --skill environment-alistaircroll

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Finding and querying Montréal's environmental open data requires knowing dataset slugs, resource IDs, field schemas, and CKAN API conventions, which are scattered and poorly documented. ## Core Features & Use Cases - Tree Inventory Access: Query the 333,556-record public tree dataset with documented field schemas, bilingual species names, and ready-to-use SQL examples for counts, species rankings, and proximity searches. - Air Quality & Green Spaces: Locate RSQA pollutant monitoring data, parks, dog parks, and water quality datasets with formats and update frequencies. - Use Case: Ask "How many trees are in the Plateau?" and get a correct SQL query against the right resource ID, with borough grouping and proper handling of the text-typed DHP field. ## Quick Start Ask how many trees are in a specific Montréal borough and let the agent build the CKAN SQL query for you.

Frequently Asked Questions about environment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query the Montréal tree inventory dataset?

Use the CKAN datastore_search_sql endpoint with resource ID 64e28fe6-ef37-437a-972d-d1d3f1f7d891. You can run SQL queries like GROUP BY ARROND_NOM to count trees per borough or filter by species fields.

How do I find trees near a specific location in Montréal?

Query the tree dataset with SQL that orders by squared distance using the Latitude and Longitude fields, filtering out null coordinates. The data uses WGS84 for Latitude/Longitude and NAD 83 MTM Zone 8 for Coord_X/Coord_Y.

Why do numeric operations fail on the DHP tree diameter field?

DHP is stored as text in the DataStore, not as a number. Cast it with CAST("DHP" AS INTEGER) before performing numeric comparisons or aggregations.

Does Montréal open data include real-time air quality?

Yes, the rsqa-polluants dataset provides hourly pollutant readings from 11 permanent stations plus one nomadic station, covering PM2.5, PM10, ozone, NO2, SO2, and CO. Data lags approximately 50 minutes behind each hour.

What are the limitations of the Montréal tree dataset?

The dataset has 333,556 rows, so always use LIMIT and pagination rather than fetching everything. Not all boroughs have complete inventories, and canopy coverage data is GeoJSON that must be downloaded and parsed locally rather than queried via DataStore.