Agent skill

Releasing Reactiveproperty

by runceel in runceel/ReactiveProperty

Release the ReactiveProperty NuGet package set from this repository.

MITAuto-check passedDevOps & Cloud

Install Releasing Reactiveproperty

skills CLI
$ npx skills add runceel/ReactiveProperty --skill releasing-reactiveproperty -a claude-code

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

GitHub CLI
$ gh skill install runceel/ReactiveProperty releasing-reactiveproperty --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/runceel/ReactiveProperty.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/releasing-reactiveproperty .claude/skills/releasing-reactiveproperty && 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
releasing-reactiveproperty
GitHub stars
944
Token cost
~2.7k tokens
SKILL.md length
1,076 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Release the ReactiveProperty NuGet package set from this repository.

  • Works in 7 steps: Resolve mode, version, and tag → Preflight the target commit → Run local validation before tagging → …
  • The user asks to release
  • SKILL.md covers Prerequisites, Critical Rules, Release Modes and Version Rules and Package Set, plus 5 more sections
  • Calls git, gh and dotnet; reaches api.nuget.org

What it does

Releasing Reactiveproperty is an agent skill from runceel/ReactiveProperty. Release the ReactiveProperty NuGet package set from this repository. Use this skill whenever the user asks to release, publish, ship, pre-release/prerelease, stable release, tag v, push NuGet packages, or mentions "リリース", "pre リリース", "正式リリース", "NuGet 公開", or "パッケージ公開" for ReactiveProperty, even if they do not use the skill name. Handles tag-driven releases, mode/version confirmation, GitHub Actions monitoring, NuGet/GitHub Release verification, and failure guardrails. Do not use for setting up NuGet OIDC/trusted…

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 DevOps & Cloud, covering OAuth and OpenID Connect and CI/CD. It works with GitHub Actions and GitHub. The repository describes itself as: ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions. Target frameworks are .NET 6+, .NET Framework 4.7.2 and .NET Standard 2.0. The licence is MIT.

When your agent uses it

  • The user asks to release
  • Pre-release/prerelease
  • Push NuGet packages
  • パッケージ公開 for ReactiveProperty

Example prompts

  • “pre リリース”
  • “正式リリース”
  • “NuGet 公開”
  • “/releasing-reactiveproperty”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Resolve mode, version, and tag
  2. Preflight the target commit
  3. Run local validation before tagging
  4. Optional version record PR
  5. Confirm and push the release tag
  6. Monitor GitHub Actions
  7. Verify published outputs

What it can do on your machine

Read from SKILL.md and the folder at commit e7e6474. 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
    • gh
    • dotnet

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.nuget.org

    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

Releasing Reactiveproperty loads about 2.7k tokens when it runs. Until then it costs about 149 tokens; SKILL.md has 1,076 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~149
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 runceel/ReactiveProperty at commit e7e6474, republished under its MIT licence (© runceel). 1,076 words, ~2,727 tokens.

