agentleFS
Microsoft AzureKnown publisherAzure/agent-app-ingestion/.github/skills/release/SKILL.md

release

Skill188 starsChanged 13 days agoMITView on GitHub

Prepare and reconcile repository releases, including version selection, SemVer checks, release branches, changelog updates, release notes, tags, GitHub releases, and publication approval gates. Use when asked to prepare, version, tag, publish, roll back, or repair a release.

197 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use create-agent-adapter, changelog-style and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • MicrosoftSkill

    create-agent-adapter

    Technical guide for creating a new Paperclip agent adapter. Use when building a new adapter package, adding support for a new AI coding tool (e.g. a new CLI agent, API-based agent, or custom process), or when modifying the adapter system. Covers the required interfaces, module structure, registration points, and conventions derived from the existing claude-local and codex-local adapters.

    Also in 5 projects that use this

  • GrinvSkill

    changelog-style

    Turn a commit range into CHANGELOG.md entries following common-changelog style. Use when finishing a PR or cutting a release, to write/fix the [Unreleased] section's entries — moving [Unreleased] under a new dated version heading is a separate, automated step (see the release skill / scripts/sync-version.ts), not this skill's job.

    Also in 4 projects that use this

  • GrinvSkill

    docs-consistency-check

    Check README/manifest.json/server.json/CHANGELOG.md/AGENTS.md and docs/*.md for drift against the actual registered tools and source. Use after adding, renaming, or removing a tool, or as part of a live-audit pass.

    Also in 4 projects that use this

  • Microsoft AzureSkill

    component-release

    Prepares a verifiable Agent Landing Zone UI release. Use for release branches, VERSION, changelog entries, tags, release notes, and compatibility evidence; never publish without explicit human approval.

    Also in 4 projects that use this

  • rivet-devSkill

    launch-graphics

    Generate agentOS marketing/launch graphics (launch & social heroes, code-snippet cards) from the committed generators in docs-internal/graphics. Use when asked to make, update, or render an agentOS launch image, social image, "agentOS Apps" graphic, or technical code-snippet image.

    Also in 3 projects that use this

  • slopusSkill

    metrics-graphana

    Query and manage Grafana dashboards and Prometheus metrics for Happy infrastructure. Covers grafanactl CLI usage, direct Prometheus queries through Grafana proxy, and dashboard-as-code workflows. Use when user asks about metrics, dashboards, monitoring, Grafana, Prometheus, or wants to add/modify panels.

    Also in 3 projects that use this

  • +3 more from Grinv

The file

Show its rules and text

We split this skill into the rules it gives an agent

28 rules. 0 are common, 20 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 186 edited versions we read keep these.

  • 20

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Treat develop as the release source and main as the stable release target.

    line 13
  2. Very specific:

    Create release/X.Y.Z from an up-to-date origin/develop.

    line 14
  3. Very specific:

    Use Semantic Versioning (MAJOR.MINOR.PATCH) and reject malformed, prerelease, or build-metadata versions unless the human request …

    line 17
  4. Very specific:

    Use exactly vX.Y.Z for both the Git tag and GitHub release title.

    line 20
  5. Very specific:

    Keep the release branch, VERSION, changelog heading, tag, release title, and release target commit consistent.

    line 21
  6. Distinctive:

    Run the repository's existing validation before requesting publication approval.

    line 23
  7. Distinctive:

    Do not add or depend on organization-only manifests, central release catalogs, private automation, or data that is absent from this …

    line 25
  8. Distinctive:

    Do not create a release custom agent.

    line 27
  9. Distinctive:

    Never create or mutate Azure resources as part of release preparation.

    line 29
  10. Distinctive:

    Start from a clean worktree and refresh remote state:

    line 33
  11. Distinctive:

    Read every tracked version source that exists, including:

    line 42
  12. Distinctive:

    If the requested version is not explicit, present the discovered baseline, the proposed version, and the SemVer rationale for human …

    line 66
  13. Very specific:

    Verify that origin/develop contains the intended changes and then create:

    line 72
  14. Very specific:

    Do not add unrelated feature work.

    line 78
  15. Very specific:

    Before committing, verify there is exactly one VERSION value, exactly one changelog entry for vX.Y.Z, and no other tracked release …

    line 92
  16. Distinctive:

    Keep public Azure product names when technically useful, but never include a private Azure resource name.

    line 112
  17. Distinctive:

    Run the smallest existing checks that cover release metadata, then run any required release, unit, lint, build, or packaging checks.

    line 122
  18. Distinctive:

    Commit the release metadata with the repository's required commit trailers, push the branch, and open a pull request to main.

    line 127
  19. Distinctive:

    create, move, force, push, or delete a release tag.

    line 147
  20. Distinctive:

    create, publish, edit, or delete a GitHub release.

    line 148
  21. Distinctive:

    run a deployment or mutate an Azure resource.

    line 150
  22. Distinctive:

    Prefer forward correction and preserve an auditable history:

    line 161
  23. Distinctive:

    Before merge, correct the release branch and update its pull request.

    line 163
  24. Distinctive:

    After merge but before publication, use a corrective pull request.

    line 164
  25. Distinctive:

    If publication partially succeeds, stop.

    line 166
  26. Distinctive:

    If the correct tag exists but the GitHub release is missing, verify the tag target and notes, then request explicit human approval before …

    line 169
  27. Distinctive:

    If a tag, release, package, image, or deployment is wrong, do not silently overwrite, retag, delete, unpublish, promote, or redeploy it.

    line 172
  28. Distinctive:

    Never reuse a published version for different content.

    line 176

“Common” is measured: kept by at least 6 in 10 of the 186 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Release

Prepare releases for this repository without publishing artifacts or changing Azure resources until a human explicitly approves the publication step.

Non-negotiable rules

  • Treat develop as the release source and main as the stable release target.
  • Create release/X.Y.Z from an up-to-date origin/develop; never include a v prefix in the branch name or root VERSION file.
  • Open the release pull request from release/X.Y.Z to main.
  • Use Semantic Versioning (MAJOR.MINOR.PATCH) and reject malformed, prerelease, or build-metadata versions unless the human request explicitly defines a supported policy for them.
  • Use exactly vX.Y.Z for both the Git tag and GitHub release title.
  • Keep the release branch, VERSION, changelog heading, tag, release title, and release target commit consistent.
  • Run the repository's existing validation before requesting publication approval. Do not invent a passing result or skip a failing check.
  • Do not add or depend on organization-only manifests, central release catalogs, private automation, or data that is absent from this repository.
  • Do not create a release custom agent. This skill owns the reusable release guidance.
  • Never create or mutate Azure resources as part of release preparation.

1. Discover the authoritative released version

Start from a clean worktree and refresh remote state:

git fetch origin develop main --tags --prune
git status --short
git tag --list "v*" --sort=-v:refname
gh release list --limit 100

Read every tracked version source that exists, including:

  • root VERSION;
  • versioned headings in CHANGELOG.md;
  • package manifests or generated version modules found in the repository;
  • published Git tags matching vX.Y.Z;
  • published GitHub releases and their target commits.

The highest valid published vX.Y.Z tag and GitHub release are the authoritative released baseline. They must describe the same version and commit. Repository version files on develop must agree with the latest released baseline unless the repository documents a deliberate post-release version update. If tags, releases, version files, or changelog entries disagree, stop release preparation and reconcile the discrepancy before selecting the next version. Do not infer a version from branch names, commit counts, dates, image tags, or private deployment state.

Choose the next version only after reviewing changes since the authoritative release:

  • increment PATCH for backward-compatible fixes;
  • increment MINOR for backward-compatible functionality;
  • increment MAJOR for breaking changes.

If the requested version is not explicit, present the discovered baseline, the proposed version, and the SemVer rationale for human confirmation before writing release metadata.

2. Create the release branch

Verify that origin/develop contains the intended changes and then create:

git switch --create release/X.Y.Z origin/develop

Do not add unrelated feature work. Update the root VERSION to exactly X.Y.Z.

Convert the single ## [Unreleased] section in CHANGELOG.md into:

## [vX.Y.Z] - YYYY-MM-DD

The date is the intended release date in UTC. A release branch targeting main must not retain an Unreleased section because main must contain only released entries. Restore a new empty Unreleased section on develop in a separate post-release change after the release is merged.

Before committing, verify there is exactly one VERSION value, exactly one changelog entry for vX.Y.Z, and no other tracked release declaration with a different version.

3. Write sanitized release notes

Derive notes from the release changelog and the public commit or pull-request history since the authoritative tag. Organize them under applicable Added, Changed, Fixed, and Removed headings. Explain user-visible behavior, compatibility impact, migration steps, and validation precisely.

Release notes are public. Remove or generalize:

  • Azure subscription, tenant, resource-group, resource, registry, cluster, environment, deployment, and private DNS names;
  • internal hostnames, dashboard or log-query links, incident identifiers, and non-public repository or work-item references;
  • customer names, user aliases, credentials, tokens, secrets, and unique infrastructure identifiers.

Keep public Azure product names when technically useful, but never include a private Azure resource name. Re-scan both the changelog text and generated notes before publication. If uncertain whether a name is public, omit or generalize it.

4. Validate and open the release pull request

Discover validation from CI workflows, local contributor instructions, package scripts, existing test configuration, and the central Ingestion tests and quality checks. Run the smallest existing checks that cover release metadata, then run any required release, unit, lint, build, or packaging checks. Record the exact commands and results in the pull request. A documentation-only change does not justify running deployment scripts or touching Azure.

Commit the release metadata with the repository's required commit trailers, push the branch, and open a pull request to main. The pull request must state:

  • authoritative prior version and proposed version;
  • SemVer rationale;
  • metadata consistency results;
  • sanitized release-note summary;
  • exact validation performed;
  • that publication remains blocked on explicit human approval.

Resolve all required checks and review feedback before merging.

5. Require explicit human publication approval

Branch creation, metadata commits, validation, and pull-request creation are preparation. After the release pull request is merged, stop and request an explicit human approval that names vX.Y.Z and authorizes publication.

Without that approval, do not:

  • create, move, force, push, or delete a release tag;
  • create, publish, edit, or delete a GitHub release;
  • publish or promote a package or container image;
  • run a deployment or mutate an Azure resource.

Approval for release preparation, pull-request merge, or a previous release does not authorize publication. Immediately before an approved publication, fetch remote state again and verify that origin/main, VERSION, the changelog entry, tag name, release title, notes, and intended commit still match. Use an annotated vX.Y.Z tag and create the GitHub release with the exact title vX.Y.Z. Never publish from an unmerged release branch.

6. Roll back or reconcile safely

Prefer forward correction and preserve an auditable history:

  • Before merge, correct the release branch and update its pull request.
  • After merge but before publication, use a corrective pull request; do not publish inconsistent metadata.
  • If publication partially succeeds, stop. Inventory the remote tag, GitHub release, packages, images, deployments, and their target commits. Report the mismatch and propose the least destructive reconciliation.
  • If the correct tag exists but the GitHub release is missing, verify the tag target and notes, then request explicit human approval before creating the missing release.
  • If a tag, release, package, image, or deployment is wrong, do not silently overwrite, retag, delete, unpublish, promote, or redeploy it. Obtain explicit human approval for the named corrective action and document what consumers may already have observed.
  • Never reuse a published version for different content. When immutability or consumer visibility makes correction unsafe, prepare a new patch release.

Finish by reconciling the tag, release title, release target, VERSION, changelog, and published artifact versions, and record any corrective action in public-safe release notes.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.