Validate version format and tag uniqueness (local + remote).
Sync versions (Cargo.toml + workflow manifests + root package*.json + Bangumi User-Agent placeholder), refresh
Cargo.lock and tracked THIRD_PARTY_LICENSES.md as needed, then commit/push when changes exist.
Wait CI workflow (.github/workflows/ci.yml) for the release head commit to complete with success.
Create annotated tag Release <version>.
Push tag to remote.
Wait release workflow for the tag to complete with success.
Wait release page to appear for the tag.
If CI/release workflow fails, fix root cause on branch, update/push fix commit, then recreate/re-push tag and repeat until green.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: nils-alfredworkflow-release-workflow3description: Create and push a release tag to trigger GitHub Release workflow. Use when this capability is needed.4---56# Release Tag78## Contract910Prereqs:1112- Run inside this repository git work tree.13- `git` available on `PATH`.14- `gh` available on `PATH` and authenticated (`gh auth status`) for GitHub remotes.15- `semantic-commit` available on `PATH` (used for automated version-bump commit when needed).16- If tracked `package*.json` files are present: `node` available on `PATH` (used for JSON version sync).17- Remote `origin` configured and reachable.18- Release workflow listens on `v*` tags:19 - `.github/workflows/release.yml`20 - `on.push.tags: ["v*"]`2122Inputs:2324- Required:25 - `<version>` (for example `v0.1.0`)26- Optional:27 - `--remote <name>` (default `origin`)28 - `--dry-run` (validate and print planned actions only)29 - `--force-tag` (overwrite existing local/remote tag with same version)30 - `--poll-seconds <n>` (default `15`)31 - `--max-wait-seconds <n>` (default `1800`)3233Outputs:3435- Syncs version values to the provided input version (`vX.Y.Z` -> `X.Y.Z`) for:36 - explicit `version = "..."` entries in tracked `Cargo.toml` files37 - tracked `workflows/*/workflow.toml` manifests (excluding `_template`)38 - tracked root `package.json` and `package-lock.json` version fields39 - `workflows/bangumi-search/src/info.plist.template` `BANGUMI_USER_AGENT` placeholder (`nils-bangumi-cli/X.Y.Z`)40- Refreshes tracked `Cargo.lock` workspace package versions when present.41- Regenerates tracked root `THIRD_PARTY_LICENSES.md` when its inputs changed.42- Creates a version-bump commit when sync changes are needed.43- Pushes the version-bump commit to the current upstream branch.44- Waits until CI workflow (`.github/workflows/ci.yml`) for the release head commit is `success` (GitHub remotes).45- Creates an annotated git tag (`Release <version>`).46- Pushes tag to remote (`git push <remote> refs/tags/<version>`).47- Waits until the release workflow run for the pushed tag is `success`.48- Waits until release page exists for the pushed tag (GitHub remotes).49- Success is reported only after both checks above pass.5051Exit codes:5253- `0`: success54- `1`: operational failure (`git`/remote/tag push error)55- `2`: usage error56- `3`: precondition failure (not git repo, dirty tree, missing remote, duplicate tag)57- `124`: timeout while waiting for release workflow/release page5859Failure modes:6061- Invalid version format (must start with `v`).62- Working tree not clean.63- Current branch has no upstream or is behind upstream.64- Tag already exists locally or on remote.65 - Use `--force-tag` when re-tagging an existing release version is intentional.66- `origin` (or provided remote) not configured.67- Push failed due to auth/permissions/network.68- CI workflow run failed for the release head commit.69- Release workflow run failed for the pushed tag.70- Release page did not appear before timeout.7172## Scripts (only entrypoints)7374- `<PROJECT_ROOT>/.agents/skills/nils-alfredworkflow-release-workflow/scripts/nils-alfredworkflow-release-workflow.sh`7576## Workflow77781. Validate repository state (`git` repo, clean tree, remote exists, upstream branch ready).792. Validate version format and tag uniqueness (local + remote).803. Sync versions (`Cargo.toml` + workflow manifests + root `package*.json` + Bangumi User-Agent placeholder), refresh81 `Cargo.lock` and tracked `THIRD_PARTY_LICENSES.md` as needed, then commit/push when changes exist.824. Wait CI workflow (`.github/workflows/ci.yml`) for the release head commit to complete with `success`.835. Create annotated tag `Release <version>`.846. Push tag to remote.857. Wait release workflow for the tag to complete with `success`.868. Wait release page to appear for the tag.879. If CI/release workflow fails, fix root cause on branch, update/push fix commit, then recreate/re-push tag and repeat until green.8889---90> Converted and distributed by [TomeVault](https://tomevault.io/claim/graysurf) — claim your Tome and manage your conversions.91<!-- tomevault:4.0:skill_md:2026-04-15 -->
Run npx get-skill add tomevault-io/nils-alfredworkflow-release-workflow in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Create and push a release tag to trigger GitHub Release workflow. Use when this capability is needed. It is listed under Productivity on SkillMD.
SkillMD's automated safety review verdict for this skill is PASS. Independent scanners report: SkillSpector: CAUTION, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.