midnite-release-complete

Finalizes prepped release branches by tagging, pushing, merging to main, and publishing GitHub Releases.

Updated Sep 1, 2026
One-click install
npx skills add https://github.com/bilo-io/midnite-studio --skill midnite-release-complete-bilo-io
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: midnite-release-complete
Source: https://github.com/bilo-io/midnite-studio/tree/main/.agents/skills/midnite-release-complete
Command: npx skills add https://github.com/bilo-io/midnite-studio --skill midnite-release-complete-bilo-io

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Completing a software release involves many irreversible steps — creating tags, pushing them, merging to main, and publishing a GitHub Release — where a mistake or skipped precondition can leave the release in a broken half-published state. This Skill executes that irreversible half of the release flow safely, verifying every precondition first and stopping for explicit human confirmation before anything irreversible happens. ## Core Features & Use Cases - Precondition gating: Refuses to run unless the branch, clean tree, version alignment, changelog section, GitHub secret, and CI checks all pass. - Tag planning and publishing: Computes lockstep vX.Y.Z or scoped [email protected] tags via the repo's fixed release-planning functions, pushes them, and merges the release PR to main. - Cross-repo release verification: Confirms the namespaced Release, installer assets, version.json, latest-mac.yml feed, and changelog mirror all landed in the public bilo-io/midnite-apps repo. - Ephemeral test releases: Supports temporary releases from main with full teardown commands for cleanup after testing. - Use Case: After a human reviews the release/v1.4.0 branch prepared by the prep step, invoke this Skill to tag v1.4.0, push it, merge the PR to main, and verify the published GitHub Release and auto-update feed. ## Quick Start Run the midnite-release-complete skill on the prepared release/vX.Y.Z branch to tag, publish, and merge the release after confirming the plan.

Frequently Asked Questions about midnite-release-complete

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

FAQPage Schema
How do I finalize a prepared release branch and publish a GitHub Release?▼

Run this Skill on the release/vX.Y.Z branch after human review. It verifies preconditions, shows the full tag and publish plan for explicit confirmation, then creates annotated tags, pushes them, merges the release PR to main, and verifies the published Release.

What preconditions must pass before a release can be completed?▼

The branch must be release/vX.Y.Z with a clean tree, package versions must match the branch, the changelog must contain a dated section for that version, the RELEASES_REPO_TOKEN secret must exist, and moon ci must pass. Any failure stops the flow before changes occur.

Can I create a temporary test release without merging to main?▼

Yes, pass 'ephemeral' from main to create a test release. It tags HEAD, pushes to trigger packaging to the public apps repo, skips the PR and merge, and provides teardown commands to delete the release, tag, and reset version.json afterward.

Why does the release publish to a different repository than the source?▼

The source repo is private, so public-facing artifacts live in bilo-io/midnite-apps. Source tags stay in the private repo while the Release, installers, update feeds, and changelog mirror are published under namespaced tags like midnite-studio/vX.Y.Z in the public repo.

What happens if a push or merge fails midway through a release?▼

The Skill reports exactly what landed — whether the tag was created, pushed, or merged — so a human can finish manually. It never silently retries a partial publish, and nothing is irreversible before the first tag push.

How are release tags computed for monorepo packages?▼

Tags come from the repo's fixed planRelease function, producing a lockstep vX.Y.Z tag when all packages share a major.minor version, or scoped [email protected] tags for patch releases. For a first release with no prior tags, it tags the versions already in the tree.