Download for MacApple silicon, macOS 14+
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

With your agent

Install OMGSkills skill "astronomer/agents:airflow-hitl" into this agent's normal skills directory: call the OMGSkills MCP get_install_plan tool for your agent and run the script it returns (it installs only the pinned commit and verifies SKILL.md), and stop if MCP or the pin is unavailable. Do not overwrite or change existing skills without asking me.

Manual command

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.