CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

airflow-hitl

Builds human-in-the-loop (HITL) Airflow workflows - approval gates, form input, and human-driven branching. Use when a DAG needs a human in the loop - an approval or reject step, sign-off before a task runs, a decision or approval UI, branching on a human choice, or collecting form input mid-run; also on mentions of ApprovalOperator, HITLOperator, HITLBranchOperator, HITLEntryOperator, or HITLTrigger. Requires Airflow 3.1+. Not for AI/LLM task calls (see migrating-ai-sdk-to-common-ai).

76

Quality

95%

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

SKILL.md
Quality
Evals
Security

Quality

Content

88%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 strong, prescriptive body: executable discovery commands, a canonical copy-paste example, stable behavior contracts, and an explicit safety checklist with divergence-handling feedback loops. The only deductions are repeated registry-first warnings (conciseness) and a fully inlined layout where a small reference split could reduce the main file (progressive disclosure).

Suggestions

Consolidate the repeated 'discover from the registry, don't trust memory' guidance into one authoritative statement (Step 2) and let Step 1 and the References section point to it, trimming ~4 redundant sentences.

Move the Step 4 behavior-contract details (notifiers, auth-manager user-restriction specifics) and/or the Step 5 REST integration example into a one-level-deep reference file (e.g., references/advanced.md), keeping SKILL.md as the overview.

In Step 5, after the discovery commands, include one fully-concrete PATCH example with a real discovered path (e.g., a commented sample) so the pattern is copy-paste ready without placeholder substitution.

DimensionReasoningScore

Conciseness

Lean and directive throughout — no re-education of concepts Claude knows, and sections carry non-obvious facts (deferrable operators, defaults-on-timeout behavior, auth-manager-dependent kwargs). Falls short of 5 because the 'fetch from the registry, don't trust memory' instruction is repeated ~4 times (Step 1 note, Step 2 intro, Step 6 checklist, References section), which is minor padding. Not 3: there is no unnecessary concept explanation or fluff section.

4 / 5

Actionability

Fully executable: ready-to-run `af registry`/`jq` discovery commands, a copy-paste-ready DAG example covering the common approval case, and a working REST pattern with env-var auth. The `<path>` placeholders are explicitly justified by the live-discovery commands (`af api ls --filter hitl`), so the pseudocode penalty does not apply. Matches the 5 anchor.

5 / 5

Workflow Clarity

Clear six-step sequence (pick capability → discover signatures → canonical example → behavior contracts → external responding → safety checks) with an explicit validation checklist (Step 6) and feedback-loop guidance for divergence ("If the registry shows a param that this skill does not mention, prefer the registry"). Not 4: validation checkpoints are explicit, not implicit.

5 / 5

Progressive Disclosure

Well-organized single-file structure with clear section headers, clearly signaled cross-references to sibling skills (airflow, migrating-ai-sdk-to-common-ai, authoring-dags, testing-dags), and no buried or nested references — there are no bundle files, and none are referenced. Falls short of the 5 anchor because everything is inlined in one ~180-line file (e.g., Step 4 behavior contracts and Step 5 REST details could live in one-level-deep reference files). Not 3: structure and navigation are good, not merely present.

4 / 5

Total

18

/

20

Passed

Description

100%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.

Excellent description: third-person voice, concrete capability list, an explicit and detailed 'Use when' clause with natural trigger terms and class names, a version requirement, and an explicit exclusion boundary against the nearest competing skill. All four dimensions sit at the top anchor.

DimensionReasoningScore

Specificity

Names concrete capabilities — "approval gates, form input, and human-driven branching" — and the when-clause enumerates the full action set (approve/reject, sign-off, decision UI, branching, form collection) matching the five operator classes. Coverage is comprehensive with no gaps, matching the 5 anchor rather than the minor-gaps 4 anchor.

5 / 5

Completeness

Explicitly answers both: what ("Builds human-in-the-loop (HITL) Airflow workflows - approval gates, form input, and human-driven branching") and when ("Use when a DAG needs a human in the loop - an approval or reject step, sign-off before a task runs...") with concrete trigger phrases. Also adds version requirement and a negative boundary. Clearly the 5 anchor; the 4 anchor's 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Contains the natural phrases a user would actually say ("human in the loop", "approval or reject step", "sign-off", "branching on a human choice", "collecting form input") plus the exact class names (ApprovalOperator, HITLOperator, etc.) users may mention. Synonym coverage is thorough for this domain, fitting the comprehensive 5 anchor.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (Airflow HITL operators) with distinct triggers, and explicitly disambiguates adjacent territory ("Not for AI/LLM task calls (see migrating-ai-sdk-to-common-ai)"). Minimal conflict risk — matches the 5 anchor.

5 / 5

Total

20

/

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

Path

skills/airflow-hitl/SKILL.md

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.