Skip to content

Make prepare-providers-documentation skill rewrite changelog entries for quality#68663

Open
shahar1 wants to merge 2 commits into
apache:mainfrom
shahar1:improve-prepare-providers-doc-skill
Open

Make prepare-providers-documentation skill rewrite changelog entries for quality#68663
shahar1 wants to merge 2 commits into
apache:mainfrom
shahar1:improve-prepare-providers-doc-skill

Conversation

@shahar1

@shahar1 shahar1 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

The AI-driven prepare-providers-documentation skill instructed the release manager to copy each commit subject verbatim into the changelog ("Subjects must be the original commit subject ... Don't paraphrase"). In practice that produced low-quality entries that reviewers had to fix by hand during the 2026-06-16 provider wave:

  • uninformative wording (Add missing template_fields to FooOperator, fix the ftp tls),
  • Conventional-Commit / scope prefixes (fix:, docs:, refactor:, fix(test_wasb.py):),
  • lowercase starts and non-imperative mood (made ... to run, Renaming ...),
  • raw dependency/dependabot phrasing instead of the actual version (Bump aiohttp regarding dependabot warning),
  • test-file references in user-facing notes,
  • non-user-facing CI / JS build-tooling bumps surfaced in visible sections,
  • providers released with no user-facing change.

This replaces the "don't paraphrase" rule with explicit entry-wording rules (capitalized, imperative, no prefixes, specific, dependency bumps pinned to the version read from pyproject.toml, Airflow-core compatibility notes), a "what is not user-facing → hidden block" section (CI/workflow-only changes, release-tooling bookkeeping, JS build/dev tooling, comment-only changes, internal renames), and an instruction to drop a provider to doc-only (no release) when nothing user-facing remains.

Classification itself is now done deterministically by the classify-provider-changes breeze command (added in #68215), so this guidance is layered on top of the classifier's output: the classifier picks the code; the skill still owns the entry text and visibility (which misc-classified bumps belong in the hidden block).

Per review (thanks @eladkal): a runtime dependency bump is user-facing — and stays a visible entry with its version — even when the trigger was a CI failure, a dependabot alert, or a CVE / security advisory (common for fab / edge3). Only workflow-only and dev/build-tooling changes are hidden. Release-tooling bookkeeping commits (Prepare providers release ...) are always internal and hidden.

Documentation/tooling-only change to the skill; no runtime Airflow code is affected.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 4.8)

Generated-by: Claude Code (Opus 4.8) following the guidelines

@shahar1
shahar1 requested review from eladkal and potiuk June 17, 2026 08:46
Comment thread .agents/skills/prepare-providers-documentation/SKILL.md Outdated
Comment thread .agents/skills/prepare-providers-documentation/SKILL.md Outdated
…for quality

The skill instructed the release manager to copy each commit subject verbatim
into the changelog. In practice that produced low-quality entries reviewers had
to fix by hand: uninformative wording, Conventional-Commit/scope prefixes,
lowercase/non-imperative mood, raw dependabot phrasing, test-file references,
non-user-facing CI/JS build-tooling bumps in visible sections, and providers
released with no user-facing change.

Replace the "don't paraphrase" rule with explicit entry-wording rules, a
"what is not user-facing -> hidden block" section, and an instruction to drop a
provider to doc-only when nothing user-facing remains.

A runtime dependency bump (e.g. fab/edge3) is user-facing even when triggered
by CI, dependabot, or a CVE/security advisory, so it must not be auto-skipped;
only workflow-only and dev/build tooling changes are skippable. Release-tooling
bookkeeping commits are classified as hidden.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@shahar1
shahar1 force-pushed the improve-prepare-providers-doc-skill branch from a334d5d to f4f9591 Compare June 17, 2026 21:00
@shahar1
shahar1 requested review from amoghrajesh and eladkal June 17, 2026 21:15
@shahar1 shahar1 added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Jun 23, 2026
@nailo2c

nailo2c commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

LGTM 😄

@SameerMesiah97 SameerMesiah97 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I must admit that I am not familiar with using SKILLs to tune these Agentic systems (is that the correct classification?) so I am not sure how to ascertain the sensitivity of these tools to differences in prompt structure and wording (though I have noticed being as specific as possible improves the quality of response so I like that you have named the tools to be used).

There is one concern that I have about having AI re-write changelog entries. Isn't there a risk that encouraging the model to rewrite subjects rather than staying close to the original increases the chance of hallucinating behaviour? Maybe it is better to have a slightly rough but accurate entry than a polished one that invents details. I imagine rough entries are easier to spot and manually correct vs trying to ascertain whether an entry is factually correct during a busy release cycle.

Rewriting commit subjects for quality risks a polished entry that adds
detail the actual change doesn't support, which is harder to catch than a
rough-but-accurate one during a release. Anchor rewrites to the diff already
read during classification and make accuracy outrank polish.

Generated-by: Claude Code (Opus 4.8)
@shahar1

shahar1 commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

I must admit that I am not familiar with using SKILLs to tune these Agentic systems (is that the correct classification?) so I am not sure how to ascertain the sensitivity of these tools to differences in prompt structure and wording (though I have noticed being as specific as possible improves the quality of response so I like that you have named the tools to be used).

There is one concern that I have about having AI re-write changelog entries. Isn't there a risk that encouraging the model to rewrite subjects rather than staying close to the original increases the chance of hallucinating behaviour? Maybe it is better to have a slightly rough but accurate entry than a polished one that invents details. I imagine rough entries are easier to spot and manually correct vs trying to ascertain whether an entry is factually correct during a busy release cycle.

Good call, tried to refine the instruction so it would also ground it using the diff - when having it in context, it should hallucinate less.
I hope that it's better now :)

@SameerMesiah97

Copy link
Copy Markdown
Contributor

I must admit that I am not familiar with using SKILLs to tune these Agentic systems (is that the correct classification?) so I am not sure how to ascertain the sensitivity of these tools to differences in prompt structure and wording (though I have noticed being as specific as possible improves the quality of response so I like that you have named the tools to be used).
There is one concern that I have about having AI re-write changelog entries. Isn't there a risk that encouraging the model to rewrite subjects rather than staying close to the original increases the chance of hallucinating behaviour? Maybe it is better to have a slightly rough but accurate entry than a polished one that invents details. I imagine rough entries are easier to spot and manually correct vs trying to ascertain whether an entry is factually correct during a busy release cycle.

Good call, tried to refine the instruction so it would also ground it using the diff - when having it in context, it should hallucinate less. I hope that it's better now :)

Yes. I agree with the refinement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants