airflow-plugins

Build Airflow 3.1+ plugins embedding FastAPI endpoints and custom UI components.

3|Updated Jul 22, 2025
One-click install
npx skills add https://github.com/minyeamer/linkmerce --skill airflow-plugins
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: airflow-plugins
Source: https://github.com/minyeamer/linkmerce/tree/main/.agents/skills/airflow-plugins
Command: npx skills add https://github.com/minyeamer/linkmerce --skill airflow-plugins

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill removes the friction of creating custom user experiences and API endpoints inside Apache Airflow by letting you extend the Airflow UI and backend in-process.

Core Features & Use Cases

  • Embed FastAPI apps into Airflow: Mount FastAPI endpoints under a plugin URL prefix so you can build Airflow-integrated APIs without a separate service.
  • Add custom UI navigation and pages: Register external views to create nav links or extra tabs on DAG, DAG run, task, and task instance pages.
  • Serve static assets and React components: Host static files (HTML/JS/CSS) and embed a React bundle into Airflow 3.1+ for richer operator-facing tooling.
  • Secure and operationalize the integration: Apply explicit FastAPI authentication when needed and ensure async safety by offloading blocking calls.

Quick Start

Tell the AI: Create an Airflow 3.1+ plugin that mounts a FastAPI endpoint at /my-plugin, serves a static UI from plugins/my-plugin/static/index.html, and adds a nav entry that links to an internal page at my-plugin/ui.

Frequently Asked Questions about airflow-plugins

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I embed a FastAPI app directly into the Airflow UI?

To embed a FastAPI app into the Airflow UI, build an Airflow 3.1+ plugin that mounts FastAPI endpoints directly inside the Airflow web process under a plugin URL prefix, eliminating the need for a separate backend service.

Can I add custom navigation tabs and React pages to Airflow DAG views?

Yes, you can add custom navigation tabs and React pages to Airflow DAG, DAG run, task, and task instance views by registering external views within your Airflow 3.1+ plugin and serving the static React bundle assets directly through the integrated web server.

Does Airflow 3.1 support mounting FastAPI middleware inside plugins?

Airflow 3.1+ supports mounting FastAPI middleware inside plugins, allowing you to integrate custom middleware that interacts with Airflow APIs. You must avoid older Airflow 2 Flask and appbuilder patterns when implementing this in-process integration.

What is the best way to serve static HTML and JS assets from an Airflow plugin?

The best way to serve static assets from an Airflow plugin is to configure your plugin to host static files like HTML, JS, and CSS directly, ensuring you enforce relative href and fetch paths to maintain correct routing within the Airflow web process.

How do I handle blocking Airflow SDK database calls in an async FastAPI plugin?

To handle blocking Airflow SDK or database calls in an async FastAPI plugin, you must offload those blocking operations using asyncio.to_thread, ensuring async safety and preventing the blocking of the Airflow web server's event loop.

Why are my Airflow 2 Flask appbuilder patterns not working in newer plugins?

Airflow 2 Flask and appbuilder patterns do not work in newer plugins because Airflow 3.1+ requires a different architecture that embeds FastAPI endpoints and custom UI components directly, moving away from legacy Flask-based extension methods.