La interfaz está localizada; las descripciones y documentos de las Skills se traducen automáticamente con IA a su idioma. El código, los comandos, rutas y términos técnicos se mantienen en el original, y prevalece el documento del autor.
Explorar Skills
Datos e investigación · SKILL.md

providers-extensions

providers-extensions

Work with Airflow providers, standard operators/sensors/hooks, custom extensions, provider metadata, and provider package maintenance conventions.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentación de la Skill

GitHub

name: providers-extensions description: "Work with Airflow providers, standard operators/sensors/hooks, custom extensions, provider metadata, and provider package maintenance conventions." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

Providers and Extensions

Use this sub-skill when a task involves Airflow providers or extension points: selecting provider packages/extras, importing standard operators/sensors/hooks in Dags, writing custom operators/hooks/sensors, registering plugins/listeners/timetables/notifiers/extra links, or maintaining provider package metadata.

Route First

  • For general Dag authoring, TaskFlow, task mapping, assets, schedules, or airflow.sdk basics, use ../authoring-task-sdk/ first and return here only for provider-specific imports or extension classes.
  • For CLI, Breeze, CI, release preparation, or broad provider-release classification workflows, use ../contribution-tooling/; this sub-skill only covers the provider files and safe metadata checks needed during ordinary development.
  • For REST API, web UI internals, scheduler, executor, Helm, Docker, or deployment behavior, use the corresponding sibling sub-skill rather than treating providers as a catch-all.
  • For cloud-service-specific APIs, prefer the relevant provider’s own documentation or source; this sub-skill covers Airflow provider conventions and the standard provider patterns, not deep SDK behavior for every integration.

What To Read

  • references/provider-api-patterns.md for public extension boundaries, standard provider imports, operator/sensor/hook patterns, package naming, extras, and provider entry points.
  • references/extension-workflows.md for recipes for custom operators, hooks, sensors, plugins, listeners, timetables, notifiers, extra links, and provider-package tests.
  • references/provider-metadata.md for provider.yaml, get_provider_info, pyproject.toml, generated-file cautions, docs/changelog rules, and the bundled checker.
  • references/troubleshooting.md for missing provider packages, import errors, connection IDs, deferrable trigger dependencies, generated-file mistakes, and docs/changelog pitfalls.

Fast Guidance

  • Install/import provider-specific code explicitly. Airflow core does not guarantee that every provider is installed; standard operators such as BashOperator and FileSensor live in apache-airflow-providers-standard.
  • Use public bases for new runtime code: airflow.sdk.BaseOperator, airflow.sdk.BaseSensorOperator, airflow.sdk.BaseHook, airflow.sdk.BaseNotifier, airflow.sdk.BaseOperatorLink, and documented plugin/listener/timetable APIs.
  • Keep expensive work out of operator constructors. Resolve hooks, connections, network clients, and service jobs inside execute, poke, trigger code, or helper methods called from execution.
  • Treat provider.yaml as the human-edited source for provider metadata. get_provider_info.py, provider docs indexes, and most provider pyproject.toml content are generated; edit only the preserved dependency sections unless the generation workflow says otherwise.
  • Before touching provider metadata, run scripts/check_provider_metadata.py --provider-dir <provider-dir> against the provider directory you are editing and fix reported errors before relying on generated files.

Done Criteria

A provider/extension change is ready when imports come from installed provider packages, custom classes use public extension points, metadata and entry points agree, generated files are not hand-edited incorrectly, and tests cover the changed operator/hook/sensor/plugin behavior without depending on external services unless explicitly mocked or isolated.

Skills guardadas