datus-ai/datus-plugins/airflow-setup
- community
Checking that the SKILL.md file is still in the repository.
Configure an environment profile for the `datus airflow` plugin (API endpoint, credentials, optional S3/dags-folder deployment target)
Install
npx vskill@latest install datus-ai/datus-plugins/airflow-setupSKILL.md
Airflow Setup
Use this skill when datus airflow is installed but has no configured environment, or when the user wants to add another environment.
Config structure
Profiles live under agent.plugins.airflow.<profile> in the config file named by the ## Plugins section of the system prompt:
Steps
- Ask the user for:
api_base_url— the Airflow web server root. An/api/v1suffix selects
Airflow 2 with Basic Auth; /api/v2 selects Airflow 3 with JWT. Without a suffix, api_version: auto probes /api/v2/version, then /api/v1/version, on first use.
- Auth method: a ready-made API token, or username + password. For the
secret, have the user export an environment variable (e.g. export AIRFLOW_PASSWORD=...) and write ${VAR} into the YAML — never a literal secret.
- Whether they deploy DAGs through this plugin; if yes, the
dags_folder
target (s3://bucket/prefix/ or a local/mounted path) and any S3 specifics (region, named profile, custom endpoint). boto3 ships with the plugin, so S3 deployment works out of the box.
- Write the profile into the config file named in the
## Pluginspreamble;
mark the first profile default: true.
- Verify with a cheap read-only call:
datus airflow version(checks
connectivity + auth), then datus airflow dags list --limit 5.
- If deployment is configured, optionally verify with
datus airflow dags deploy <some-dag>.py --dry-run.
If this environment cannot edit the config file (API / web deployment), tell the user to edit agent.yml on the server instead.
Scoping a profile
Offer these when one environment should only serve one team or project:
dag_id_prefix— commands taking adag_idrefuse ids outside the prefix
before any request; DAG listings are filtered to it. assets materialize and backfill pause|unpause|cancel become unavailable (no dag_id to check).
allow_commands— allowlist of top-level groups, e.g.dags,tasks,version.
Group level only; dags list is a config error, write dags.
Both appear in the system prompt per environment, so the agent knows the boundary without probing for it.
Be explicit with the user that this is a guardrail against mistakes, not a security boundary — anyone who can edit agent.yml or reach the Airflow API bypasses it. Real multi-tenancy needs server-side enforcement (DAG-level RBAC via FabAuthManager, or Airflow 3.2+ [core] multi_team), plus a separate Airflow user per profile so the server also limits what the token can do. Note that variables, connections and pools are instance-wide and cannot be prefix-scoped at all — leave them out of allow_commands if that matters.
Troubleshooting
login failed at .../auth/token (HTTP 404)— the server has no token
endpoint, which usually means Airflow 2.x: set api_version: v1. If it is Airflow 3 with the endpoint elsewhere, set auth_token_url. HTTP 401/403 there means wrong username/password.
cannot detect the Airflow REST API version— neither version endpoint
answered (proxy path prefix, wrong URL); fix api_base_url or set api_version explicitly. An auth proxy that answers 401 on every path makes auto pick v2 even for Airflow 2 — set api_version: v1 there.
TLS verification failed— setverify_sslto the CA bundle path, or
false as a last resort.
- 403 on
configcommands — server needsAIRFLOW__API__EXPOSE_CONFIG=True. - 403/error on
connections test— server needs
AIRFLOW__CORE__TEST_CONNECTION=Enabled.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdatus-airflow-plugin/datus_airflow_plugin/skills/airflow-setup/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/datus-ai/datus-plugins/airflow-setup)