Agent skill

Version Release

by AtomUI in AtomUI/AtomUI

A skill your agent uses when preparing or validating an AtomUI release, including version-scope confirmation, AtomUIVersion consistency, README version sync, CHANGELOG and Chinese release sections…

LGPL-3.0Auto-check passedDevelopment

Install Version Release

skills CLI
$ npx skills add AtomUI/AtomUI --skill version-release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AtomUI/AtomUI version-release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AtomUI/AtomUI.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/version-release .claude/skills/version-release && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
version-release
GitHub stars
842
Token cost
~2.7k tokens
SKILL.md length
1,270 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
LGPL-3.0

At a glance

A skill your agent uses when preparing or validating an AtomUI release, including version-scope confirmation, AtomUIVersion consistency, README version sync, CHANGELOG and Chinese release sections…

  • Works in 3 steps: Confirm the intended version and release… → Inspect repository state before changing… → **Run the breaking-change audit below…
  • Validating an AtomUI release
  • SKILL.md covers Workflow, Breaking-change audit, Automated breaking-change gates and Version consistency, plus 7 more sections
  • Calls git, pwsh and dotnet

What it does

Version Release is an agent skill from AtomUI/AtomUI. Use when preparing or validating an AtomUI release, including version-scope confirmation, AtomUIVersion consistency, README version sync, CHANGELOG and Chinese release sections, the mandatory breaking-change audit and docs/releases migration docs, release validation, and the release commit. Use changelog-collect for ordinary changelog collection instead.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes and Technical documentation. It works with Git and C#. The repository describes itself as: An enhancement and extension library for Avalonia, bringing the Ant Design design language, modern controls, theming, native integrations, and cross-platform UI capabilities to… The licence is LGPL-3.0.

When your agent uses it

  • Validating an AtomUI release
  • Including version-scope confirmation
  • AtomUIVersion consistency
  • README version sync

Example prompts

  • “/version-release”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the intended version and release scope from the user request.
  2. Inspect repository state before changing files
  3. **Run the breaking-change audit below and write down its verdict before editing any

What it can do on your machine

Read from SKILL.md and the folder at commit d234fe0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • pwsh
    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Version Release loads about 2.7k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,270 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AtomUI/AtomUI at commit d234fe0, republished under its LGPL-3.0 licence (© AtomUI). 1,270 words, ~2,720 tokens.

