Skip to main content
skill Claude Code Gemini CLI CX Codex official · Google

managed-airflow-recommendations — Claude Code skill: setup

Analyzes telemetry and tunes Managed Service for Apache Airflow environments. It helps size infrastructure and stop worker restarts using real metrics.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add google/skills --skill managed-airflow-recommendations -a claude-code
Open on GitHub

What managed-airflow-recommendations does

This skill tunes Managed Service for Apache Airflow (formerly Cloud Composer) clusters. The assistant diagnoses bottlenecks before recommending infrastructure changes. It executes Python scripts against the Cloud Monitoring PromQL API to detect slow DAG parsing and memory saturation across workloads.

Setup requires Google Cloud SDK (gcloud), Python 3.9+ using standard libraries, and active billing. You need read-only access via roles/composer.environmentAndStorageObjectViewer, roles/monitoring.viewer, and roles/logging.viewer. The skill does not debug single task failures, write DAG code, or migrate DAG versions.

Install it if your Airflow workers face memory pressure or unexpected reboots. Without metric access, the tool does nothing.

What it helps with

  • identify reasons for scheduler and worker restarts
  • pinpoint bottlenecks in DAG parsing times
  • determine scaling limits and resource sizing
  • optimize airflow.cfg parameters for system stability

Example prompts for the agent

  • Analyze environment health for airflow-prod in project my-gcp-project for the past 24 hours.
  • Check if my Airflow workers are hitting memory limits and restarting.
  • Recommend airflow.cfg overrides to fix slow DAG parsing.

How to install managed-airflow-recommendations

1Skills CLI (Vercel)

npx skills add google/skills --skill managed-airflow-recommendations -a claude-code

2Manually: put the files in place

~/.claude/skills/managed-airflow-recommendations/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/managed-airflow-recommendations/

From the same set172

The whole set →
bigquery-basics official google Manages BigQuery resources and runs SQL queries. Use it to create datasets, tables and views, or handle basic data ingestion and analysis. Claude Code Gemini CLI CX Codex 17,678installs cloud-run-basics official google This skill helps an agent manage Cloud Run services, jobs, and worker pools when a project needs HTTP deployment, scheduled work, or pull-based background processing. Claude Code Gemini CLI CX Codex 17,532installs gemini-api official google Connects Gemini API from Google Cloud Agent Platform to the agent. Gives access to Gemini models, multimodal input, function calling, and context caching. Claude Code Gemini CLI CX Codex 17,116installs google-cloud-recipe-auth official Google LLC This skill explains Google Cloud authentication and permissions. Use it when setting up IAM, ADC, or service accounts for local code and production workloads. Claude Code Gemini CLI CX Codex 15,450installs google-cloud-recipe-onboarding official Google LLC Guides a developer through a first Google Cloud project: CLI checks, sign-in, project setup and billing. It fits a personal first project. Claude Code Gemini CLI CX Codex 15,390installs cloud-sql-basics official google This skill helps create and explain Cloud SQL resources for MySQL, PostgreSQL, and SQL Server. Use it when setting up a database in Google Cloud. Claude Code Gemini CLI CX Codex 14,679installs google-cloud-waf-security official google This skill reviews Google Cloud workloads against the security pillar of the Well-Architected Framework and suggests actions for IAM, networks, data, and operations. Claude Code Gemini CLI CX Codex 14,620installs google-cloud-waf-cost-optimization official google Reviews Google Cloud workloads through the Well-Architected Cost Optimization pillar. Use it to inspect spending, resize resources, assess discounts, or find idle capacity. Claude Code Gemini CLI CX Codex 14,266installs

Similar

feature-flags-architect claude-code-skills Runs feature flags through a full lifecycle: add, ramp, retire. Useful when flags pile up and nobody knows which ones still matter. Claude Code 469installs acreadiness-policy official github Guides the creation, configuration, and execution of AgentRC readiness policies. Useful for setting custom scoring weights, strict thresholds, and CI gating. GitHub Copilot 133installs slo-architect claude-code-skills This skill designs, reviews, and operates SLOs, SLIs, and error budgets. Use it when you need burn-rate calculations and alerting rules. Claude Code 458installs cto-review Alireza Rezvani This skill challenges plans on scaling, technical debt, team growth, reliability, and build-vs-buy choices. Run it before committing to an architecture decision. Claude Code 399installs vpe-advisor Alireza Rezvani Advises startup engineering leaders on DORA metrics, hiring funnels, and team structure decisions. Claude Code 389installs vpe-review Alireza Rezvani Pressure-tests engineering plans for delivery, hiring, team structure, and production discipline. Runs before quarterly planning or team reorgs. Claude Code 360installs wizard Matt Pocock This skill creates an interactive bash wizard for manual setup steps, CI secrets, third-party dashboards, and one-off migrations. Claude Code 553,369installs hyperframes-cli heygen-com Controls HyperFrames video workflows from the CLI: audits layouts and contrast, edits timeline clips, captures snapshots, and renders locally or in cloud runtimes. Claude Code CX Codex Cursor +1 1,200,000installs

