potiuk opened a new pull request, #66319: URL: https://github.com/apache/airflow/pull/66319
## Summary Apache Airflow becomes an adopter of the [`apache/airflow-steward`](https://github.com/apache/airflow-steward) framework using the **snapshot + agentic-overrides** adoption mechanism. The previous in-repo PR-skill copies (`pr-triage`, `pr-stats`, `maintainer-review`) are replaced by the framework's renamed `pr-management-*` family delivered through the framework. This supersedes the closed [#66283](https://github.com/apache/airflow/pull/66283), which used a git-submodule design that we ultimately rejected. ## How adoption works The framework lives in a **gitignored** `.apache-steward/` directory in this repo, refreshed by the framework's own `setup-steward` skill. The only framework artefact this PR commits is that bootstrap skill itself — at `.github/skills/setup-steward/` (matching airflow's existing `.claude/skills/<n>` → `.github/skills/<n>/` double-symlink convention). On a fresh clone, the framework's other skills are not yet on disk. To populate them: ```bash # tell your agent: "adopt apache-steward in this repo" # OR invoke /setup-steward directly ``` The `setup-steward` skill then: - Downloads the framework into `.apache-steward/` (gitignored, refreshed via `/setup-steward upgrade`). - Creates gitignored symlinks under `.github/skills/<framework-skill>/` → `.apache-steward/.claude/skills/<framework-skill>/`. - Wires up matching gitignored symlinks under `.claude/skills/` so Claude Code picks them up. - Recreates everything if a worktree is checked out off this repo (post-checkout hook). ## What lands committed | File | Purpose | |---|---| | `.github/skills/setup-steward/` (+ `.claude/skills/setup-steward` symlink) | The bootstrap skill — the only framework artefact this repo commits. | | `.gitignore` | Gitignore `.apache-steward/`, the runtime framework symlinks; remove old in-repo skill exemptions; add `setup-steward` exemption. | | `.apache-steward.lock` | Pins the snapshot to commit `84852ca1a0…`. Updated by `/setup-steward upgrade`. | | `.apache-steward-overrides/README.md` | Override-directory scaffold. Adopter-specific deviations live here. | | `.markdownlintignore` | Skip the framework's skill files (they follow the framework's markdownlint conventions; already linted upstream). | | `CLAUDE.md` (= `AGENTS.md`) | Short adoption note explaining the bootstrap flow. | | `contributing-docs/25_maintainer_pr_triage.md` | Top-of-doc notice that skills now live in the framework + path updates `pr-triage` → `pr-management-triage` etc. | ## What got deleted - `.github/skills/pr-triage/`, `.github/skills/pr-stats/`, `.github/skills/maintainer-review/` — replaced by `pr-management-{triage,stats,code-review}` from the framework. - The corresponding `.claude/skills/` symlinks. ## What stays untouched - `.github/skills/aip-user-stories/`, `.github/skills/airflow-translations/`, `.github/skills/prepare-providers-documentation/` — airflow-only skills that don't migrate to the framework. - The `.claude/skills/aip-user-stories` symlink. ## Test plan - [x] `prek run` passes locally (markdownlint, codespell, license-header, …) - [x] `setup-steward` skill registers in Claude Code's available-skills (live discovery picks it up) - [x] `.gitignore` correctly ignores `.apache-steward/` and the gitignored symlinks - [ ] Reviewer runs `/setup-steward` against a fresh clone of this branch to verify the end-to-end adoption flow - [ ] Reviewer eyeballs the deletion of pr-triage/pr-stats/maintainer-review for any in-repo references not covered by the contributing-docs path update - [ ] CI passes ## Out of scope - Deeper rewrite of `contributing-docs/25_maintainer_pr_triage.md` to reflect the framework's `pr-management-*` skill structure (steps, decision tables, etc.). This PR does the path renames + top-of-doc notice; a follow-up can do the substantive update once maintainers have run `/setup-steward` and read the new framework's skill files. - Re-adopting the security-issue handling family (those skills run from the private `apache/airflow-s` security tracker, not from this public upstream). 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
