CtrlK
BlogDocsLog inGet started
Tessl Logo

checking-freshness

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.

64

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/checking-freshness/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A solid, lean diagnostic skill: concrete SQL and CLI commands, an unambiguous staleness classification table, and a useful output template. The workflow is clearly sequenced with built-in decision points; the main gaps are a missing timestamp-column sanity check and slight padding in the platform-specific sections.

Suggestions

Add a brief validation note distinguishing load/update timestamps from business dates (e.g. "Prefer _loaded_at/updated_at over date columns; a business date can look fresh while loads have stopped") to close the workflow's main gap.

Trim the Astro/OSS sections to bare pointers (UI location for DAG run history, alerts for SLA misses) and drop the sentence restating the description at the top.

For the quick-check section, show the one-line yes/no response format users will actually receive so the condensed path is as concrete as the full report.

DimensionReasoningScore

Conciseness

The body is efficient — no explanation of concepts Claude already knows, and every section (timestamp candidates, SQL, status scale, DAG triage, output format) is task-relevant. Minor trimmable padding exists, e.g. "catching staleness before users report it" and the intro line restating the description, so it does not reach the every-token-earns-its-place anchor.

4 / 5

Actionability

Concrete, near-executable guidance throughout: two SQL templates, specific `af dags list/get/stats` commands, numeric staleness thresholds, and a copy-ready report format. The `<table>`/`<timestamp_column>` placeholders are justified flexibility but are minor gaps versus fully copy-paste-ready code, so it sits at the 4 anchor rather than 5.

4 / 5

Workflow Clarity

A clear numbered sequence (find timestamp column -> query last update -> row counts -> classify via the status table -> branch to DAG triage) with the freshness scale serving as an explicit checkpoint and a conditional error-recovery path. It misses a 5 because there is no sanity-check step confirming the chosen timestamp column is a load/update time rather than a business date, which would misclassify freshness.

4 / 5

Progressive Disclosure

No bundle files exist and none are needed; ~105 lines are well-sectioned and cohesive in a single file, with a clean cross-skill pointer to the debugging-dags skill. It is above the 3 anchor (nothing that belongs in a separate file is inlined) but below the 5 anchor, which expects well-signaled external references and the tightest possible overview — the Astro/OSS platform notes are trimmable side content.

4 / 5

Total

16

/

20

Passed

Description

77%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A well-constructed description with an explicit, natural "Use when..." trigger clause and a distinct data-freshness niche. Its main weakness is the terse what-statement, which names the domain without listing any concrete capabilities of the check.

Suggestions

Expand the what-statement with 1-2 concrete actions, e.g. "Check table freshness by querying timestamp columns, classify staleness, and trace failed Airflow DAGs" — this would lift specificity from the 'names the domain' anchor to the 'concrete actions' anchor.

Add common trigger synonyms such as "outdated" or "when was the data last refreshed" to broaden natural-phrase coverage.

DimensionReasoningScore

Specificity

"Quick data freshness check" names the domain but offers only a single generic action, matching "Names the domain but actions are minimal or generic" (cf. "Processes PDF files"); it never states what the check actually involves (querying timestamp columns, classifying staleness, triaging pipelines), so it falls below the 3 anchor's 1-2 concrete actions.

2 / 5

Completeness

It explicitly answers both questions: the what ("Quick data freshness check") and a concrete when with trigger phrases ("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"), matching the anchor for clearly and explicitly answering both.

5 / 5

Trigger Term Quality

The "Use when..." clause covers natural user phrasings — "if data is up to date", "when a table was last updated", "if data is stale", "verify data currency" — giving good keyword and synonym coverage; common variants like "outdated" or "when was this refreshed" are missing, keeping it below the comprehensive 5 anchor.

4 / 5

Distinctiveness Conflict Risk

Terms like "data freshness", "data is stale", and "when a table was last updated" carve out a clear niche in data-currency verification with minimal overlap risk against neighboring ETL/debugging skills.

5 / 5

Total

16

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
astronomer/agents
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.