publish-release

Publishes versioned package releases to GitHub Releases with changelog prep, tagging, and asset verification.

7|5|Updated Jul 22, 2025
One-click install
npx skills add https://github.com/nebius/nebius-ps-services --skill publish-release-nebius
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: publish-release
Source: https://github.com/nebius/nebius-ps-services/tree/main/skills/publish-release
Command: npx skills add https://github.com/nebius/nebius-ps-services --skill publish-release-nebius

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and assets (resource) components.

What problem does it solve? Publishing a package release involves many error-prone manual steps: updating the changelog, creating release branches, opening and merging PRs, tagging from the correct branch, waiting for CI, and verifying release assets. This Skill automates that entire GitHub Releases workflow with strict guardrails against dirty worktrees, duplicate tags, and unsynchronized branches. ## Core Features & Use Cases - End-to-End Release Execution: Runs setup, prep, publish, or complete modes covering changelog updates, release-prep PRs via create-pr/merge-pr, annotated tagging, workflow waiting, and asset verification. - Defensive Git Guardrails: Refuses dirty or detached checkouts, stale feature branches, duplicate tags, and unsynchronized default branches before any mutation; verifies runtime package version against the tag before pushing. - Reusable Setup Assets: Generates a changelog template, a project-local helper script, and a tag-triggered GitHub Actions release workflow when a project lacks a release flow. - Use Case: A maintainer asks to publish version 1.4.0 of a Python package; the Skill moves Unreleased changelog notes into a dated section, merges the prep PR, tags from the synced default branch, waits for the release workflow, and confirms the wheel asset on the GitHub Release. ## Quick Start Ask the agent to publish release version 1.4.0 of the current project end to end using complete mode.

Frequently Asked Questions about publish-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish a GitHub Release end to end from my project?

Invoke the skill in complete mode with a semantic version tag, for example --mode complete --tag 1.4.0. It prepares the changelog, creates and merges the release-prep PR, pushes an annotated tag from the default branch, waits for the release workflow, and verifies the release assets.

How does the release prep handle feature branches versus the default branch?

From a clean feature branch containing current default-branch history, prep reuses that branch as the PR head. From the clean synced default branch, it creates a release/<tag> branch so changelog changes still reach the default branch through a PR.

Can I set up release automation for a project that has no release workflow?

Yes, setup mode generates a changelog template, a project-local publish-release.sh helper, and a tag-triggered GitHub Actions workflow from the bundled assets. The generated workflow builds, tests, and verifies the wheel version before creating the GitHub Release.

What happens if the package runtime version does not match the release tag?

The publish step creates the annotated tag locally, imports the configured package, and compares its __version__ to the tag version before pushing. On mismatch it deletes the unpushed local tag and stops, leaving no local or remote release tag.

When should I not use this release publishing skill?

Do not use it for Helm charts, container images, or other artifact types with their own publish skills, or from managed child worktrees and active SDLC integration branches. It also stops when approvals, failing checks, or branch protection require human action.