Skip to content

Add AI-driven prepare-providers-documentation skill#65882

Merged
potiuk merged 2 commits intoapache:mainfrom
potiuk:worktree-piped-watching-treehouse
Apr 30, 2026
Merged

Add AI-driven prepare-providers-documentation skill#65882
potiuk merged 2 commits intoapache:mainfrom
potiuk:worktree-piped-watching-treehouse

Conversation

@potiuk
Copy link
Copy Markdown
Member

@potiuk potiuk commented Apr 26, 2026

Summary

Adds a Claude Code skill at .github/skills/prepare-providers-documentation/
that replaces the manual commit-by-commit classification step in breeze release-management prepare-provider-documentation with AI-driven analysis.
For each provider with pending changes, the skill spawns a sub-agent per PR
that reads the actual diff (not just the title or labels), applies an
explicit breaking-change checklist, scopes multi-provider PRs to the
current provider's slice, and escalates to the release manager only when
uncertain or when a major bump is at stake.

The skill covers both flows of the regular release cycle:

  • Initial run — classify everything from scratch (Phases 1–5).
  • Incremental update — fold in commits that landed during PR review by
    diffing PR numbers against the existing changelog, classifying only the
    new commits, and explicitly confirming any version-bump escalation.

The skill keeps breeze as the source of truth for template generation:
provider.yaml and changelog.rst are written directly by the skill,
everything else (__init__.py, README.rst, pyproject.toml, conf.py,
get_provider_info.py, index.rst) is regenerated by breeze release-management prepare-provider-documentation --reapply-templates-only.
The interactive breeze command remains documented as a fallback for
non–Claude Code users or low-confidence cases.

Changes

  • .github/skills/prepare-providers-documentation/SKILL.md — new skill
    (5-phase initial flow + Incremental Update section + cross-cutting
    rules + references).
  • .pre-commit-config.yaml — extends the existing airflow-translations
    exemption in the agentic-Markdown insert-license hook so the SPDX header
    isn't auto-prepended above the YAML frontmatter.
  • dev/README_RELEASE_PROVIDERS.md — release manager workflow now leads
    with the skill for both initial classification and incremental updates;
    interactive breeze stays documented as a fallback. Includes a one-time
    symlink setup snippet for the local .claude/skills/ discovery path
    (since .claude/ is gitignored).

Test plan

  • prek run --from-ref upstream/main --hook-stage pre-commit passes for the changed files
  • prek run --from-ref upstream/main --hook-stage manual passes for the changed files
  • SKILL.md frontmatter is on line 1 (parses cleanly as YAML)
  • Symlink .claude/skills/prepare-providers-documentation resolves to ../../.github/skills/prepare-providers-documentation/SKILL.md
  • Reviewers: spot-check the skill workflow on the next provider release cycle and report friction in a follow-up

Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 4.7, 1M context)

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

@boring-cyborg boring-cyborg Bot added area:dev-tools backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch labels Apr 26, 2026
@potiuk potiuk requested a review from eladkal April 26, 2026 17:04
@potiuk
Copy link
Copy Markdown
Member Author

potiuk commented Apr 26, 2026

cc: @eladkal

Comment thread .github/skills/prepare-providers-documentation/SKILL.md Outdated
Comment thread .github/skills/prepare-providers-documentation/SKILL.md Outdated
Comment thread dev/README_RELEASE_PROVIDERS.md Outdated
Copy link
Copy Markdown
Contributor

@jscheffl jscheffl left a comment

Choose a reason for hiding this comment

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

Sounds all very interesting, this classicifation is really a hard step in each providers wave.

@potiuk potiuk force-pushed the worktree-piped-watching-treehouse branch from 669230c to f53a128 Compare April 28, 2026 00:45
@potiuk
Copy link
Copy Markdown
Member Author

potiuk commented Apr 30, 2026

🙏 -> I would love to merge it and test ...

potiuk added 2 commits April 30, 2026 20:05
Add a Claude Code skill that replaces the manual commit-by-commit
classification step in `breeze release-management
prepare-provider-documentation` with AI-driven analysis. The skill
inspects every PR using sub-agents, scopes multi-provider PRs to the
current provider's slice, applies an explicit breaking-change checklist
against the actual diff, asks the release manager only when uncertain,
and covers both the initial classification and the rebase-time
incremental update flow.

Auto-generated build files are still regenerated by breeze under the
hood, so the skill stays consistent with existing release tooling. The
interactive breeze command remains documented as a fallback.
- Scope breaking-change checklist's "public symbol removed/renamed" rule
  to the actual public-interface paths (hooks, operators, sensors,
  triggers, notifications, decorators, executors, top-level package, and
  anything referenced from provider.yaml) so internal helpers like
  utils/, _internal/, or pod_manager.py don't auto-trigger BREAKING_RISK.
- Extend "schema change in stored data" rule to cover the serialized
  state/context of BaseTrigger subclasses, so changes that would break
  deferred tasks running across a provider upgrade are flagged.
- Document prerequisites in dev/README_RELEASE_PROVIDERS.md: the skill
  needs an agentic coding framework with the GitHub MCP server
  configured. Show install steps for Claude Code and OpenAI Codex CLI.
- Generalise README references so the skill is presented as
  framework-neutral (loaded by Claude Code, OpenAI Codex CLI, or any
  MCP-compatible client that discovers SKILL.md from .claude/skills/),
  rather than Claude Code-exclusive.
@potiuk potiuk force-pushed the worktree-piped-watching-treehouse branch from f53a128 to cba285d Compare April 30, 2026 18:07
Copy link
Copy Markdown
Contributor

@vincbeck vincbeck left a comment

Choose a reason for hiding this comment

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

No major concern. The skill is huge though so I might have missed some things. Happy to test it at the next provider release next week :)

@potiuk
Copy link
Copy Markdown
Member Author

potiuk commented Apr 30, 2026

No major concern. The skill is huge though so I might have missed some things. Happy to test it at the next provider release next week :)

I will do a dry-run before :)

@potiuk potiuk merged commit 1b3bf55 into apache:main Apr 30, 2026
38 checks passed
@potiuk potiuk deleted the worktree-piped-watching-treehouse branch April 30, 2026 18:19
@github-actions
Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-2-test PR Link

potiuk added a commit that referenced this pull request May 1, 2026
…) (#66169)

* Add AI-driven prepare-providers-documentation skill

Add a Claude Code skill that replaces the manual commit-by-commit
classification step in `breeze release-management
prepare-provider-documentation` with AI-driven analysis. The skill
inspects every PR using sub-agents, scopes multi-provider PRs to the
current provider's slice, applies an explicit breaking-change checklist
against the actual diff, asks the release manager only when uncertain,
and covers both the initial classification and the rebase-time
incremental update flow.

Auto-generated build files are still regenerated by breeze under the
hood, so the skill stays consistent with existing release tooling. The
interactive breeze command remains documented as a fallback.

* Address review feedback on prepare-providers-documentation skill

- Scope breaking-change checklist's "public symbol removed/renamed" rule
  to the actual public-interface paths (hooks, operators, sensors,
  triggers, notifications, decorators, executors, top-level package, and
  anything referenced from provider.yaml) so internal helpers like
  utils/, _internal/, or pod_manager.py don't auto-trigger BREAKING_RISK.
- Extend "schema change in stored data" rule to cover the serialized
  state/context of BaseTrigger subclasses, so changes that would break
  deferred tasks running across a provider upgrade are flagged.
- Document prerequisites in dev/README_RELEASE_PROVIDERS.md: the skill
  needs an agentic coding framework with the GitHub MCP server
  configured. Show install steps for Claude Code and OpenAI Codex CLI.
- Generalise README references so the skill is presented as
  framework-neutral (loaded by Claude Code, OpenAI Codex CLI, or any
  MCP-compatible client that discovers SKILL.md from .claude/skills/),
  rather than Claude Code-exclusive.
(cherry picked from commit 1b3bf55)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants