Download for macOS
Skill

airflow-hitl

@astronomer Updated 2026-10-14

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).

agentic-workflowagentsaiai-agentsairflowapache-airflowclaudecursor

Install

git clone https://github.com/astronomer/agents /tmp/agents && ln -s /tmp/agents/skills/airflow-hitl ~/.claude/skills/airflow-hitl

From README

Airflow Human-in-the-Loop Operators Pause a DAG until a human responds via the Airflow UI or REST API. HITL operators are deferrable — they release their worker slot while waiting. Requires Airflow 3.1+ (af config version). UI location: Browse → Required Actions. Respond from the task instance page's Required Actions tab. Cross-references: migrating-ai-sdk-to-common-ai for AI/LLM task decorators; airflow for registry and API discovery commands used below. --- Step 1 — Pick the capability you need | Capability | Class (verify in Step 2) | |---|---| | Approve or reject; downstream skips on reject | ApprovalOperator | | Present N options and return which were chosen | HITLOperator | | Branch to one or more downstream tasks based on a choice | HITLBranchOperator | | Collect a form (no approve/select step) | HITLEntryOperator | | Use the HITL trigger directly (advanced / custom operators) | HITLTrigger | This is the only place class names are hardcoded.