AGENT SKILL

managed-airflow-recommendations

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.

License 许可
Apache-2.0
所属仓库
google/skills
最近更新
2026-11-14
Stars
★ 2.4w
Forks
2.0k

01 前言 Front Matter

name
managed-airflow-recommendations
metadata
{ "version": "1.0.1", "category": "BigDataAndAnalytics" }
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.

02 资源文件 10

03 SKILL.md 正文

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.

Usage Attribution

MUST READ: Before executing any gcloud, REST API, or MCP command, you MUST read and follow the instructions in Usage Attribution.

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: Analyzes DAG parsing times and efficiency metrics to identify processing bottlenecks.
  • environment_health.py: Retrieves general environment health indicators and status.
  • workload_cpu_usage.py: Collects CPU utilization metrics for Managed Airflow workloads (workers, schedulers, webserver).
  • workload_disk_usage.py: Monitors disk space usage for environment workloads.
  • workload_memory_usage.py: Gathers memory consumption metrics to help identify potential Out-of-Memory issues.
  • workload_restarts.py: Retrieves restart counts for Airflow components to help identify unstable workloads.
  • 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: 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).

  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.

    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).

    gcloud config set project {env_project}
    
  5. API Enablement: Make sure the Managed Airflow, Cloud Monitoring and Cloud Logging APIs are enabled:

    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 for details.

  7. Region: Use the location of the existing environment as {env_region} (e.g., us-central1). See Google Cloud 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 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 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.

04 同仓库更多 Skills

google
google/skills

sign-in-with-google-web

Implement, configure, and secure Sign In With Google (SiwG) using Google Identity Services (GIS / `https://accounts.google.com/gsi/client`) across web architectures. Use when creating Google sign-in buttons, implementing Google One Tap with FedCM, integrating GIS in React/Next.js/Angular/HTML, verifying ID tokens on backend runtimes (Python/Node.js/Go/Java), enforcing Google Workspace domain restrictions (`hd`), securing client-side ID tokens via WebCrypto nonces or encrypted IndexedDB, embedding in cross-origin iframes via the Intermediate Iframe API (`https://accounts.google.com/gsi/intermediate`), configuring Content Security Policy (CSP), COOP, and Permissions Policy (`identity-credentials-get`) headers, or handling sign-out and revocation. Don't use for legacy Google Sign-In (`gapi.auth2`), Google Cloud IAM service accounts, or Android/iOS native Credential Manager.

前端开发后端与接口
★ 2.4w
google
google/skills

dpop-adoption

Implement and debug OAuth 2.0 DPoP (RFC 9449) refresh token sender-constraining for WebCrypto, Node.js ES6, and browser runtimes integrating with Google's OAuth platform. Use when configuring non-extractable asymmetric key pairs (P-256), generating DPoP Proof JWTs for authorization code exchange and token refresh, or handling 400 use_dpop_nonce challenge retry loops at oauth2.googleapis.com/token. Don't use for unconstrained OAuth 2.0 flows (where refresh tokens are not bound to a client key pair), or for Google Cloud IAM / service account authentication.

开发工程师后端与接口Skill与智能体开发
★ 2.4w
google
google/skills

retrieving-developer-knowledge

Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI/Gemini, Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms. Integrates with the Developer Knowledge MCP server (search_documents, get_documents, answer_query) or the Developer Knowledge REST API fallback. Use when searching for gcloud CLI commands, API syntax, IAM permissions, official documentation, architectural comparisons, or product choice overviews. Don't use for local filesystem lookups or non-Google documentation.

开发工程师后端与接口资料检索与研究
★ 2.4w
google
google/skills

migrate-to-rust

Clones, analyzes, plans, and migrates legacy codebases (C++, Fortran, Java, Python, C, Shell) from a GitHub URL or local directory to a modern, high-performance, deterministic, 100% Safe Rust architecture, tracking live telemetry across every task bucket, test failure/fix cycle, and Profile-Guided Optimization (PGO) stage, and producing a first-person AI storytelling report and interactive HTML infographic. Use when migrating a GitHub repository or local codebase to Rust, porting legacy C++, Fortran, Python, or Java workloads to memory-safe Rust, designing Struct-of-Arrays (SoA) or SIMD Rust architectures, or optimizing Rust ports with LLVM PGO. Don't use for unrelated non-Rust refactoring or single-line syntax questions.

★ 2.4w
google
google/skills

finding-google-skills

Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or setting up part of their stack, such as where to run a service, a database, storage, messaging, authentication, analytics, ads, or AI model serving, and a Google product is a reasonable candidate - whether or not a vendor is named - or when a request names a Google product or API. Brings in the matching Google skill so the answer can weigh Google options, their trade-offs, and when they are not the right fit. Skip when the stack is already settled on another provider and no Google product is named, or the task involves no platform choice.

开发工程师后端与接口Skill与智能体开发
★ 2.4w
google
google/skills

workload-manager-basics

Use this skill to manage Google Cloud Workload Manager evaluations, rules, scanned resources, and validation results by using public client libraries and the REST API. Use when you need to inspect workload best-practice rules, create and run evaluations for Google Cloud general best practices, SAP, SQL Server, or custom organizational rules, review violations, export results to BigQuery, or automate Workload Manager through client libraries because no service-specific public CLI or MCP server is available. Don't use for general Google Compute Engine instance management, VPC configuration, or standard IAM auditing.

后端与接口Skill与智能体开发
★ 2.4w