Download SKILL.mdSave it as .claude/skills/releasing-reactiveproperty/SKILL.md (or your agent's skills folder).
name
releasing-reactiveproperty
description
Release the ReactiveProperty NuGet package set from this repository. Use this skill whenever the user asks to release, publish, ship, pre-release/prerelease, stable release, tag v*, push NuGet packages, or mentions "リリース", "pre リリース", "正式リリース", "NuGet 公開", or "パッケージ公開" for ReactiveProperty, even if they do not use the skill name. Handles tag-driven releases, mode/version confirmation, GitHub Actions monitoring, NuGet/GitHub Release verification, and failure guardrails. Do not use for setting up NuGet OIDC/trusted publishing; use nuget-trusted-publishing instead.

Releasing ReactiveProperty

Run the tag-driven release procedure for the ReactiveProperty NuGet package set.

Prerequisites

  • Repository access: permission to push tags to runceel/ReactiveProperty.
  • GitHub CLI: authenticated with access to Actions and Releases (gh auth status).
  • NuGet trusted publishing: .github/workflows/build-and-publish.yml uses NuGet/login@v1 and secrets.NUGET_USER; if this setup is broken or missing, use the nuget-trusted-publishing skill instead.
  • Local validation environment: Windows with the .NET 10 SDK (10.0.x) when running the full solution locally.

Critical Rules

  • Ask for release mode first when it is not specified. Use ask_user with choices for pre-release and stable release before doing any release work.
  • Never infer the target version from a single tag, release, or the repository <Version> property. If the maintainer has not explicitly supplied the target version, ask for it and stop.
  • Always distinguish version sources before confirming a release. Report the newest tag, the newest GitHub Release by publication date, and the newest stable GitHub Release separately; do not call any one of them simply "the latest version".
  • The current release workflow is tag-driven. Do not update Source/Directory.Build.props or create a version bump PR unless the maintainer explicitly asks for repository version record-keeping.
  • The tag is the package version source of truth. .github/workflows/build-and-publish.yml rewrites Source/Directory.Build.props from the pushed v* tag inside the runner before build/test/package.
  • Never overwrite or recreate a release tag. If v{version} already exists locally or remotely, stop and ask the maintainer.
  • Never publish manually as a fallback. If OIDC/NuGet publish fails, diagnose the workflow; do not bypass it with a local dotnet nuget push or a long-lived API key.

Release Modes and Version Rules

Normalize a requested version by removing one leading v for validation, then add v back for the tag.

ModeRequired version shapeExample tagNotes
Pre-releaseSemVer prerelease containing -prev9.4.0-pre.1The workflow marks GitHub Releases as prerelease only when the version contains -pre. Do not use -alpha, -beta, or -rc unless the maintainer accepts that the current workflow will not mark it as prerelease.
Stable releasePlain SemVerv9.4.0Must not contain a prerelease suffix.

If the user supplies a version that does not match the selected mode, stop and ask for a corrected version.

Package Set

The normal ReactiveProperty.slnx release publishes these package IDs:

Package IDProject
ReactiveProperty.CoreSource/ReactiveProperty.Core/ReactiveProperty.Core.csproj
ReactivePropertySource/ReactiveProperty.NETStandard/ReactiveProperty.NETStandard.csproj
ReactiveProperty.BlazorSource/ReactiveProperty.Platform.Blazor/ReactiveProperty.Platform.Blazor.csproj
ReactiveProperty.WPFSource/ReactiveProperty.Platform.WPF/ReactiveProperty.Platform.WPF.csproj
ReactiveProperty.R3Source/ReactiveProperty.R3/ReactiveProperty.R3.csproj
ReactiveProperty.R3.WPFSource/ReactiveProperty.R3.WPF/ReactiveProperty.R3.WPF.csproj

ReactiveProperty.UWP is legacy and is not part of the normal ReactiveProperty.slnx release.

Workflow

1. Resolve mode, version, and tag
  1. Determine whether this is a pre-release or stable release.
    • If unspecified, call ask_user before proceeding.
  2. Determine the target version.
    • Accept only a version explicitly supplied by the maintainer.
    • If unspecified, call ask_user and stop; do not propose or infer a version from tags, releases, package metadata, or Source/Directory.Build.props.
  3. Validate the version against the selected mode.
  4. Normalize the tag to v{version}.
  5. Before presenting the confirmation, inspect all three version views:
    • newest tag by semantic version;
    • newest GitHub Release by publication date;
    • newest stable GitHub Release by semantic version. Report all three when they differ, especially when a pre-release is newer by date but lower by semantic version.
2. Preflight the target commit

Fetch main and tags, then inspect the intended release commit:

pwsh
git fetch origin main --tags --prune
git rev-parse origin/main
git log --oneline -n 5 origin/main
git tag --list v{version}

Stop if the tag already exists. Confirm that origin/main is the intended release commit; do not tag a feature/worktree branch by accident.

3. Run local validation before tagging

Mirror the release workflow as closely as possible, passing the intended version without editing files:

pwsh
dotnet restore ReactiveProperty.slnx
dotnet build ReactiveProperty.slnx -c Release --no-restore /p:Version={version} /p:ContinuousIntegrationBuild=True /p:EmbedUntrackedSources=True
dotnet test ReactiveProperty.slnx --no-restore --verbosity normal

If validation fails, stop and fix the failure before tagging. Only skip local validation when the maintainer explicitly asks to rely on GitHub Actions.

4. Optional version record PR

Do this only when the maintainer explicitly asks to record the release version in main before release.

  1. Update Source/Directory.Build.props <Version> to the target version.
  2. Create a PR and wait for CI/review.
  3. Merge the PR.
  4. Fetch origin/main again and tag the merged commit.

This PR is optional for the current workflow because the package version is produced from the tag during the release run.

Show full SKILL.md (409 more words)Show less
5. Confirm and push the release tag

Before pushing, present a compact confirmation with:

  • release mode;
  • normalized version and tag;
  • target origin/main commit SHA;
  • package set;
  • whether local validation passed or was explicitly skipped.

After explicit confirmation, create an annotated tag on origin/main and push it:

pwsh
git tag -a v{version} origin/main -m "Release {version}"
git push origin v{version}
6. Monitor GitHub Actions

Find the tag-triggered run and watch it to completion:

pwsh
gh run list --workflow build-and-publish.yml --limit 10 --json databaseId,headBranch,headSha,status,conclusion,event,createdAt
gh run watch {run-id} --exit-status

If the run fails, inspect failed logs:

pwsh
gh run view {run-id} --log-failed

Do not delete/recreate the tag. If the failure is transient and no version correction is needed, rerun the same workflow instead.

7. Verify published outputs

Verify the GitHub Release:

pwsh
gh release view v{version} --json tagName,isPrerelease,assets,url,publishedAt

For pre-releases, isPrerelease must be true. If it is false, check whether the version contains -pre; the current workflow only uses that substring to set prerelease status.

Verify NuGet indexing for every package ID. NuGet indexing can lag, so retry for a short period before reporting a delay:

pwsh
$version = "{version}".ToLowerInvariant()
$packages = @(
  "ReactiveProperty",
  "ReactiveProperty.Core",
  "ReactiveProperty.Blazor",
  "ReactiveProperty.WPF",
  "ReactiveProperty.R3",
  "ReactiveProperty.R3.WPF"
)

foreach ($package in $packages) {
  $id = $package.ToLowerInvariant()
  $index = Invoke-RestMethod "https://api.nuget.org/v3-flatcontainer/$id/index.json"
  [PSCustomObject]@{
    Package = $package
    Published = $index.versions -contains $version
  }
}

Error Handling

ProblemLikely causeRecovery
Release mode is unclearUser asked for "release" without pre/stable detailAsk pre-release vs stable release with ask_user before proceeding.
Version does not match modePre-release lacks -pre, or stable has a suffixStop and ask for a corrected version.
v{version} already existsRelease was already attempted or completedStop. Inspect existing tag/release; never force-push or recreate it.
Local validation failsBuild/test regression or environment issueFix the failure or ask whether to rely on Actions; do not tag by default.
NuGet/login@v1 failsTrusted publishing policy, NUGET_USER, or OIDC permission issueUse nuget-trusted-publishing; do not use a local API key fallback.
Workflow fails after some packages publishPartial publish or transient failureDo not retag. Use the same workflow run/rerun; --skip-duplicate handles already-published packages.
NuGet package is not visible immediatelyNuGet indexing delayRecheck flat-container indexes before declaring failure.
GitHub Release is not marked prereleaseVersion did not contain -pre or workflow changedReport the mismatch; do not edit release metadata unless the maintainer asks.

Output Format

Before tagging, show:

text
Release mode: pre-release|stable
Version: {version}
Tag: v{version}
Newest tag: {tag}
Newest GitHub Release: {tag} ({publishedAt})
Newest stable GitHub Release: {tag}
Target commit: {short-sha} {subject}
Packages: ReactiveProperty, ReactiveProperty.Core, ReactiveProperty.Blazor, ReactiveProperty.WPF, ReactiveProperty.R3, ReactiveProperty.R3.WPF
Validation: passed|skipped by maintainer

After completion, show:

text
Release v{version}: succeeded|failed
GitHub Actions: {run-url}
GitHub Release: {release-url and prerelease status}
NuGet: all package IDs visible|pending indexing|failed package list

References

ReferencePurpose
.github/workflows/build-and-publish.ymlSource of truth for tag trigger, package build, NuGet publish, and GitHub Release creation.
Source/Directory.Build.propsRepository version property that the workflow rewrites from the tag during release.
ReactiveProperty.slnxSolution restored, built, tested, and packaged by the release workflow.
.agents/skills/nuget-trusted-publishing/SKILL.mdUse when OIDC/trusted publishing setup needs to be created or repaired.

Post-Run Reflection

After a release attempt, note any step that differed from this skill. If the repository workflow changed, update this skill in a follow-up PR so the next release runbook stays accurate.

© runceel, MIT. 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/releasing-reactiveproperty of runceel/ReactiveProperty.

Open the folder on GitHubat commit e7e6474

Compare with similar skills

Releasing Reactiveproperty 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.

Releasing Reactiveproperty compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Releasing Reactiveproperty this skillrunceel/ReactiveProperty944—~2.7kAutomated safety check: PassMIT
GitHub Actions Docsdevantler-tech/ksail1652 repos~1.3kAutomated safety check: PassCustom licence
GitHub Actions Genlaolaoshiren/claude-code-skills-zh880—~1.1kAutomated safety check: NotesMIT
AWS GitHub Oidc Scoped Rolemizchi/skills360—~1.6kAutomated safety check: PassNone
Gh Actions Validatorjeremylongshore/tons-of-skills-marketplace2.8k—~713Automated safety check: PassMIT
GitHub Actions Hardeninggithub/awesome-copilot40k1 repos~2.4kAutomated safety check: PassMIT

Similar skills

  • GitHub Actions Docs

    devantler-tech/ksail

    A skill your agent uses when users ask how to write, explain, customize, migrate, secure, or troubleshoot GitHub Actions workflows, workflow syntax, triggers, matrices, runners, reusable workflows…

    165 GitHub starsUsed in 2 repos~1.3k tokens
    DevOps & CloudAuto-check passed
  • GitHub Actions Gen

    laolaoshiren/claude-code-skills-zh

    分析真实项目并生成或修订安全、可验证的 GitHub Actions workflow;当用户要求创建 CI、测试矩阵、构建、Release、部署、缓存、Secrets、OIDC、PR 自动化或排查 workflow 配置时使用

    880 GitHub stars~1.1k tokensUpdated 5 days ago
    DevOps & CloudAuto-check: notes
  • OpenTofu/Terraform pattern for GitHub Actions OIDC trust with AWS IAM.

    360 GitHub stars~1.6k tokensUpdated 8 days ago
    DevOps & CloudAuto-check passed
  • Gh Actions Validator

    jeremylongshore/tons-of-skills-marketplace

    Validate use when validating GitHub Actions workflows for Google Cloud and Vertex AI deployments.

    2.8k GitHub stars~713 tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • GitHub Actions Hardening

    github/awesome-copilot

    Official

    Security hardening reviewer for GitHub Actions workflow files (.github/workflows/.yml).

    40k GitHub starsUsed in 1 repo~2.4k tokens
    DevOps & CloudAuto-check passed
  • Nuget Trusted Publishing

    rodri-oliveira-dev/Dapper-FluentMap

    Review, maintain, or set up NuGet trusted publishing (OIDC) for GitHub Actions.

    454 GitHub stars~1.3k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed

More from runceel/ReactiveProperty

All 13 skills in this repo
  • Msbuild Antipatterns

    runceel/ReactiveProperty

    Catalog of MSBuild anti-patterns with detection rules and fix recipes.

    944 GitHub stars~3.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Binlog Failure Analysis

    runceel/ReactiveProperty

    Analyze MSBuild binary logs to diagnose build failures by replaying binlogs to searchable text logs.

    944 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Coverage Analysis

    runceel/ReactiveProperty

    Automated, project-wide code coverage and CRAP (Change Risk Anti-Patterns) score analysis for .NET projects with existing unit tests.

    944 GitHub stars~5.9k tokensUpdated 1 mo ago
    Auto-check: warnings
  • Development Workflow

    runceel/ReactiveProperty

    ReactiveProperty repository development policy. An agent skill from runceel/ReactiveProperty.

    944 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Dotnet10 Features

    runceel/ReactiveProperty

    Reference for the .NET 10 / C 14 features that are relevant to the ReactiveProperty repository.

    944 GitHub stars~2.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Migrate Vstest To Mtp

    runceel/ReactiveProperty

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP).

    944 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Releasing Reactiveproperty

