release · git:20260703.136688b · 2026-07-03 · sha256 32c4585f3ce1e128
release git:20260703.136688bA
Immutable. This exact content is served forever at /api/v1/blob/32c4585f3ce1e128.
--- name: release description: Bump the unified JobPilot version (host + plugin), commit, and tag a new release user-invocable: true --- # Release Skill Cut a new JobPilot release. Host and plugin share **one version** and ship from **one tag** (`vX.Y.Z`), which triggers `.github/workflows/release.yml` - it builds the terminal binaries for all RIDs, publishes the GitHub Release (terminal archives + `jobpilot-plugin.tar.gz`), and syncs the plugin tree into the `claude-plugins` and `codex-plugins` marketplaces. ## Usage The user provides a version (e.g. `2.1.0`) or a bump type (`major`, `minor`, `patch`). With no argument, default to a `patch` bump. ## Context - **Version source of truth (must stay in lockstep):** - `apps/terminal/JobPilot.Terminal.csproj` - the `<Version>` element - `plugin/.claude-plugin/plugin.json` - `"version"` - `plugin/.codex-plugin/plugin.json` - `"version"` - `package.json` - `"version"` - **Tag format:** `vX.Y.Z` (matches the `v*` trigger in `release.yml`). - **Release notes:** the workflow sets `generate_release_notes: true` - no CHANGELOG needed. ## Steps 1. **Determine the new version:** - Read the current version from all four files above. - If they differ, report the mismatch and reconcile to the highest before bumping. - Use the user's explicit version, else compute from the bump type, else bump patch. - Verify the new version is strictly greater than the current highest. 2. **Pre-flight checks** (stop and report on any failure - do not paper over): - Working tree is clean (`git status`). - Current branch is `main` (or ask if on another branch). - No existing tag `vX.Y.Z` (`git tag -l`). 3. **Bump version:** set the new version in all four files. 4. **Commit:** stage the four files, commit `chore: release vX.Y.Z`. 5. **Tag:** `git tag -a vX.Y.Z -m "JobPilot vX.Y.Z"`. 6. **Report:** show the new version and tag, and remind the user to run `git push && git push origin vX.Y.Z` to trigger `release.yml`. ## Do NOT - Do not push - the user pushes when ready. - Do not let the four version fields drift - bump all to the same value. - Do not use `--no-verify` / `--no-gpg-sign` if hooks fail - report instead. - Do not amend a previous commit to roll the version - always a new commit.