Download for MacApple silicon, macOS 14+
Skill

airflow-state-store

@astronomer Updated 2026-10-14

Persists task and asset state across retries and DAG runs using Airflow 3.3's AIP-103 key/value stores (`task_state_store`, `asset_state_store`) and the crash-safe `ResumableJobMixin`. Use when the user asks about task state store, checkpointing in tasks, persisting state across retries, job IDs surviving worker crashes, watermarks, asset metadata, resumable tasks, crash-safe operators, or "what's new in Airflow 3.3". Also use proactively when reading a DAG that uses Variables or XCom for intra-task coordination state (flag the anti-pattern), or when reviewing any DAG that submits a job to an external system (Databricks, Snowflake, BigQuery, Redshift, Spark, dbt Cloud, EMR, AWS Batch, etc.) and waits for it to finish, whether as one submit-and-wait operator or split into submit + sensor/polling tasks; covers `wait_for_termination`, `deferrable`, `durable`, and hand-rolled polling sensors. State-persistence pieces require Airflow 3.3+; submit+poll architecture guidance applies on any version.

agentic-workflowagentsaiai-agentsairflowapache-airflowclaudecursor

Install

With your agent

Install OMGSkills skill "astronomer/agents:skills/airflow-state-store" 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-state-store ~/.claude/skills/airflow-state-store

From README

Airflow Task State Store (AIP-103) Airflow 3.3 ships two key/value stores and a crash-safety mixin for operators that submit external jobs. taskstatestore, assetstatestore, and ResumableJobMixin's crash-safety guarantee require Airflow 3.3+. Check first: Below 3.3: taskstatestore/assetstatestore are unavailable, and durable=True is a no-op — provider operators ship a pre-3.3 ResumableJobMixin shim that always submits fresh (see Section 5). Tell the user those specific features aren't available yet and link the AIP-103 tracking issue. This does not gate Section 6's Triggerer-vs-mode="reschedule" decision, or the general "green submit ≠ success" anti-pattern — those apply on any Airflow version. On a pre-3.3 DAG, give that guidance in full; only drop the "durable=True adds crash-safety" half of it.