What does Releasing Reactiveproperty do?

Release the ReactiveProperty NuGet package set from this repository. Releasing Reactiveproperty is an agent skill from runceel/ReactiveProperty. Release the ReactiveProperty NuGet package set from this repository.

When should I use Releasing Reactiveproperty?

Releasing Reactiveproperty fits situations like: the user asks to release; pre-release/prerelease; push NuGet packages; パッケージ公開 for ReactiveProperty.

How do I install Releasing Reactiveproperty in Claude Code?

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

How do I install Releasing Reactiveproperty in Codex?

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

Can I use Releasing Reactiveproperty 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 runceel/ReactiveProperty --skill releasing-reactiveproperty -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/releasing-reactiveproperty, .gemini/skills/releasing-reactiveproperty, .github/skills/releasing-reactiveproperty and .opencode/skills/releasing-reactiveproperty in your project.

What does Releasing Reactiveproperty need to run?

Going by SKILL.md and its folder, Releasing Reactiveproperty needs the command-line tools its instructions call (git, gh and dotnet).

Does Releasing Reactiveproperty access the network?

SKILL.md names 1 domain. In commands or code: api.nuget.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Releasing Reactiveproperty 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 Releasing Reactiveproperty use?

Releasing Reactiveproperty is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Releasing Reactiveproperty 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 Releasing Reactiveproperty?

Skills that share tags, products or a category with Releasing Reactiveproperty: GitHub Actions Docs (devantler-tech/ksail, 165 stars), GitHub Actions Gen (laolaoshiren/claude-code-skills-zh, 880 stars), AWS GitHub Oidc Scoped Role (mizchi/skills, 360 stars) and Gh Actions Validator (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Releasing Reactiveproperty?

runceel (a GitHub user) maintains it in runceel/ReactiveProperty, which has 944 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on August 31, 2026.

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