Download SKILL.mdSave it as .claude/skills/version-release/SKILL.md (or your agent's skills folder).
name
version-release
description
Use when preparing or validating an AtomUI release, including version-scope confirmation, AtomUIVersion consistency, README version sync, CHANGELOG and Chinese release sections, the mandatory breaking-change audit and docs/releases migration docs, release validation, and the release commit. Use changelog-collect for ordinary changelog collection instead.

Version Release

Use this skill when the user asks to release or prepare an AtomUI version, or review release readiness.

Durable rules, the breaking-change surface list, and the release-readiness checklist live in docs/engineering/workflows/release-preparation.md. Read it before classifying any change.

Workflow

  1. Confirm the intended version and release scope from the user request. If the target version or range is ambiguous, state the assumption and proceed with preparation; get explicit confirmation before tag, push, or publish.
  2. Inspect repository state before changing files:
    • git status --short
    • git branch --show-current
    • git tag --sort=-v:refname | head
    • git log --oneline --decorate <previous-tag>..HEAD when a previous tag exists
  3. Run the breaking-change audit below and write down its verdict before editing any release file. The verdict decides whether migration docs are required.

Breaking-change audit

Publishing a breaking change without migration docs is a release defect. The audit is mandatory, and a "no breaking changes" verdict must be evidenced, never assumed.

  1. Enumerate every commit carrying a breaking marker:

    bash
    git log <previous-tag>..HEAD --format='%h %s' | grep -E '!:'

    Classify each hit individually. A ! commit is the repository telling you a breaking change exists; it may not be dismissed without evidence.

  2. Decide against the consumer-visible surface, not against C# members alone. A change is breaking when it alters any of these, even when no C# public member is removed:

    • C# public API: types, members, signatures, enum values, default behavior.
    • MSBuild contract: build/** properties, targets, UsingTask registration, task parameters, item/property names.
    • Package contract: target frameworks, output layout (tools/, buildTransitive/), package ids, shipped files.
    • Build prerequisites: required SDK/runtime versions, global.json.
    • Runtime contracts: design tokens, theme keys, resource keys, AOT/trimming behavior.
  3. Evidence rule. A "not breaking" verdict must positively state which surfaces the change touches and why consumers are unaffected. An empty negation-only check such as grep '^-.*public ' is not evidence: it cannot see MSBuild, packaging, TFM or SDK changes, and must not be presented as a verdict.

  4. Precedent check. Whenever a breaking candidate exists, or the change touches build/, packaging, or target frameworks, read the most recent docs/releases/*-api-changes.md and search all of them for the same area:

    bash
    grep -rln -iE 'build|packaging|msbuild|netstandard|net10|sdk|tools/' docs/releases/*-api-changes.md

    Build-task and packaging contract changes are documented as API changes in this repository even when no control API moves; see docs/releases/6.1.4-api-changes.md.

  5. Record the verdict as a candidate → breaking? → evidence table and report it to the user before requesting the release commit, tag, or push.

Automated breaking-change gates

The manual audit above is backed by two executable gates in the release flow. They observe produced artifacts, not commit messages, so they still catch a break whose commit is missing the ! marker.

  • Package API validation: EnablePackageValidation with PackageValidationBaselineVersion, wired in build/PackageValidation.props. Compares the lib/ public API (ApiCompat, IL level) against the previously released packages. It cannot see tools/, buildTransitive/ or the target-framework set.
  • Package layout validation: scripts/verification/verify-package-layout.ps1. Compares the consumer-visible package layout (lib/ TFM set, tools/, build/, buildTransitive/) against the previously released packages.

Both run from scripts/BuildNuGetPackages.ps1 when given -PackageValidationBaselineVersion; the release workflow passes it through the PackageValidationBaselineVersion input.

  • Run both for the release and report the result. A failing gate is a release defect until the change is either documented as breaking or acknowledged.
  • Acknowledge an intentional package API change in build/PackageValidationSuppressions/<ProjectName>.xml (generate with -p:ApiCompatGenerateSuppressionFile=true, then review).
  • Acknowledge an intentional package layout change in scripts/verification/package-layout-allowlist.json, keyed by baseline version and package id with a reason. Unused entries fail the gate, so the allow list cannot rot.
  • Acknowledging either kind does not replace the migration doc: add the section to docs/releases/<version>-api-changes.md too.

Version consistency

  • Keep build/Versions.props -> AtomUIVersion as the single source of truth.
  • Packages normally inherit $(AtomUIVersion) through build/PackageMetadata.props. AtomUI.Core embeds it as assembly metadata and PublishToLocal.ps1 reads it. Do not hardcode version strings in project files, package metadata, or scripts.
  • Scan for stale previous-version references and update only release-required files.

README version references

README.md and README.zh-CN.md are user-facing release pages and are part of every release. Update both in the same release commit and keep their versions identical. The version appears in four places in each file, and every one must change together:

  1. The AtomUI badge near the top: .../badge/AtomUI-<version>-1677ff?....
  2. The #### Latest Release Notes (English) / #### 最新版本说明 (Chinese) paragraph: rewrite the summary for this release instead of leaving the previous release's text, mention any breaking changes, and link the changelog.
  3. The dotnet add package ... --version <version> block.
  4. The <PackageReference ... Version="<version>"/> project example.

Bumping only the badge while the release-notes paragraph still describes the previous version is a release defect. Verify no stale version remains before the release commit:

bash
grep -n "<previous-version>" README.md README.zh-CN.md

Changelog

  • Update both CHANGELOG.md and CHANGELOG.zh-CN.md with the same version, release date, and information. Use YYYY-MM-DD dates.
  • Group entries by control or module (Dialog, ToolTip, Window, DataGrid, Theme, NativeAOT, Build), not a mechanical Added/Changed/Fixed split.
  • Write present-tense user-visible outcomes and include PR or issue references when available.
  • Follow docs/engineering/contributing/changelog-guidelines.md.
Show full SKILL.md (499 more words)Show less

Breaking API changes

Create the migration docs whenever the audit finds any breaking change. "Breaking" follows the surface list in the audit above; MSBuild, packaging, target-framework and SDK-requirement changes count.

  • Create docs/releases/<version>-api-changes.md and docs/releases/<version>-api-changes.zh-CN.md. Use docs/releases/6.1.4-api-changes.md (build-task contract) and docs/releases/6.1.8-api-changes.md (runtime API) as templates.
  • Each file must include a quick-reference before/after table and migration instructions or code examples for every breaking change, plus cross-links between the English and Chinese versions.
  • Add the new version links to docs/releases/overview.md.
  • Put a Breaking Changes group first in the root changelog section and link to the detailed file.
  • Every entry in that Breaking Changes group must map to a section in the migration docs. If one does not, either add the section or record the exemption the user agreed to.
  • Do not create these files when the audit found no breaking changes.

Validation

  • Run git diff --check.

  • Re-check the audit enumeration and confirm every ! commit is accounted for in the changelog and, when breaking, covered by the migration docs.

  • Run targeted tests for the controls or modules changed. Prefer dotnet test <test-project> --framework net10.0 --no-restore.

  • Run the full regression test suite. This step is mandatory when executing the version-release skill and cannot be replaced by targeted module tests. Use the repository's maintained full-test entry point, such as dotnet test AtomUI.slnx --framework net10.0 --no-restore, when applicable. Record the command, result, and any unrelated failures separately.

  • Run build or pack validation when packaging or build files changed.

  • Run the two automated breaking-change gates against the previous release and report both results:

    bash
    pwsh -NoProfile -File scripts/BuildNuGetPackages.ps1 \
        -BuildType Release -PackageOutputDir <dir> -PackageValidationBaselineVersion <previous-version>

    The layout gate alone can also be run directly against an existing package directory:

    bash
    pwsh -NoProfile -File scripts/verification/verify-package-layout.ps1 \
        -PackageDirectory <dir> -BaselineVersion <previous-version>

    Its own tests run with pwsh -NoProfile -File scripts/verification/verify-package-layout.Tests.ps1.

  • Run the Gallery NativeAOT publish flow when the release affects AOT, trimming, Window, theme, control templates, or source generators.

  • Report unrelated failures separately; do not fix them as part of the release.

Release commit

  • Stage only release-required files. This includes build/Versions.props, both changelogs, any breaking-API docs, and both README.md and README.zh-CN.md.
  • Follow repository history style, for example: fix(CHANGELOG): update for AtomUI 6.1.5 release with breaking changes and new features.

Safety

Do not create tags, push commits, publish packages, or delete release artifacts unless the user explicitly asks for that action.

  • Before tag, push, or publish, show the exact commands and stop for confirmation, together with the breaking-change audit verdict. Never request tag or push approval before the audit is complete.
  • Preferred order: prepare and validate, commit, tag, then push and trigger publication.
  • Never move a tag that is already pushed. If a defect is found after the tag is pushed, fix forward with a follow-up commit on the release branch by default and state the consequence. Only re-tag with git tag -f when the user explicitly instructs it, and never silently.

Output

Summarize the changed files, the breaking-change audit verdict, validation results, the release commit, and any manual steps that remain.

© AtomUI, LGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/version-release of AtomUI/AtomUI.

Open the folder on GitHubat commit d234fe0

Compare with similar skills

Version Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Version Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Version Release this skillAtomUI/AtomUI842—~2.7kAutomated safety check: PassLGPL-3.0
Releasejrswab/axe895—~1.4kAutomated safety check: PassApache-2.0
CommitLennartHennigs/Button2565—~562Automated safety check: PassMIT
Maintain DisCatSharpAiko-IT-Systems/DisCatSharp140—~1.2kAutomated safety check: PassMIT
Qkeymapper Release NotesZalafina/QKeyMapper753—~1.3kAutomated safety check: PassGPL-3.0
Doc-Code Sync Checkfancyboi999/open-tag201—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Release

    jrswab/axe

    Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.

    895 GitHub stars~1.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Commit

    LennartHennigs/Button2

    Stage and commit current changes for Button2 — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits

    565 GitHub stars~562 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Maintain DisCatSharp

    Aiko-IT-Systems/DisCatSharp

    Guides changes to the DisCatSharp C# Discord library: tracing a payload field through parsing, serialization and caches, then validating across target frameworks.

    140 GitHub stars~1.2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Qkeymapper Release Notes

    Zalafina/QKeyMapper

    为 QKeyMapper 编写 README.md 的中文 release note,并默认联动 qkeymapper-readme-en-sync 定向同步更新英文版 READMEen.md。收集最近正式 release tag 之后的已提交更新,先展示中英双语完整草稿供审阅,批准实施后分阶段原子提交两个 README。用于发布说明、更新日志和中英文版本信息维护。

    753 GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Doc-Code Sync Check

    fancyboi999/open-tag

    Reconciles documentation with code at the end of a change or as a periodic audit, following a repo rule that code changes and doc changes land in one commit.

    201 GitHub stars~1.7k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Commit

    LennartHennigs/ESPRotary

    Stage and commit current changes for ESPRotary — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits

    188 GitHub stars~590 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed

More from AtomUI/AtomUI

All 15 skills in this repo
  • A skill your agent uses when building, launching, debugging, or visually inspecting AtomUIGallery.Desktop from an AtomUI checkout where installed or mounted Gallery apps may share its name or bundle…

    842 GitHub stars~983 tokensUpdated today
    Auto-check passed
  • Atomui Commit Msg

    AtomUI/AtomUI

    Generate a single-line commit message for AtomUI by reading the project's git staged area and recent commit style.

    842 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when optimizing, refactoring, reviewing, or fixing AtomUI controls, including control API contracts, member layout, file splitting, lifecycle, AXAML structure, correctness…

    842 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when creating, completing, splitting, reviewing, or synchronizing AtomUI control documentation under docs/controls, including overview.md, implementation.md, token.md…

    842 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when changing AtomUI or Avalonia resource bindings, DynamicResource, TokenResourceBinder, non-Visual AvaloniaObject lifecycle, IResourceHost/IThemeVariantHost…

    842 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when upgrading AtomUI NuGet dependencies, source dependency projects, ReactiveUI, Avalonia, Splat, or any third-party version where compatibility must be evaluated before…

    842 GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Version Release

What does Version Release do?

A skill your agent uses when preparing or validating an AtomUI release, including version-scope confirmation, AtomUIVersion consistency, README version sync, CHANGELOG and Chinese release sections…. Version Release is an agent skill from AtomUI/AtomUI. Use when preparing or validating an AtomUI release, including version-scope confirmation, AtomUIVersion consistency, README version sync, CHANGELOG and Chinese release sections, the mandatory breaking-change audit and docs/releases migration docs, release validation, and the release commit.

When should I use Version Release?

Version Release fits situations like: validating an AtomUI release; including version-scope confirmation; atomUIVersion consistency; README version sync.

How do I install Version Release in Claude Code?

Run `npx skills add AtomUI/AtomUI --skill version-release -a claude-code`. Or copy the skill folder (.agents/skills/version-release in AtomUI/AtomUI) into .claude/skills/version-release in your project. Claude Code loads it when a task matches its description.

How do I install Version Release in Codex?

Run `npx skills add AtomUI/AtomUI --skill version-release -a codex`. Or copy the skill folder (.agents/skills/version-release in AtomUI/AtomUI) into .agents/skills/version-release in your project. Codex loads it when a task matches its description.

Can I use Version Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AtomUI/AtomUI --skill version-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/version-release, .gemini/skills/version-release, .github/skills/version-release and .opencode/skills/version-release in your project.

What does Version Release need to run?

Going by SKILL.md and its folder, Version Release needs the command-line tools its instructions call (git, pwsh and dotnet).

Does Version Release access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Version Release safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Version Release use?

Version Release is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Version Release use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Version Release?

Skills that share tags, products or a category with Version Release: Release (jrswab/axe, 895 stars), Commit (LennartHennigs/Button2, 565 stars), Maintain DisCatSharp (Aiko-IT-Systems/DisCatSharp, 140 stars) and Qkeymapper Release Notes (Zalafina/QKeyMapper, 753 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Version Release?

AtomUI (a GitHub organization) maintains it in AtomUI/AtomUI, which has 842 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.

Source: AtomUI/AtomUI on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.