data-freshness

Detect stale Montréal open data and interpret dataset update schedules.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Montréal's open datasets update at wildly different rates — BIXI station status refreshes every minute while property assessments update every three years — and agents risk presenting outdated data as current without a systematic way to check freshness. ## Core Features & Use Cases - Update Frequency Reference: Categorized tables of update rates (real-time, daily, monthly, annual) for major datasets like BIXI, 311 requests, building permits, and crime data. - Freshness Detection Methods: Three concrete techniques — CKAN package metadata timestamps, MAX() queries on date fields via DataStore SQL, and GBFS last_updated timestamps. - Staleness Thresholds & Seasonal Awareness: Rules of thumb for when data counts as stale, plus seasonal behavior for BIXI, skating rinks, and snow removal so agents don't misreport off-season zeros as errors. - Use Case: A user asks "How many bikes are at the BIXI station near me?" in January. The agent recognizes BIXI is seasonal (April–November) and explains the closure instead of reporting zero available bikes as a live fact. ## Quick Start Ask the agent when the building permits dataset was last updated and whether the data is still fresh enough to trust.

Frequently Asked Questions about data-freshness

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

FAQPage Schema
How do I check when a CKAN dataset was last updated?

Query the CKAN package_show API endpoint with the dataset slug and inspect the metadata_modified field, plus each resource's last_modified and created timestamps. This gives dataset-level and resource-level freshness without downloading data.

How to find the most recent record in a Montréal open dataset?

Run a SQL query with MAX() on the dataset's date field through the DataStore API, such as MAX(DATE_EMISSION) for permits or MAX(DATE_CREATION) for 311 requests. The result shows the newest record's timestamp.

Why does BIXI show zero bikes available in winter?

BIXI operates seasonally from April to November, so stations showing zero bikes in January is normal, not a data error. Agents should check the current month and explain seasonal closure rather than reporting it as live availability.

When is Montréal open data considered stale?

Thresholds depend on update cadence: real-time feeds go stale after 30 minutes, daily datasets after one week, monthly datasets like permits and crime after 90 days, and annual datasets like budgets after 18 months.

Does the BIXI GBFS feed include a freshness timestamp?

Yes, the GBFS station_status.json response includes a last_updated field as a Unix epoch timestamp. Convert it to a datetime to verify the feed is current before presenting station availability to users.