setting-up-astro-project

Initialize and configure Astro/Airflow projects with dependencies, connections, and environment setup. Scaffolds complete project structure with astro dev init , including directories for DAGs, plugins, tests, and configuration files Manage Python and OS-level dependencies via requirements.txt and packages.txt , with custom Dockerfile support for complex setups Configure connections, variables, and pools declaratively in airflow_settings.yaml , with export/import commands for environment management Validate DAG syntax before running the environment using astro dev parse to catch errors early

INSTALLATION
npx skills add https://github.com/astronomer/agents --skill setting-up-astro-project
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$2a

Creates this structure:

project/

├── dags/                # DAG files

├── include/             # SQL, configs, supporting files

├── plugins/             # Custom Airflow plugins

├── tests/               # Unit tests

├── Dockerfile           # Image customization

├── packages.txt         # OS-level packages

├── requirements.txt     # Python packages

└── airflow_settings.yaml # Connections, variables, pools

Adding Dependencies

Python Packages (requirements.txt)

apache-airflow-providers-snowflake==5.3.0

pandas==2.1.0

requests>=2.28.0

OS Packages (packages.txt)

gcc

libpq-dev

Custom Dockerfile

For complex setups (private PyPI, custom scripts):

FROM quay.io/astronomer/astro-runtime:12.4.0

RUN pip install --extra-index-url https://pypi.example.com/simple my-package

After modifying dependencies: Run astro dev restart

Configuring Connections & Variables

airflow_settings.yaml

Loaded automatically on environment start:

airflow:

  connections:

    - conn_id: my_postgres

      conn_type: postgres

      host: host.docker.internal

      port: 5432

      login: user

      password: pass

      schema: mydb

  variables:

    - variable_name: env

      variable_value: dev

  pools:

    - pool_name: limited_pool

      pool_slot: 5

Export/Import

# Export from running environment

astro dev object export --connections --file connections.yaml

# Import to environment

astro dev object import --connections --file connections.yaml

Validate Before Running

Parse DAGs to catch errors without starting the full environment:

astro dev parse

Related Skills

  • managing-astro-local-env: Start, stop, and troubleshoot the local environment
  • authoring-dags: Write and validate DAGs (uses MCP tools)
  • testing-dags: Test DAGs (uses MCP tools)
  • deploying-airflow: Deploy DAGs to production (Astro, Docker Compose, Kubernetes)
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card