checking-freshness

astronomer/agents · updated Apr 8, 2026

$npx skills add https://github.com/astronomer/agents --skill checking-freshness
0 commentsdiscussion
summary

Verify data freshness by checking table timestamps and update patterns against a staleness scale.

  • Identifies timestamp columns using common ETL naming patterns ( _loaded_at , _updated_at , created_at , etc.) and queries their maximum values to determine age
  • Classifies data into four freshness statuses: Fresh (< 4 hours), Stale (4–24 hours), Very Stale (> 24 hours), or Unknown (no timestamp found)
  • Provides SQL templates for checking last update time and row count trends over rece
skill.md

Data Freshness Check

Quickly determine if data is fresh enough to use.

Freshness Check Process

For each table to check:

1. Find the Timestamp Column

Look for columns that indicate when data was loaded or updated:

  • _loaded_at, _updated_at, _created_at (common ETL patterns)
  • updated_at, created_at, modified_at (application timestamps)
  • load_date, etl_timestamp, ingestion_time
  • date, event_date, transaction_date (business dates)

Query INFORMATION_SCHEMA.COLUMNS if you need to see column names.

2. Query Last Update Time

SELECT
    MAX(<timestamp_column>) as last_update,
    CURRENT_TIMESTAMP() as current_time,
    TIMESTAMPDIFF('hour', MAX(<timestamp_column>), CURRENT_TIMESTAMP()) as hours_ago,
    TIMESTAMPDIFF('minute', MAX(<timestamp_column>), CURRENT_TIMESTAMP()) as minutes_ago
FROM <table>

3. Check Row Counts by Time

For tables with regular updates, check recent activity:

SELECT
    DATE_TRUNC('day', <timestamp_column>) as day,
    COUNT(*) as row_count
FROM <table>
WHERE <timestamp_column> >= DATEADD('day', -7, CURRENT_DATE())
GROUP BY 1
ORDER BY 1 DESC

Freshness Status

Report status using this scale:

Status Age Meaning
Fresh < 4 hours Data is current
Stale 4-24 hours May be outdated, check if expected
Very Stale > 24 hours Likely a problem unless batch job
Unknown No timestamp Can't determine freshness

If Data is Stale

Check Airflow for the source pipeline:

  1. Find the DAG: Which DAG populates this table? Use af dags list and look for matching names.

  2. Check DAG status:

    • Is the DAG paused? Use af dags get <dag_id>
    • Did the last run fail? Use af dags stats
    • Is a run currently in progress?
  3. Diagnose if needed: If the DAG failed, use the debugging-dags skill to investigate.

On Astro

If you're running on Astro, you can also:

  • DAG history in the Astro UI: Check the deployment's DAG run history for a visual timeline of recent runs and their outcomes
  • Astro alerts for SLA monitoring: Configure alerts to get notified when DAGs miss their expected completion windows, catching staleness before users report it

On OSS Airflow

  • Airflow UI: Use the DAGs view and task logs to verify last successful runs and SLA misses

Output Format

Provide a clear, scannable report:

FRESHNESS REPORT
================

TABLE: database.schema.table_name
Last Update: 2024-01-15 14:32:00 UTC
Age: 2 hours 15 minutes
Status: Fresh

TABLE: database.schema.other_table
Last Update: 2024-01-14 03:00:00 UTC
Age: 37 hours
Status: Very Stale
Source DAG: daily_etl_pipeline (FAILED)
Action: Investigate with **debugging-dags** skill

Quick Checks

If user just wants a yes/no answer:

  • "Is X fresh?" -> Check and respond with status + one line
  • "Can I use X for my 9am meeting?" -> Check and give clear yes/no with context

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.464 reviews
  • Zara Park· Dec 24, 2024

    I recommend checking-freshness for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Michael Choi· Dec 24, 2024

    Useful defaults in checking-freshness — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Benjamin Garcia· Dec 16, 2024

    Keeps context tight: checking-freshness is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Hassan Kapoor· Dec 16, 2024

    Registry listing for checking-freshness matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Chaitanya Patil· Dec 8, 2024

    We added checking-freshness from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Lucas Diallo· Dec 8, 2024

    checking-freshness reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Piyush G· Nov 27, 2024

    checking-freshness fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Isabella Huang· Nov 27, 2024

    Registry listing for checking-freshness matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Kwame Bansal· Nov 15, 2024

    Keeps context tight: checking-freshness is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Kwame Gill· Nov 15, 2024

    checking-freshness has been reliable in day-to-day use. Documentation quality is above average for community skills.

showing 1-10 of 64

1 / 7