borough-context

Provides reference data for Montréal's 19 boroughs and 15 reconstituted municipalities.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Borough names appear inconsistently across Montréal open datasets — different dash styles, abbreviations, numeric codes, and informal neighborhood names — making geographic filtering error-prone. This Skill gives agents a canonical reference for resolving any borough mention into the correct dataset values. ## Core Features & Use Cases - Canonical Borough Reference: Lists all 19 boroughs with codes (AHU, CDN, VIM), common short names, and approximate center coordinates, plus the 15 reconstituted municipalities. - Name Variation Handling: Documents how borough names appear in dataset metadata (territoire codes), record fields (ARROND_NOM), and numeric fields, with robust SQL LIKE patterns for filtering. - Natural Language Mapping: Maps informal terms like "downtown", "Mile End", "HoMa", or "the West Island" to the correct official borough. - Use Case: A user asks "How many trees are in the Plateau?" — the agent resolves "the Plateau" to Le Plateau-Mont-Royal and builds a filter like WHERE "ARROND_NOM" LIKE '%Plateau%Royal%' that survives formatting inconsistencies. ## Quick Start Ask the agent to filter a Montréal dataset by a borough or neighborhood name, such as "show building permits in Verdun this month".

Frequently Asked Questions about borough-context

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

FAQPage Schema
How do I filter Montréal open data by borough or arrondissement?

Use the ARROND_NOM field with a robust SQL LIKE pattern such as LIKE '%Plateau%Royal%' rather than exact matches, since borough names vary in dash styles, spacing, and accents across datasets. Some datasets instead use short codes like AHU or VIM in the territoire metadata field.

How many boroughs does Montréal have and what are their codes?

Montréal has 19 boroughs, each with a three-letter code such as AHU for Ahuntsic-Cartierville, CDN for Côte-des-Neiges–Notre-Dame-de-Grâce, and VIM for Ville-Marie. The agglomeration also includes 15 reconstituted municipalities like Westmount and Dorval.

Is Westmount a borough of Montréal?

No, Westmount is a reconstituted municipality, not a borough. It is an independent municipality within the Montréal agglomeration that shares services like police and transit but has its own council, so it may not appear in borough-indexed datasets.

Why does exact-match filtering on borough names fail in Montréal datasets?

Borough names are formatted inconsistently across datasets, with variations like 'Ville - Marie', en-dashes versus hyphens, and abbreviations like CDN-NDG. Use LIKE patterns with wildcards, such as '%Notre-Dame%Gr_ce%', to tolerate these differences.

How do I map neighborhood names like Mile End or Griffintown to boroughs?

Neighborhoods are informal areas within official boroughs, and datasets are indexed by borough only. Mile End maps to Le Plateau-Mont-Royal, Griffintown to Le Sud-Ouest, and Old Montréal to Ville-Marie, so translate the neighborhood before filtering.