Release
Cut a strike-cli GitHub release from main — preflight, notes, annotated tag, watch release.yml, verify assets. Use when shipping a version (v0.x.y), tagging, or preparing release notes.From its SKILL.md
npx -y skills add dayvidpham/aura-plugins --skill releaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.0 KB, as published. Nobody here has run it
Release (strike-cli)
Ship a version tag that triggers .github/workflows/release.yml (multi-arch archives + GitHub Release).
Preconditions
gh auth statusok; push rights to the repo that owns tags.- Working tree clean on an up-to-date
main(or explicit commit SHA to tag). - User confirmed version number (e.g.
v0.1.0) and that this is intentional.
Stop-and-ask if main CI is red, an open release-block issue exists, or the tag already exists.
Preflight
git fetch origin main --tags
git checkout main
git merge --ff-only origin/main
git status -sb # must be clean, main == origin/main
gh run list --branch main --limit 3 # latest CI success preferred
git tag -l 'v*' | tail -5
git log "$(git describe --tags --abbrev=0)..HEAD" --oneline
Load test-and-validate tier B (or C if trust-boundary commits dominate since last tag). Prefer green CI on main over re-running the full suite locally when CI is already success on HEAD.
Optional: load smoke for a quick product check.
Changelog
Draft the version entry from git log PREV..HEAD before tagging. Follow the
standard in CHANGELOG.md and docs/contributing.md: rename [Unreleased] to
[vX.Y.Z] - YYYY-MM-DD, add a fresh [Unreleased], and update the comparison
links. Commit and push that entry to main; the release workflow fails if the
tag has no matching non-empty entry.
Include:
- User-facing changes grouped under the standard categories
- Breaking/default changes (keybinds, config) if any
- Upgrade note when relevant
Do not ship install-only boilerplate or copy implementation-only commit activity into the changelog.
Tag and push
VERSION=v0.x.y # user-confirmed
git tag -a "$VERSION" -m "strike $VERSION
<one-line summary>
"
git push origin "$VERSION"
Never force-push tags. Never tag a dirty tree or a commit not on origin/main unless the user explicitly requests a pre-release from a branch.
Watch workflow
gh run list --workflow=release.yml --limit 3
gh run watch <id> --exit-status
gh release view "$VERSION"
Confirm assets: linux/darwin × amd64/arm64 tarballs + checksums.txt.
Verify GitHub release body
release.yml creates the install block and copies the matching changelog entry.
Verify both are present:
gh release view "$VERSION" --json body --jq .body
Post-verify
gh release view "$VERSION" --json tagName,assets,url
# optional: strike --upgrade / install script against the new tag
Report
- Tag, commit SHA, release URL
- Workflow conclusion
- Asset names
- Whether the body matches the versioned changelog entry
Hard rules
- No force tag move; no secrets in notes.
- No release while main CI is failing unless user overrides in writing.
- Annotated tags only (
-a). - Prefer patch/minor policy the user stated; default to their explicit version string.