This is an automated email from the ASF dual-hosted git repository.

vincbeck pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 06f82b65d04 Tune prepare-providers-documentation skill classification 
and changelog rules (#69569)
06f82b65d04 is described below

commit 06f82b65d0474889b5e532e25ccb5fb25ff2bbac
Author: Vincent <[email protected]>
AuthorDate: Wed Jul 8 11:08:02 2026 -0400

    Tune prepare-providers-documentation skill classification and changelog 
rules (#69569)
---
 .../prepare-providers-documentation/SKILL.md       | 41 ++++++++++++++++++++--
 1 file changed, 38 insertions(+), 3 deletions(-)

diff --git a/.agents/skills/prepare-providers-documentation/SKILL.md 
b/.agents/skills/prepare-providers-documentation/SKILL.md
index c4838af4df3..5d2d595cf0e 100644
--- a/.agents/skills/prepare-providers-documentation/SKILL.md
+++ b/.agents/skills/prepare-providers-documentation/SKILL.md
@@ -245,6 +245,16 @@ ever need the min-Airflow-bump case (`v`), that one is 
still a `needs_llm`
 judgement: a sub-agent should flag it when a PR bumps the provider's minimum
 Airflow version.
 
+> [!NOTE]
+> A `needs_llm` commit can still be classified as `skip` by the LLM. The
+> deterministic classifier only catches test/example-only changes by looking
+> at which files were modified in the commit. PRs that change build tooling,
+> packaging infrastructure, or breeze templates (files under `dev/breeze/`,
+> `scripts/`, etc.) and only regenerate template-generated files in the
+> provider slice (e.g. `README.rst`, `index.rst`, `pyproject.toml`) are NOT
+> caught by the deterministic rules but should still be classified as `skip`
+> — they have zero user-facing impact on the provider package itself.
+
 #### Classify the `needs_llm` commits — batched per provider, not one agent 
per PR
 
 Only the commits the classifier returned as `needs_llm` still need a sub-agent.
@@ -292,9 +302,18 @@ For EACH commit above:
    - feature:       adds new capability, parameter, operator, sensor, hook,
                     or extends an existing one in a backwards-compatible way
    - breaking:      see "Breaking-change checklist" below
-   - misc:          dependency bumps, internal refactors, packaging-only
-                    changes, type-hint cleanups, no user-visible behavior
-   - skip:          only tests/examples/CI for this provider's slice
+   - misc:          dependency bumps, internal refactors, type-hint
+                    cleanups, no user-visible behavior
+   - skip:          only tests/examples/CI for this provider's slice,
+                    OR changes that only touch build tooling, packaging
+                    infrastructure, or template-generated files (e.g.
+                    README.rst, index.rst, pyproject.toml regeneration,
+                    flit/sdist config, breeze templates) — even when
+                    those files live under the provider path. If the
+                    PR's actual code changes are entirely in dev/breeze/
+                    or similar tooling and the provider-scoped diff is
+                    limited to regenerated docs/metadata, classify as
+                    skip.
    - min_airflow_bump: explicitly bumps the minimum Airflow version pin
 4. Set BREAKING_RISK to "maybe" whenever the diff has any signal from the
    breaking-change checklist below, even if you think the author intended
@@ -477,6 +496,14 @@ Rules:
   indent, double backticks).
 - Subjects must be the original commit subject with backticks replaced by
   single quotes (matches `message_without_backticks`). Don't paraphrase.
+- **Strip Conventional Commit prefixes** before writing to the changelog.
+  If the subject starts with a prefix like `feat:`, `fix:`, `chore:`,
+  `docs:`, `refactor:`, `ci:`, `test:`, `perf:`, `build:`, or `style:`
+  (with or without a scope in parentheses, e.g. `fix(amazon):`), remove
+  the prefix and capitalize the first letter of the remaining text.
+  Example: `refactor: Fix _is_http_client_closed ...` →
+  `Fix _is_http_client_closed ...`. Airflow does not use Conventional
+  Commits and these prefixes should not appear in changelogs.
 - Always keep the `(#NNNN)` PR suffix.
 
 #### 4c. Regenerate templates with breeze
@@ -544,6 +571,14 @@ provider-by-provider:
 
 - Confirm the version in `provider.yaml` matches the bump rule.
 - Confirm `changelog.rst` has the right sections populated.
+- **Check for misplaced top-level note blocks.** Each provider's
+  `changelog.rst` has a standing `.. NOTE TO CONTRIBUTORS:` RST comment
+  near the top (above all version sections). If you detect any `.. note::`
+  directive that is NOT nested under a specific version section (i.e. it
+  appears before the first version header, or between the `Changelog`
+  heading and the first version), notify the release manager immediately —
+  it likely means a breaking-change or min-version note was accidentally
+  written at the wrong indentation level or position.
 - Confirm Phase 4d ran: no `# use next version` comment remains where the
   referenced provider was bumped in this wave.
 - Flag anything where Phase 3.5 had to escalate, so the RM can double-check.

Reply via email to