Install
$ agentstack add skill-bitwise-media-group-skills-go-release ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Go release engineering
Tag-driven releases: pushing a vX.Y.Z tag builds cross-platform archives, checksums, SBOMs, and multi-arch container images via GoReleaser. CI gates every push; Dependabot keeps everything — including the action pins — fresh. This layers on the layout and Makefile from the go-project skill.
1. Stamp version metadata into internal/version
// Package version exposes build metadata stamped into the binary at link time.
// Keep these as vars (not consts) so -ldflags "-X ..." can rewrite them; an
// unbuilt or `go run` binary reports the defaults.
package version
var (
Version = "dev" // semver release tag, e.g. v1.2.3
Commit = "none" // short git SHA
BuildDate = "unknown" // RFC3339 UTC build timestamp
)
Both make build and GoReleaser inject the same vars at the same import path:
-ldflags "-s -w -X /internal/version.Version={{ .Version }} ..."
Expose the metadata through --version output or a GET /version endpoint.
2. GoReleaser config
Copy [templates/goreleaser.yaml](templates/goreleaser.yaml) to .goreleaser.yaml and replace the myapp / OWNER/REPO placeholders. What it encodes:
- Static, reproducible binaries:
CGO_ENABLED=0,-trimpath,-s -w, for linux + darwin ×
amd64 + arm64.
tar.gzarchives shipping theLICENSE, achecksums.txt, and an SBOM per archive —
generated by the syft pinned in tools/go.mod and invoked via go tool, so nothing needs to be on PATH.
- A changelog that excludes
docs:/test:/chore:/ci:conventional-commit prefixes. dockers_v2multi-arch images (buildx) pushed to GHCR with OCI annotations.
Validate locally with make snapshot (goreleaser release --snapshot --clean) — full build, no publish.
3. CI workflow
Copy [templates/ci.yaml](templates/ci.yaml) to .github/workflows/ci.yaml. Every push and pull request runs go build, go vet, go test -race, and govulncheck. Conventions:
- The Go version comes from
go.mod(go-version-file), never hard-coded in the workflow. - Every action is pinned to a full commit SHA with the tag in a trailing comment — a moved tag
can never change what runs. Dependabot keeps the pins fresh.
permissions: contents: read— the default token does nothing else.
4. Release workflow
Copy [templates/release.yaml](templates/release.yaml) to .github/workflows/release.yaml. It triggers on v* tags, checks out with fetch-depth: 0 (GoReleaser needs full history for the changelog), sets up QEMU + buildx for multi-arch images, logs into GHCR with the built-in GITHUB_TOKEN, and runs goreleaser release --clean — SBOMs come from the pinned syft via go tool, so there is no separate syft install step. Cutting a release is exactly: push a semver tag.
5. Dependabot
Copy [templates/dependabot.yaml](templates/dependabot.yaml) to .github/dependabot.yaml: daily checks with a 7-day cooldown, minor + patch bumps grouped into one PR per ecosystem (majors arrive as individual PRs). tools/go.mod gets its own gomod entry — Dependabot does not descend into nested modules — so developer-tool bumps never ride along with application dependency PRs, and the github-actions entry keeps the workflow SHA pins fresh. For the rationale behind each knob and the full ecosystem matrix (docker, docker-compose, uv, …), see [reference.md](reference.md).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bitwise-media-group
- Source: bitwise-media-group/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.