keyhac-release

Automates the Keyhac release pipeline from version bump through GitHub Release and PyPI publication.

6|Updated Jul 26, 2026
One-click install
npx skills add https://github.com/crftwr/keyhac --skill keyhac-release-crftwr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: keyhac-release
Source: https://github.com/crftwr/keyhac/tree/main/.claude/skills/keyhac-release
Command: npx skills add https://github.com/crftwr/keyhac --skill keyhac-release-crftwr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Releasing Keyhac spans two operating systems, a Makefile pipeline, PyPI, the Microsoft Store, and a hand-written release note — a process where a missed artifact or a wrong version bump becomes a permanent, unpublishable mistake. This Skill walks you through every gate in order so nothing ships silently incomplete. ## Core Features & Use Cases - Version confirmation and pre-tag checks: maps patch/minor/major requests to a concrete version, confirms it with you, and runs judgment checks (git log review, generated-artifact checks, the standing interactive test pass) that the automated preflight cannot cover. - Orchestrated Makefile pipeline: runs make tag, release-github, release-macos-dmg, release-whl, and release-skill in the right order, with each target independently re-runnable. - Hand-written release notes: replaces GitHub's auto-generated PR list with a user-facing note following the project's established style. - Cross-machine completion: a dedicated Windows path attaches the portable zip and optionally submits the MSIX to the Microsoft Store against an existing tag. - Use Case: You say "release a patch version of Keyhac" — the Skill confirms 2.2.3 becomes 2.2.4, verifies the interactive test pass status, cuts the tag, publishes the Release with a proper note, and reports the Windows artifacts as remaining for the second session. ## Quick Start Tell the assistant "release a patch version of Keyhac" and it will confirm the target version with you before running the pre-tag checks and the release pipeline.

Frequently Asked Questions about keyhac-release

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

FAQPage Schema
How do I release a new version of Keyhac?

State the bump type (patch, minor, or major) and confirm the resulting version number. The Skill then runs pre-tag checks, executes `make tag VERSION=x.y.z`, creates the GitHub Release, and attaches the DMG, wheel, and skill bundles via Makefile targets.

How do I finish a Keyhac release on Windows?

On the Windows machine, check out the release tag and run `make release-windows-zip` to attach the portable zip to the existing GitHub Release. Optionally run `make release-windows-msix` to submit to the Microsoft Store, then verify with `make release-status`.

Does the Keyhac release process work from a single machine?

No. The macOS DMG builds and notarizes on macOS, while the win64 zip and Store MSIX build on Windows, so a release spans two sessions. Each session reports the other OS's artifacts as explicitly remaining rather than marking the release done.

Why does the release require an interactive test pass first?

Live checks like tray menu interaction, IME driving the chooser, and mouse feel cannot run in an automated harness because the agent shell never holds window-server key focus. Any pass not repeated by the user is recorded as skipped, never silently assumed.

What happens if the version bump is wrong during a release?

The Skill confirms the exact target version with you before any checks run, because `make tag` pushes a tag and PyPI versions can never be re-uploaded. The preflight script also enforces a well-formed version strictly ahead of the current one.