К основному содержанию
скилл CX Codex

checking-freshness — скилл для Claude Code: проверка свежести данных

Скилл смотрит, когда таблица обновлялась в последний раз, и говорит, можно ли на этих данных строить отчёт.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add astronomer/agents --skill checking-freshness -a claude-code
Открыть на GitHub

Что делает checking-freshness

Скилл ищет в таблице колонку с отметкой времени загрузки или обновления: _loaded_at, updated_at, load_date, event_date и похожие варианты. Если имён колонок не видно, агент заглядывает в INFORMATION_SCHEMA.COLUMNS. Дальше считает возраст последней записи в часах и минутах и раскладывает строки по дням за последнюю неделю — так видно, идёт ли загрузка вообще.

Возраст превращается в статус: до 4 часов — свежие, от 4 до 24 — устаревшие, больше суток — очень устаревшие, а без колонки с временем свежесть не определить. Отчёт выводится таблицей: имя таблицы, время последнего обновления, возраст, статус.

Если данные протухли, скилл идёт в Airflow искать DAG-источник через af dags list, проверяет, не поставлен ли он на паузу и не упал ли последний запуск. Дальше он передаёт разбор скиллу **debugging-dags**. Порог в 4 часа — это ориентир из самого скилла, а не универсальный норматив: у ночных пакетных загрузок суточная давность нормальна, поэтому статус стоит читать вместе с расписанием пайплайна.

Какие задачи решает

  • узнать, когда таблица обновлялась в последний раз
  • понять, не устарели ли данные перед отчётом
  • найти колонку с временем загрузки в незнакомой схеме
  • посмотреть, сколько строк приходит по дням за неделю
  • выяснить, почему данные перестали обновляться

Примеры запросов агенту

  • Проверь свежесть таблицы analytics.orders — можно ли на ней строить утренний отчёт?
  • Данные в marketing.events устарели? Если да, найди DAG-источник и скажи, что с ним
  • Быстрый ответ: таблица sales.daily обновлялась сегодня?

Как установить checking-freshness

1Через Skills CLI (Vercel)

npx skills add astronomer/agents --skill checking-freshness -a claude-code

2Вручную: положить файлы

~/.claude/skills/checking-freshness/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/checking-freshness/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора23

testing-dags Гоняет Airflow DAG, ждёт завершения и разбирает падение по логам. Нужен, когда тест и починка идут циклами. CX Codex +1 1 200установок authoring-dags Помогает создавать и проверять DAG в Apache Airflow по шестиэтапному циклу. Пригодится при написании новых пайплайнов или добавлении задач в существующие графы. CX Codex +1 1 200установок setting-up-astro-project Скилл проводит агента через создание проекта Airflow на Astro CLI: структура каталогов, зависимости, подключения и переменные. CX Codex +1 1 100установок migrating-airflow-2-to-3 Помогает перевести код DAG с Airflow 2.x на 3.x: импорты, операторы, хуки, работа с метаданными. Пригодится, когда проект пора обновлять, а вручную искать все breaking changes лень. CX Codex +1 1 100установок tracing-downstream-lineage Скилл находит всё, что зависит от таблицы или DAG, и показывает, что сломается при изменении. Пригодится перед правкой схемы. CX Codex +1 1 000установок profiling-tables Скилл для глубокого анализа таблиц базы данных. Помогает изучить структуру, статистику по колонкам и оценить качество данных перед работой. CX Codex +1 1 000установок tracing-upstream-lineage Скилл для агента, который отвечает на вопрос «откуда взялись эти данные»: ищет DAG, читает исходники и строит цепочку до внешних систем. CX Codex +1 1 000установок cosmos-dbt-core Превращает проект dbt Core в Airflow DAG или TaskGroup через Astronomer Cosmos. Пригодится, когда нужно расписание и ретраи для моделей dbt. CX Codex +1 962установок

Похожие

data-engineering-study-material reason-machines Скилл-справочник по дата-инженерии: объясняет концепции, показывает примеры пайплайнов и готовит к собеседованиям. CX Codex +1 2 000установок airflow-dag-patterns Seth Hobson Скилл помогает проектировать DAG в Apache Airflow, связывать задачи и проверять пайплайны. Подойдёт для ETL, пакетных заданий и отладки запусков. CX Codex 11 000установок apache-airflow-orchestration reason-machines Скилл даёт агенту знания по Apache Airflow: сборка DAG, расписания, операторы, сенсоры, разбор падений задач. CX Codex +1 2 400установок senior-data-engineer Alireza Rezvani Скилл для проектирования пайплайнов, ETL/ELT и хранилищ. Пригодится, когда нужно выбрать batch или streaming и разложить модель данных. 1 109установок explore-data официальный anthropics Профилирует таблицы и локальные датасеты, выявляя пропуски, аномалии и распределения значений перед началом анализа. CX Codex +1 5 900установок analyze-data-quality официальный Data Analytics Maintainers Проверяет надёжность таблиц и метрик перед анализом или обучением моделей. Помогает найти скрытые дубли и аномалии. CX Codex GP ChatGPT 9установок

Рядом в теме «Данные и базы»

Все скиллы по теме «Данные и базы» →

Вопросы о checking-freshness

Как установить checking-freshness в Claude?

Выполните npx skills add astronomer/agents --skill checking-freshness -a claude-code. Скилл окажется в ~/.claude/skills/checking-freshness/SKILL.md.

Что делает checking-freshness?

Находит в таблице колонку с отметкой времени, считает возраст последней записи и выдаёт статус: свежие, устаревшие или очень устаревшие. При протухании данных проверяет DAG в Airflow.

Что нужно, чтобы скилл нашёл причину устаревания?

Доступ к Airflow и CLI af: через него скилл смотрит список DAG, статус и статистику запусков. Без этого он ограничится отчётом о свежести.

Исходный текст

SKILL.md · Apache-2.0
---
name: checking-freshness
description: Quick data freshness check. Use when the user asks if data is up to date, when a table was last updated, if data is stale, or needs to verify data currency before using it.
---

# 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

```sql
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:

```sql
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

© astronomer · Apache-2.0 · astronomer/agents

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой