Skip to content

Add cluster-policies skill - #262

Open
odaneau-astro wants to merge 3 commits into
mainfrom
skill/cluster-policies
Open

Add cluster-policies skill#262
odaneau-astro wants to merge 3 commits into
mainfrom
skill/cluster-policies

Conversation

@odaneau-astro

@odaneau-astro odaneau-astro commented Sep 3, 2026

Copy link
Copy Markdown

Summary

  • Adds a skill for Airflow cluster policies (dag_policy, task_policy, task_instance_mutation_hook, pod_mutation_hook) covering hook selection, safety-critical rules (no blocking I/O), and testing.

Test plan

  • Verify cluster policies on a real Airflow install

odaneau-astro and others added 3 commits September 2, 2026 22:25
Documents the four Airflow cluster policy hooks (dag_policy, task_policy,
task_instance_mutation_hook, pod_mutation_hook), both implementation paths
(airflow_local_settings.py vs. a shared @hookimpl plugin/entry point), and
the two production-safety rules that matter most: no blocking I/O in a
policy function, and always log/document what a policy mutates.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Fixes a cross-reference pointing at the wrong step number and applies
the Astronomer style guide plus a pass to remove AI-writing tells (em
dashes, hollow intensifiers).
jl-simplify pass across all 6 review dimensions: fixes a map_index
is-not-None check that was dead code (Airflow sets -1, never None, for
unmapped instances), relocates the misplaced "Import hygiene" note
into an inline comment where the pattern is actually shown, corrects
a Related-skills entry that falsely implied airflow-plugins covers
setuptools entry points, trims an overstated cross-reference (af
registry/af api were never used) and 3 of 5 near-duplicate
"verify your version" repetitions, tags an untagged code fence, and
fixes 3 style-guide "directory" -> "folder" violations.

Also manually followed Step 3's canonical example end to end: dropped
it into config/airflow_local_settings.py per Step 7a, ran astro dev
init/start against Astro Runtime 3.3-7, and confirmed both dag_policy
(rejects a catchup/max_active_runs violation, and the stock example
DAG for its missing owner tag) and task_policy (routes a deferrable
task's queue, confirmed on the live task object) work exactly as
documented.
@odaneau-astro
odaneau-astro marked this pull request as ready for review September 5, 2026 14:39
@odaneau-astro
odaneau-astro requested a review from a team September 5, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant