**WORKFLOW SKILL** — Prepares Azure.ResourceManager SDK refresh pull requests in azure-sdk-for-net. WHEN: \"prepare sdk refresh\", \"refresh Azure.ResourceManager package\", \"update ARM SDK from autorest tag\", \"refresh changelog dependencies\". INVOKES: git and GitHub pull request tools for branch, commit, push, and PR creation. FOR SINGLE OPERATIONS: Use git or GitHub tools directly.
1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
6033
stars on the repo
on the repository, not the skill itself
Install
one command, takes just this skill from the repository
Activate only when the user wants an Azure.ResourceManager package refresh PR driven by API-version/tag resolution and dependency/changelog refresh updates.
Scope Boundaries
Use this skill only for refresh-style updates (for example regenerated surface alignment, changelog maintenance, dependency version refresh, and refresh PR creation).
Do not use this skill for broad or feature-driven package releases, release planning across multiple packages, or non-refresh release orchestration.
Prerequisites
Repository: azure-sdk-for-net
Target package path is known, for example sdk/dns/Azure.ResourceManager.Dns
Access to remote origin and GitHub PR creation
Current date available in yyyy-mm-dd format
Workflow
Step 1: Create Branch
Fetch latest origin/main.
Create a new branch from origin/main.
Use a branch name that identifies package and date.
Step 2: Eligibility Check — Skip Conditions
Before doing any further work on a package, check the CHANGELOG.md and skip the package (do not refresh it) if either of the following is true:
Already released: The latest changelog entry does NOT contain (Unreleased) — it already has a release date (e.g., ## 1.2.0 (2026-04-17)). This means a release was already prepared and no new (Unreleased) entry exists to stamp.
Dependencies already up to date: Any changelog entry (across all released versions, not just the latest) already contains upgrade lines for both the current Azure.Core and Azure.ResourceManager versions (resolved from eng/centralpackagemanagement/Directory.Packages.props). If these exact versions were already shipped in any prior release, adding them again provides no value, so skip.
When skipping a package, log it clearly as SKIPPED with the reason, and move on to the next package in the batch.
Step 3: Determine API Version Source in Order
Check metadata.json in the package root.
If present, use apiVersions value.
If metadata.json is missing, check src/autorest.md for an uncommented tag.
If tag is missing there, use the require value in src/autorest.md to open the referenced readme.md and read tag under Basic Information.
Step 4: Decide SDK Versioning Mode
If API version source indicates preview, use beta flow.
Otherwise use stable flow.
Step 5: Update CHANGELOG.md
Confirm the newest heading exists and has the latest package version.
During release finalization, replace Unreleased with current date using yyyy-mm-dd.
For stable flow only, determine the new stable version using this logic:
Find the latest released version in the CHANGELOG — the first entry that does NOT have (Unreleased).
If the latest released version is stable (e.g., 1.1.1): increment its patch to get the new version (e.g., 1.1.2).
If the latest released version is beta (e.g., 1.1.0-beta.7): strip the pre-release suffix to get the new version (e.g., 1.1.0). This handles promotion when the most recent work was done as beta.
If no released version exists at all (every entry is Unreleased or the changelog is empty): use 1.0.0.
Update the unreleased entry's heading to reflect the new stable version.
Remove empty sections under the latest entry when present:
Features Added
Breaking Changes
Bugs Fixed
Under Other Changes, add:
Upgraded dependent Azure.Core to 1.X.X.
Upgraded dependent Azure.ResourceManager to 1.X.X.
Always resolve these exact versions from eng/centralpackagemanagement/Directory.Packages.props at the time of refresh — do not hardcode or cache version numbers, as they may change between batches.
Step 6: Update Project Version for Stable Flow Only
If stable flow, set Version in src/Azure.ResourceManager.XXX.csproj to the new stable version matching the changelog entry.
If beta flow, keep beta versioning and do not apply a version bump.
Step 6b: Update README for First Stable Release
This applies only when there is no prior stable release in the CHANGELOG (only beta entries exist).
Add the line This is the first stable release of this library. immediately after the version heading (before any sections).
Open README.md in the package root and find the dotnet add package installation command.
If it contains --prerelease, remove that flag so the command installs the stable package.