agentleFS
Cogni-AI-OUCogni-AI-OU/cogni-ai-agent-skills/apache-airflow-api/SKILL.md

apache-airflow-api

Skill4 starsChanged 6 months agoMITView on GitHub

Execute Apache Airflow Stable REST API queries, manage DAGs, backfills, connections, variables, and assets. You MUST load this skill when interacting with the Airflow API.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 1 is distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When interacting with Airflow internal database directly (use standard SQL queries instead).

    line 20
  2. Very specific:

    When modifying DAG source files locally (use python or standard editing skills instead).

    line 21
  3. Very specific:

    When using Airflow UI-only endpoints (endpoints under /ui are subject to breaking changes).

    line 22
  4. Very specific:

    Execution: Use curl or a scripting tool (like Python's requests) to execute the API call.

    line 29
  5. Very specific:

    Response Validation: Ensure the response is HTTP 200, 201, or 204.

    line 30
  6. Very specific:

    Stable Endpoints: Always use the /api/v2/ (or /api/v1/ depending on the Airflow environment version) stable endpoints, avoiding /ui …

    line 34
  7. Very specific:

    Filtering and Pagination: Use limit, offset, and order_by query parameters when querying large collections like Task Instances or DAG Runs.

    line 35
  8. Very specific:

    Dry Runs: Use the dry_run endpoints (e.g., /api/v2/backfills/dry_run, …

    line 36

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

apache-airflow-api

<!-- markdownlint-disable MD013 MD023 MD031 MD032 -->

When to Use

  • Querying, triggering, or managing DAGs and DAG Runs via the Airflow REST API.
  • Managing Airflow Variables, Connections, Pools, or Assets autonomously.
  • Extracting Task Instance logs, XCom entries, or execution statistics.
  • Handling backfill operations (pause, unpause, cancel) programmatically.

When Not to Use

  • When interacting with Airflow internal database directly (use standard SQL queries instead).
  • When modifying DAG source files locally (use python or standard editing skills instead).
  • When using Airflow UI-only endpoints (endpoints under /ui are subject to breaking changes).

Core Process

  1. Authentication: Determine the authentication method configured for the Airflow API (e.g., Basic Auth, OAuth2). For Basic Auth, use --user <username>:<password>.
  2. Endpoint Identification: Identify the appropriate /api/v2/ endpoint from the API mindmap or documentation.
  3. Payload Construction: For POST, PUT, or PATCH requests, construct the correct JSON payload (e.g., {"is_paused": true}).
  4. Execution: Use curl or a scripting tool (like Python's requests) to execute the API call. Include appropriate headers (e.g., -H "Content-Type: application/json").
  5. Response Validation: Ensure the response is HTTP 200, 201, or 204. If 401 or 403, verify credentials. If 422, verify payload format.

Best Practices

  • Stable Endpoints: Always use the /api/v2/ (or /api/v1/ depending on the Airflow environment version) stable endpoints, avoiding /ui endpoints.
  • Filtering and Pagination: Use limit, offset, and order_by query parameters when querying large collections like Task Instances or DAG Runs.
  • Dry Runs: Use the dry_run endpoints (e.g., /api/v2/backfills/dry_run, /api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/dry_run) to validate operations before committing them.

Mindmap of API Paths

The following mindmap outlines the structure of the Apache Airflow Stable REST API endpoints:

mindmap
  root(("Airflow API"))
    /api
      /v2
        /assets
          /aliases
            /{asset_alias_id}
          /events
          /{asset_id}
            /materialize
            /queuedEvents
        /auth
          /login
          /logout
        /backfills
          /dry_run
          /{backfill_id}
            /cancel
            /pause
            /unpause
        /config
          /section
            /{section}
              /option
                /{option}
        /connections
          /defaults
          /test
          /{connection_id}
        /dagSources
          /{dag_id}
        /dagStats
        /dagTags
        /dagWarnings
        /dags
          /{dag_id}
            /assets
              /queuedEvents
              /{asset_id}
                /queuedEvents
            /clearTaskInstances
            /dagRuns
              /list
              /{dag_run_id}
                /clear
                /hitlDetails
                /taskInstances
                  /list
                  /{task_id}
                    /dependencies
                    /dry_run
                    /externalLogUrl
                      /{try_number}
                    /links
                    /listMapped
                    /logs
                      /{try_number}
                    /tries
                      /{task_try_number}
                    /xcomEntries
                      /{xcom_key}
                    /{map_index}
                      /dependencies
                      /dry_run
                      /hitlDetails
                        /tries
                          /{try_number}
                      /tries
                        /{task_try_number}
                /upstreamAssetEvents
                /wait
            /dagVersions
              /{version_number}
            /details
            /favorite
            /tasks
              /{task_id}
            /unfavorite
        /eventLogs
          /{event_log_id}
        /importErrors
          /{import_error_id}
        /jobs
        /monitor
          /health
        /parseDagFile
          /{file_token}
        /plugins
          /importErrors
        /pools
          /{pool_name}
        /providers
        /variables
          /{variable_key}
        /version

Common Pitfalls

  • Authentication Missing: Forgetting to pass the bearer token or basic auth credentials, resulting in a 401 Unauthorized response.
  • Incorrect Content Type: Omitting -H "Content-Type: application/json" when executing POST or PATCH requests, which Airflow will reject.
  • URL Encoding Paths: Forgetting to URL-encode variables, connection IDs, or DAG IDs that contain special characters.
  • Timezone Mismatches: Airflow expects timestamps in strict ISO-8601 format (e.g., 2026-05-20T12:00:00Z). Passing timezone-naive strings can cause validation errors.

References

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.