polykybd-github-release

Drafts and stages GitHub Releases with customer-facing notes for PolyKybd firmware, host, and WinCompose.

5|1|Updated Aug 18, 2023
One-click install
npx skills add https://github.com/thpoll83/PolyKybdHost --skill polykybd-github-release-thpoll83
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: polykybd-github-release
Source: https://github.com/thpoll83/PolyKybdHost/tree/main/.claude/skills/polykybd-github-release
Command: npx skills add https://github.com/thpoll83/PolyKybdHost --skill polykybd-github-release-thpoll83

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Cutting a GitHub Release for the PolyKybd projects involves error-prone details: resolving the correct version range from bump commits, writing customer-facing release notes in the right voice, staging notes on the release-notes branch, and avoiding traps like the [skip ci] tag-push that never triggers CI. This Skill walks through the whole process with a mandatory user review gate before anything is published. ## Core Features & Use Cases - Version range resolution: Anchors the release range on the last published GitHub release rather than in-tree bump commits, with shallow-clone detection to avoid wrong commit sets. - Release-note drafting: Applies a three-tier format (customer-facing sections, collapsed minor entries, a single maintenance line) with concise bullets and a compatibility lead-in. - Metadata and hand-off: Crafts the release title, tag, and latest flag, stages <TAG>.md on the release-notes branch, and hands the user a publish_release.py one-liner since the environment cannot push tags or publish releases. - Use Case: Ask to "release the firmware" and the Skill resolves the range (e.g. 0.9.24 to 0.9.42), drafts notes newest-first, presents them rendered for approval, then stages the file and gives you the publish command. ## Quick Start Ask the assistant to cut a GitHub release for the PolyKybd firmware, host app, or WinCompose at a specific version.

Frequently Asked Questions about polykybd-github-release

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

FAQPage Schema
How do I create a GitHub release for the PolyKybd firmware?

Resolve the range from the last published release to the current FW_VERSION, draft notes newest-first, get user approval, then stage <TAG>.md on the release-notes branch. The user publishes with scripts/publish_release.py, which triggers CI to build and attach the .bin, .uf2, and .plyx assets.

Why doesn't pushing a tag trigger the release workflow?

Release tags land on the auto-bump commit whose message contains [skip ci], which suppresses GitHub's push trigger. Releases are created by publishing through the UI or gh release create, which fires the release: published event that the release.yml workflows listen for.

How are release notes delivered to the GitHub release?

Crafted notes are staged as <TAG>.md on the unprotected release-notes branch, with the first line as the title. On release: published, CI fetches that file and applies it via gh release edit, overwriting any body typed in the UI.

What happens when a release range includes a PROTOCOL_VERSION bump?

Both the host and firmware releases must be cut, with the host published first. The host connects to any protocol at or above its minimum and gates features individually, so an old host silently pairs with new firmware while leaving new features disabled.

When should WinCompose's status.txt Latest version be bumped?

Only after the release is published. Updater.cs reads status.txt from the main branch, so bumping early announces a release that does not exist yet, while forgetting it means existing installs never learn about the update.

Can this Skill publish the release itself?

No. The environment cannot push tags (the git proxy returns 403 on refs/tags) and has no release-creation API access. It stages the notes and hands the user a publish_release.py command or UI steps, then verifies the result afterward.