ワンクリックで
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 ページを確認してインストールできます。
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.
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.