원클릭으로
project-release-tagging
Use when creating, checking, or pushing release tags for this repository, especially Go module release tags.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when creating, checking, or pushing release tags for this repository, especially Go module release tags.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | project-release-tagging |
| description | Use when creating, checking, or pushing release tags for this repository, especially Go module release tags. |
Ensure published releases are consumable by all SDK users, including Go users
whose module lives under the go/ subdirectory.
Use this skill when:
go get.v0.2.0.go/go.mod as
github.com/netdata/systemd-journal-sdk/go.go/, each Go
module release must also have a tag prefixed with that subdirectory, for
example go/v0.2.0.systemd-journal-sdk; lower-level packages are
systemd-journal-sdk-common, systemd-journal-sdk-registry,
systemd-journal-sdk-core, systemd-journal-sdk-host,
systemd-journal-sdk-log-writer, systemd-journal-sdk-index, and
systemd-journal-sdk-engine./.Confirm the release version, for example v0.2.0.
Verify the worktree is clean:
git status --short --branch
Verify the Go module path:
sed -n '1,20p' go/go.mod
Check local and remote tags before creating anything:
git tag -l 'v0.2.0' 'go/v0.2.0'
git ls-remote --tags origin refs/tags/v0.2.0 refs/tags/v0.2.0^{} refs/tags/go/v0.2.0 refs/tags/go/v0.2.0^{}
If either tag exists at a different commit, stop and ask the user. Do not move, delete, force-push, or recreate tags without explicit approval.
Create annotated tags on the intended commit:
git tag -a v0.2.0 <commit> -m 'v0.2.0'
git tag -a go/v0.2.0 <commit> -m 'go/v0.2.0'
Push the branch first, then push both tags:
git push origin <branch>
git push origin v0.2.0 go/v0.2.0
Verify remote tag targets:
git ls-remote --tags origin refs/tags/v0.2.0 refs/tags/v0.2.0^{} refs/tags/go/v0.2.0 refs/tags/go/v0.2.0^{}
Report the peeled tag commit hashes to the user.
Before publishing Rust crates:
Verify rust/Cargo.toml workspace package version matches the intended
release.
Check public API compatibility since the previous release. Public Rust
struct field additions are source-breaking for downstream exhaustive struct
literals unless the struct is already #[non_exhaustive]; public method
additions are normally additive. Record the semver decision in the release
SOW before tagging.
Verify publishable internal dependencies include both package = ... and
version = ... so Cargo can replace path dependencies with registry
dependencies.
Run cargo publish --dry-run for each publishable package in dependency
order:
cargo publish --manifest-path rust/src/crates/journal-common/Cargo.toml --dry-run
cargo publish --manifest-path rust/src/crates/journal-registry/Cargo.toml --dry-run
cargo publish --manifest-path rust/src/crates/journal-core/Cargo.toml --dry-run
cargo publish --manifest-path rust/src/crates/journal-host/Cargo.toml --dry-run
cargo publish --manifest-path rust/src/crates/journal-log-writer/Cargo.toml --dry-run
cargo publish --manifest-path rust/src/crates/journal-index/Cargo.toml --dry-run
cargo publish --manifest-path rust/src/crates/journal-engine/Cargo.toml --dry-run
cargo publish --manifest-path rust/src/journal/Cargo.toml --dry-run
Cargo verifies publishable path dependencies against crates.io. For a new
release version, dependent crate dry-runs may fail until the previous crate
in dependency order has been published and indexed. In that case, dry-run
and publish one crate at a time in dependency order: dry-run common,
publish common, then dry-run registry, publish registry, and continue.
Publish in the same dependency order only after the package's dry-run passes and the SOW review gate is satisfied.
Never record crates.io tokens or credential details in durable artifacts.
git status --short --branch is clean after release work.go/go.mod: Go module path.https://go.dev/ref/mod#vcs-version.Mandatory compatibility rules when changing journal file readers, writers, fixtures, conformance tests, interoperability tests, or journalctl rewrites.
Mandatory rules when creating or editing consumer wiki documentation under docs/, including the verified-examples contract, marker grammar, placeholder paths, and validation commands.
Mandatory workflow when planning, delegating, implementing, reviewing, or closing SOW-driven work through external agents in this repository.