release
Skill107 starsChanged 3 days agoMITView on GitHub
Prepare and reconcile Agent Landing Zone Orchestrator releases, including authoritative version discovery, semantic version selection, release branches, VERSION and CHANGELOG updates, release notes, tags, GitHub Releases, and publication approval gates. Use when asked to prepare, version, tag, publish, roll back, or reconcile a release.
We split this skill into the rules it gives an agent
30 rules. 0 are common, 19 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 184 edited versions we read keep these.
19
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 22
Never perform a publication action without explicit human approval given after presenting the exact version, commit SHA, tag, release …
- Distinctive: line 27
Never create, modify, close, merge, or otherwise interfere with an unrelated active release pull request or its workflow runs.
- Distinctive: line 29
Never create, modify, or deploy Azure resources as part of release preparation.
- Very specific: line 46
Read the root VERSION file and the versioned headings in CHANGELOG.md.
- Distinctive: line 56
Do not infer the latest release from branch names, package metadata, commit messages, pull request titles, or a single surface alone.
- Very specific: line 78
Use these exact forms for release X.Y.Z:
- Very specific: line 105
Do not leave any [Unreleased] heading on the release branch.
- Distinctive: line 106
Do not add unrelated feature work.
- Very specific: line 110
After pushing the release branch, open a pull request from release/X.Y.Z to main.
- Distinctive: line 114
Do not tag a release-branch commit.
- Distinctive: line 133
Before opening the pull request, explicitly verify:
- Very specific: line 138
No existing tag or release already uses vX.Y.Z.
- Distinctive: line 158
Never copy hidden workflow output, credentials, or private Azure names into release notes.
- Distinctive: line 166
After the release pull request is merged, refresh main and verify the exact target commit and all checks.
- Distinctive: line 170
Commit SHA on main
- Very specific: line 173
Every package, image, registry, or deployment destination, or none
- Distinctive: line 176
Ask a human to approve that publication plan explicitly.
- Very specific: line 181
If approved, perform only the approved actions.
- Very specific: line 189
After the release branch is pushed, update develop separately with one empty ## [Unreleased] section above the released entry, following …
- Very specific: line 194
If branch protection requires a pull request for this update, use a dedicated feature branch targeting develop.
- Distinctive: line 199
Prefer forward reconciliation over destructive history changes.
- Very specific: line 204
If the version is invalid or collides, abandon the release branch and prepare a new valid version from origin/develop.
- Distinctive: line 206
Never delete or rewrite another contributor's release branch.
- Distinctive: line 210
Stop all further publication.
- Distinctive: line 212
If the target is correct, fix or create the GitHub Release only after renewed human approval of the reconciled plan.
- Distinctive: line 214
If the target is wrong, do not move or delete the public tag automatically.
- Distinctive: line 220
Do not claim success and do not retry against a different destination.
- Distinctive: line 230
Treat the pushed tag and its target commit as immutable public history.
- Very specific: line 233
Never force-push main, develop, or a release tag.
- Distinctive: line 234
If a published artifact cannot be reconciled safely, prepare a new patch release rather than overwriting the published version.
“Common” is measured: kept by at least 6 in 10 of the 184 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.
Files
Release
Prepare releases safely and reproducibly. Follow .github/copilot-instructions.md
and this workflow. This skill is self-contained; do not depend on another skill,
agent, or manifest.
Safety boundary
Release preparation and release publication are separate phases.
- Preparation may inspect metadata, create
release/X.Y.Zfromdevelop, updateVERSIONandCHANGELOG.md, run existing validation, push the release branch, and open a pull request targetingmain. - Publication includes creating or pushing a tag, creating or publishing a GitHub Release, publishing a package or container image, or starting any deployment.
- Never perform a publication action without explicit human approval given after presenting the exact version, commit SHA, tag, release title, release notes, artifacts, and publication commands or destinations.
- Approval to prepare a release, merge a pull request, or "continue" is not approval to publish. Ask for publication approval as a distinct final gate.
- Never create, modify, close, merge, or otherwise interfere with an unrelated active release pull request or its workflow runs.
- Never create, modify, or deploy Azure resources as part of release preparation.
1. Establish the authoritative release state
Fetch current remote metadata without changing branches or tags:
git fetch origin develop main --tags --prune
git status --short
git branch --show-current
git log -1 --format=%H origin/develop
git log -1 --format=%H origin/main
git tag --list 'v[0-9]*' --sort=-version:refname
gh release list --limit 100Read the root VERSION file and the versioned headings in CHANGELOG.md.
Determine the latest released version from all authoritative repository
surfaces:
- SemVer tags matching exactly
vMAJOR.MINOR.PATCH. - Published and draft GitHub Releases whose tag matches that format.
- The root
VERSIONvalue matching exactlyMAJOR.MINOR.PATCH. - Versioned
CHANGELOG.mdheadings matching## [vMAJOR.MINOR.PATCH] - YYYY-MM-DD.
Do not infer the latest release from branch names, package metadata, commit messages, pull request titles, or a single surface alone. Ignore prerelease identifiers unless the human explicitly requests a prerelease workflow.
Compare versions using SemVer precedence, not lexical ordering. Record the
commit targeted by every relevant tag and release. If tags, releases,
VERSION, and changelog disagree, stop normal preparation and enter
reconciliation. Never silently select one conflicting value.
2. Select and verify the next version
Use Semantic Versioning:
- PATCH for backward-compatible fixes.
- MINOR for backward-compatible functionality.
- MAJOR for breaking changes.
The requested or proposed version must be strictly greater than the latest released stable version and must not already exist as a tag, GitHub Release, or remote release branch. Present the evidence and proposed increment when the version was not supplied explicitly.
Use these exact forms for release X.Y.Z:
| Surface | Required value |
| Branch | release/X.Y.Z |
VERSION | X.Y.Z |
| Changelog heading | ## [vX.Y.Z] - YYYY-MM-DD |
| Tag | vX.Y.Z |
| GitHub Release title | vX.Y.Z |
The tag and GitHub Release title must contain no product prefix or suffix.
3. Prepare the release branch
Require a clean worktree. Create the release branch from the fetched
origin/develop commit, never from main or a local branch with unpushed
changes:
git switch --create release/X.Y.Z origin/developOn the release branch:
- Set root
VERSIONtoX.Y.Zwithout avprefix. - Convert the single top-level
## [Unreleased]section inCHANGELOG.mdto## [vX.Y.Z] - YYYY-MM-DD. - Do not leave any
[Unreleased]heading on the release branch. - Do not add unrelated feature work.
- Confirm branch name,
VERSION, changelog version, release tag, and release title are exactly consistent.
After pushing the release branch, open a pull request from release/X.Y.Z to
main. The pull request must explain the release purpose, metadata changes,
validation results, and the separate post-merge publication approval gate.
Do not tag a release-branch commit. A release tag may target only the approved
commit on main after the release pull request is merged and the merge commit
has been verified.
4. Validate the release candidate
Discover and run the repository's existing validation rather than inventing replacement checks. At minimum, run the current unit suite:
pytest -qAlso run any repository-provided Copilot asset validation, lint, build, or release checks that exist at preparation time. Do not add tools merely to make the release pass. Report every command and result. A failure blocks the release; do not publish with a known failing gate unless a human supplies a documented, repository-approved exception.
Before opening the pull request, explicitly verify:
- The branch is based on the current
origin/develop. VERSIONis exactlyX.Y.Z.- The changelog has exactly one
vX.Y.Zheading and no[Unreleased]. - No existing tag or release already uses
vX.Y.Z. - The diff contains only release preparation changes.
5. Generate safe release notes
Derive notes from the finalized changelog entry and commits included since the previous release tag. Notes must be useful to repository users and safe for public disclosure.
Remove or generalize:
- Private Azure subscription, tenant, resource group, resource, cluster, registry, vault, endpoint, environment, dashboard, incident, and internal service names.
- Internal aliases, email addresses, customer identifiers, access tokens, secrets, correlation identifiers, and non-public URLs.
- Private work-item links or operational details that expose internal infrastructure.
Preserve public GitHub issue and pull request references when appropriate. Never copy hidden workflow output, credentials, or private Azure names into release notes. If sanitization would make a statement misleading, omit it and flag the omission for human review.
Present the complete sanitized notes for review before publication.
6. Publication approval gate
After the release pull request is merged, refresh main and verify the exact
target commit and all checks. Then present a publication plan containing:
- Version:
X.Y.Z - Commit SHA on
main - Tag and release title:
vX.Y.Z - Full sanitized release notes
- Every package, image, registry, or deployment destination, or
none - Exact publication actions to be performed
Ask a human to approve that publication plan explicitly. Without an unambiguous approval for this exact plan, stop. Do not create or push the tag, create or publish the GitHub Release, publish packages or images, or trigger a deployment.
If approved, perform only the approved actions. Create an annotated
vX.Y.Z tag on the verified main commit, push that exact tag, and create the
GitHub Release with title exactly vX.Y.Z. Re-check the remote tag and release
afterward. Any package, image, or deployment publication requires its
destination to have been included explicitly in the approval.
7. Restore develop
After the release branch is pushed, update develop separately with one empty
## [Unreleased] section above the released entry, following
.github/copilot-instructions.md. Commit and push that change to develop
without copying [Unreleased] back to the release branch or main.
If branch protection requires a pull request for this update, use a dedicated
feature branch targeting develop; do not bypass protection.
Rollback and reconciliation
Prefer forward reconciliation over destructive history changes.
Before publication
- Correct metadata on the release branch and update the pull request.
- If the version is invalid or collides, abandon the release branch and prepare
a new valid version from
origin/develop. - Never delete or rewrite another contributor's release branch.
Tag created but release absent or incorrect
- Stop all further publication.
- Compare the remote tag target with the approved
maincommit. - If the target is correct, fix or create the GitHub Release only after renewed human approval of the reconciled plan.
- If the target is wrong, do not move or delete the public tag automatically. Present the discrepancy and obtain explicit approval for the corrective action and any replacement version.
Release created but artifacts or deployment failed
- Do not claim success and do not retry against a different destination.
- Preserve logs and immutable identifiers without exposing secrets.
- Mark a draft release as draft when that is a safe available action; do not delete a published release or artifact automatically.
- Reconcile artifact digests, package versions, image tags, release assets, and deployment state against the approved plan.
- Require renewed human approval before retrying any publication action.
Metadata drift after publication
- Treat the pushed tag and its target commit as immutable public history.
- Correct
VERSION,CHANGELOG.md, or release notes through normal reviewed changes. - Never force-push
main,develop, or a release tag. - If a published artifact cannot be reconciled safely, prepare a new patch release rather than overwriting the published version.
Conclude with the pull request URL, validation results, remaining approval gate, and any reconciliation needed. Never report a release as published until the remote tag, GitHub Release, and every approved artifact are verified.
Other versions195 projects use a version of this.
Word for word · 1
- Azure/gpt-rag-orchestrator★ 107100% same
Edited · 0
None found.
Wrote their own version · 194
- paperclipai/paperclip★ 110ksame name
- modelcontextprotocol/servers★ 92ksame name
- remotion-dev/remotion★ 70ksame name
- traefik/traefik★ 65ksame name
- usememos/memos★ 64ksame name
- tw93/Pake★ 63ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 40ksame name
- Yeachan-Heo/oh-my-claudecode★ 40ksame name
- tobi/qmd★ 30ksame name
- jlowin/fastmcp★ 28ksame name
184 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects 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.
MicrosoftSkillcreate-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
GrinvSkillchangelog-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
GrinvSkilldocs-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
MicrosoftSkillpr-report
Review a pull request or contribution deeply, explain it tutorial-style for a maintainer, and produce a polished report artifact such as HTML or Markdown. Use when asked to analyze a PR, explain a contributor's design decisions, compare it with similar systems, or prepare a merge recommendation.
Also in 5 projects that use this
parcadeiSkillagent-context-isolation
Agent Context Isolation
Also in 3 projects that use this
parcadeiSkillagentica-infrastructure
Reference guide for Agentica multi-agent infrastructure APIs
Also in 3 projects that use this
- +3 more from Grinv
- +2 more from parcadei
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- architecture-decisionSkill
- documentation-consistencySkill
- engineering-principlesSkill
- orchestrator-releaseSkill
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
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.