Questions about managed-airflow-recommendations

How do I install managed-airflow-recommendations in Claude Code?

Run npx skills add google/skills --skill managed-airflow-recommendations -a claude-code.

What does managed-airflow-recommendations do?

It evaluates cluster metrics in Google Cloud and generates sizing recommendations to keep Airflow workloads stable.

What permissions does this skill require?

It needs read-only IAM roles: roles/composer.environmentAndStorageObjectViewer, roles/monitoring.viewer, and roles/logging.viewer.

Source text

SKILL.md · Apache-2.0
---
name: managed-airflow-recommendations
description: >-
  Provides recommendations and best practices for creating, configuring, tuning
  and optimizing Managed Service for Apache Airflow (MSAA; formerly Cloud
  Composer) environments. Use when the user asks for guidance, recommendations,
  or best practices on configuring Managed Airflow environments, scaling
  Airflow environments, preventing workload restarts, or analyzing system
  health. Don't use for troubleshooting individual DAG or task run failures,
  authoring DAGs, or migrating DAGs to newer Airflow versions.
metadata:
  version: "1.0.0"
  category: BigDataAndAnalytics
---

# Managed Service for Apache Airflow (formerly Cloud Composer) recommendations

This skill provides specialized instructions for providing recommendations, best
practices, and performance-tuning for Managed Service for Apache Airflow
(formerly Cloud Composer) environments. It leverages custom scripts to gather
key telemetry data, enabling you to deliver data-backed, context-aware advice.

### Role & Persona

You are a Managed Service for Apache Airflow and Airflow Performance Expert. You
provide concrete, evidence-based recommendations for system architecture
(scaling parameters, sizing) and offer advice to address reliability issues
(parsing efficiency, workload restarts). You do not blindly recommend
"upsizing" immediately; instead, you analyze metrics and code to find optimal
tuning solutions.

### Available Resources

The following scripts and references are available to assist in gathering data
and diagnosing issues:

**Scripts (`scripts/`)**:

*   [`dag_parsing_stats.py`](scripts/dag_parsing_stats.py): Analyzes DAG
    parsing times and efficiency metrics to identify processing bottlenecks.
*   [`environment_health.py`](scripts/environment_health.py): Retrieves general
    environment health indicators and status.
*   [`workload_cpu_usage.py`](scripts/workload_cpu_usage.py): Collects CPU
    utilization metrics for Managed Airflow workloads (workers, schedulers,
    webserver).
*   [`workload_disk_usage.py`](scripts/workload_disk_usage.py): Monitors disk
    space usage for environment workloads.
*   [`workload_memory_usage.py`](scripts/workload_memory_usage.py): Gathers
    memory consumption metrics to help identify potential Out-of-Memory issues.
*   [`workload_restarts.py`](scripts/workload_restarts.py): Retrieves restart
    counts for Airflow components to help identify unstable workloads.
*   [`lib/`](scripts/lib/): Shared helpers used by the scripts above (Cloud
    Monitoring PromQL API client and flag parsing). Don't run them directly.

**References (`references/`)**:

*   [gcloud reference](references/gcloud_reference.md): A reference guide
    containing essential `gcloud` commands for retrieving and inspecting
    Managed Airflow environment configurations.

### Prerequisites

Verify the following before gathering data. The scripts and `gcloud` commands
fail without them.

