CtrlK
BlogDocsLog inGet started
Tessl Logo

airflow-dag-patterns

Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.

78

0.95x
Quality

70%

Does it follow best practices?

Impact

90%

0.95x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./tests/ext_conformance/artifacts/agents-wshobson/data-engineering/skills/airflow-dag-patterns/SKILL.md

The canonical home for this skill is airflow-dag-patterns in wshobson/agents

SKILL.md
Quality
Evals
Security

Quality

Content

57%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 well-organized, highly concrete pattern library with strong executable code, but it functions as a monolithic reference rather than a progressive-disclosure skill: everything is inlined in SKILL.md with no bundle files, basic Airflow concepts are re-explained, and there is no integrated write-test-deploy workflow despite the description advertising deployment. Testing guidance exists but only as one isolated pattern.

Suggestions

Move the six pattern implementations into separate reference files under references/ (e.g., references/taskflow.md, references/branching.md, references/sensors.md) and keep SKILL.md as a concise overview with one-level-deep, clearly signaled links to each.

Cut content Claude already knows: drop the Core Concepts principles table and the basic dependency-syntax snippet, and fold the Quick Start example into the TaskFlow pattern to remove redundancy.

Add a short sequenced workflow (write DAG -> run DagBag validation locally -> fix import errors -> deploy) that references the testing pattern as an explicit checkpoint, and either add the promised deployment section or remove 'deployment' from the description.

DimensionReasoningScore

Conciseness

At ~500 lines the body includes material Claude already knows (the Core Concepts table defining idempotent/atomic/incremental, basic linear/fan-out dependency syntax) and redundant examples (Quick Start and Pattern 1 both demonstrate a basic ETL DAG). It is not padded prose and the code is dense, so it sits at 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the verbose level of 2.

3 / 5

Actionability

Six complete, near-copy-paste-ready DAG examples cover the common cases (TaskFlow, dynamic generation, branching, sensors, error handling, testing), matching 'mostly executable guidance; concrete code with minor gaps'. It misses 5 because of small executable gaps such as the missing import of PokeReturnValue in Pattern 4's @task.sensor example and the unused Variable import in Pattern 2.

4 / 5

Workflow Clarity

The content is a pattern catalog rather than a sequenced workflow: there is no explicit 'write DAG -> test -> deploy' order, and validation (the DagBag tests in Pattern 6) exists as a standalone section but is never woven in as a checkpoint. The description promises deployment guidance that the body does not deliver. This matches 'sequence present but checkpoints missing or implicit' better than the anchor 4 example, which shows an ordered procedure with verification steps.

3 / 5

Progressive Disclosure

There are no references/, scripts/, or assets/ bundle files, and the body is a single monolithic 500-line file whose six full pattern implementations clearly belong in separate reference files. Section headers are clear, which keeps it above the 'minimal structure' anchor of 2, but 'content that should be separate is inline' places it squarely at 3 under the guideline to score against the actual (empty) bundle structure.

3 / 5

Total

13

/

20

Passed

Description

83%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 strong description: third-person, concise, with a clear what statement and an explicit 'Use when...' trigger clause containing natural user phrasing. The only gaps are a few missing synonyms/trigger variations and mild breadth in the orchestration triggers that could cause minor overlap with generic pipeline skills.

DimensionReasoningScore

Specificity

"Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment" names the domain and several concrete capability areas (operators, sensors, testing, deployment), matching the 'several specific actions; minor gaps in coverage' anchor. It falls short of 5 because these are topic labels rather than fully fleshed-out actions, and it is above 3 because coverage goes beyond 1-2 actions.

4 / 5

Completeness

It explicitly answers both parts: what ("Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment") and when ("Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs") with concrete trigger phrases, matching the top anchor exactly. Not below 5 because the 'when' clause is explicit rather than implied.

5 / 5

Trigger Term Quality

Triggers like "creating data pipelines", "orchestrating workflows", "scheduling batch jobs", plus "Airflow" and "DAG", give good natural keyword coverage a user would actually say. A few common variations are missing (e.g., 'ETL', 'cron', 'workflow scheduler', 'Prefect/Dagster migration'), so it does not reach the comprehensive-with-synonyms level of 5, but it clearly exceeds the 'some relevant keywords' level of 3.

4 / 5

Distinctiveness Conflict Risk

"Apache Airflow DAGs" carves out a clear niche with distinct triggers, giving minimal conflict risk, but "orchestrating workflows" and "creating data pipelines" are broad phrases that could overlap with general pipeline or other-orchestrator skills. This lands at 'mostly distinct; minor overlap risk' rather than the fully distinct 5 anchor.

4 / 5

Total

17

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (526 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
Dicklesworthstone/pi_agent_rust
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.