원클릭으로
project-release-workflow
Create and push a release tag to trigger GitHub Release workflow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create and push a release tag to trigger GitHub Release workflow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | project-release-workflow |
| description | Create and push a release tag to trigger GitHub Release workflow. |
| argument-hint | <vX.Y.Z> [--dry-run] [--force-tag] |
| allowed-tools | Bash, Read, Edit, Write, Grep, Glob |
Prereqs:
git available on PATH.gh available on PATH and authenticated (gh auth status) for GitHub remotes.semantic-commit available on PATH (used for automated version-bump commit when needed).package*.json files are present: node available on PATH (used for JSON version sync).origin configured and reachable.v* tags:
.github/workflows/release.ymlon.push.tags: ["v*"]Inputs:
<version> (for example v0.1.0)--remote <name> (default origin)--dry-run (validate and print planned actions only)--force-tag (overwrite existing local/remote tag with same version)--poll-seconds <n> (default 15)--max-wait-seconds <n> (default 1800)Outputs:
vX.Y.Z -> X.Y.Z) for:
version = "..." entries in tracked Cargo.toml filesworkflows/*/workflow.toml manifests (excluding _template)package.json and package-lock.json version fieldsworkflows/bangumi-search/src/info.plist.template BANGUMI_USER_AGENT placeholder (nils-bangumi-cli/X.Y.Z)Cargo.lock workspace package versions when present.THIRD_PARTY_LICENSES.md when its inputs changed..github/workflows/ci.yml) for the release head commit is success (GitHub remotes).Release <version>).git push <remote> refs/tags/<version>).success.Exit codes:
0: success1: operational failure (git/remote/tag push error)2: usage error3: precondition failure (not git repo, dirty tree, missing remote, duplicate tag)124: timeout while waiting for release workflow/release pageFailure modes:
v).--force-tag when re-tagging an existing release version is intentional.origin (or provided remote) not configured.<PROJECT_ROOT>/.agents/skills/project-release-workflow/scripts/project-release-workflow.shgit repo, clean tree, remote exists, upstream branch ready).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..github/workflows/ci.yml) for the release head commit to complete with success.Release <version>.success.This is a project-local skill scoped to cutting and publishing a release for
this repository: version sync, release-head CI gating, annotated tag creation,
and release-page verification on the configured remote. The broader
allowed-tools set exists only to support the step 9 fix-and-retag loop on a
failing release; it must not mutate runtime-kit manifests, rendered product
output, global runtime homes, credentials, or sessions. Re-tagging an existing
release version requires the explicit --force-tag flag.
This skill is also reachable through the Claude Code /release slash command,
which dispatches here via <repo>/.agents/scripts/release.sh — a thin wrapper
that execs the script above. Args forward unchanged; behaviour is identical
whether you invoke the skill directly or type /release v0.1.0.
The skill script remains the canonical implementation per the multi-CLI mirror
rule (see claude-kit's docs/dispatcher-commands.md): codex / opencode discover
work through .agents/skills/, Claude Code reaches the same logic through the
dispatcher convention.