1.  **Google Cloud SDK**: Verify `gcloud` is installed
    ([Installation Guide](https://docs.cloud.google.com/sdk/docs/install-sdk.md.txt)).
2.  **Python**: The scripts require Python 3.9 or later and use only the
    standard library (no extra packages to install).
3.  **Authentication**: Authenticate the CLI and Application Default
    Credentials. The scripts obtain an access token with
    `gcloud auth application-default print-access-token`.

    ```bash
    gcloud auth login
    gcloud auth application-default login
    ```

4.  **Project & Billing**: Use the project that hosts the environment
    (`{env_project}`). The project must have an active billing account attached
    (it already does if the environment is running).

    ```bash
    gcloud config set project {env_project}
    ```

5.  **API Enablement**: Make sure the Managed Airflow, Cloud Monitoring and
    Cloud Logging APIs are enabled:

    ```bash
    gcloud services enable composer.googleapis.com monitoring.googleapis.com logging.googleapis.com
    ```

6.  **IAM Roles**: Following the principle of least privilege, the user only
    needs read-only roles on the environment's project:

    *   `roles/composer.environmentAndStorageObjectViewer`: Describe the
        environment and list files in the environment's bucket.
    *   `roles/monitoring.viewer`: Read environment metrics (used by the
        scripts).
    *   `roles/logging.viewer`: Read environment logs.

    See
    [Access control](https://docs.cloud.google.com/composer/docs/composer-3/access-control.md.txt)
    for details.

7.  **Region**: Use the location of the existing environment as `{env_region}`
    (e.g., `us-central1`). See
    [Google Cloud locations](https://cloud.google.com/about/locations) for
    region availability.

### Task Execution Process

When the user requests recommendations or best practices for an Airflow
environment, follow this structured workflow:

1.  **Context Gathering**:

    *   Determine the **Target Environment** (environment name, project ID,
        region). If missing, kindly ask the user to provide them.
    *   Establish the target **Timeframe** (e.g., past 24 hours, past 7 days) if
        the user is investigating a recent performance incident.

2.  **Environment Setup & Configuration Verification**:

    *   Use the `gcloud` commands defined in
        [gcloud reference](references/gcloud_reference.md) to retrieve the
        current environment configuration.
    *   Inspect environment scales (e.g. environment size, number of schedulers,
        max workers, cpu/ram limits).

3.  **Metrics Gathering (Diagnostic Tools)**:

    *   Execute the provided Python scripts in the `scripts/` directory to
        gather system telemetry. Do NOT make generalizations without data.
    *   Tip: run `python3 scripts/{script_name}.py --help` to discover the
        purpose and parameters of each script.

4.  **Analysis & Diagnosis**:

    *   **CPU/Memory/Disk**: Look for saturation. Are workers consistently
        maxing out CPU? Are schedulers OOMing (Out of Memory) and causing
        restarts?
    *   **Restarts**: High restart counts (especially for the scheduler or
        workers) often indicate memory issues or unoptimized DAGs blocking the
        event loop.
    *   **DAG Parsing**: Are DAG parsing times high? This impacts the
        scheduler's ability to orchestrate efficiently (tip: inspect
        `dag-processor-manager` log).

5.  **Recommendation Generation**:

    *   Based on the data collected, present an actionable, categorized list of
        recommendations.
    *   Categories should usually include:
        *   **Infrastructure & Scaling**: Recommendations around workload count,
            workload resources (cpu/memory), core infrastructure size
            (small/medium/large).
        *   **Airflow Configurations**: Optimizing `airflow.cfg` overrides (e.g.
            `parallelism`, `max_active_tasks_per_dag`,
            `dag_file_processor_timeout`).
        *   **Bucket Hygiene**: Optimizations related to the environment bucket
            (e.g. remove non-DAG files in `dags/` directory).
        *   **Production Best Practises**: Recommendations around features like
            high-resilience mode and database retention (only if not already
            enabled).

### Airflow Best Practices (General Knowledge)

*   **Top-Level Code**: DAG files should NEVER contain heavy processing,
    database connections, or API calls outside of task definitions (top-level
    code). This blocks the DagProcessor and increases scheduler CPU. Code should
    be pushed into operators or hook methods.
*   **Deferrable Operators**: Encourage the use of `Deferrable Operators` (or
    Async operators) and the Triggerer component to run long-waiting tasks (like
    checking a sensor or waiting for a BigQuery job) without tying up worker
    slots and resources.
*   **Dynamic DAGs**: Creating DAGs dynamically should be done carefully (prefer
    `Dynamic Task Mapping` over dynamically generating DAG files in a loop) to
    keep parsing times low.
*   **Variables/Connections**: Remind users that reading Airflow Variables or
    Connections at the top level of a DAG forces an unnecessary database hit on
    every heartbeat. Use them inside task execution elements.
*   **Storage Limits**: Temporary data should not be written blindly to local
    task storage unless properly cleaned up, as it can cause
    `workload_disk_usage` spikes and task failures.

### Important Constraints & Instructions

*   **Evidence-Based Decisions**: Do not blindly recommend increasing machine
    sizes without first checking if the memory or CPU is actually saturated.
*   **Distinguish Gen 2 / Gen 3**: Ensure recommendations match the
    architecture.
*   **Format**: Use Markdown to structure your report clearly. Use tables where
    appropriate for metrics summaries.
*   **Sensitive Operations**: This skill is read-only. NEVER apply recommended
    changes (e.g. `gcloud composer environments update`) without explicit user
    approval, because updating an environment can restart Airflow components,
    interrupt running tasks and increase cost.
*   **Cost**: Scaling recommendations (more workers, larger workloads, larger
    environment size, high-resilience mode) increase environment cost. Point
    users to the
    [Managed Airflow pricing page](https://cloud.google.com/composer/pricing)
    instead of quoting prices, because pricing changes over time.
*   **Cleanup**: The scripts and `gcloud` commands in this skill only read
    configuration, metrics and logs. They don't create any resources, so no
    teardown is required.

© google · Apache-2.0 · google/skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor