release-prep
Prepare a new agentsync release — validates goreleaser config, summarizes commits since the last tag against the changelog filters in .goreleaser.yaml, proposes the next semantic version, and runs a snapshot build. Does NOT tag or push — that remains a manual step requiring user confirmation.
- License 许可
- MIT
- 最近更新
- 2026-08-21
- Stars
- ★ 2
- Forks
- 0
01 前言 Front Matter
- name
- release-prep
- description
- Prepare a new agentsync release — validates goreleaser config, summarizes commits since the last tag against the changelog filters in .goreleaser.yaml, proposes the next semantic version, and runs a snapshot build. Does NOT tag or push — that remains a manual step requiring user confirmation.
03 SKILL.md 正文
Release Prep
Goal: produce a release-readiness report and a proposed version bump for the user to approve. Never tag, push, or invoke goreleaser release (non-snapshot) yourself — those actions affect remotes and are out of scope.
Procedure
1. Confirm clean state
git status --porcelain
git rev-parse --abbrev-ref HEAD
Abort with a clear message if there are uncommitted changes or the branch is not main. Releases should cut from a clean main.
2. Identify the current and previous tag
git describe --tags --abbrev=0 # latest tag, e.g. v0.4.2
git tag --sort=-v:refname | head -5
3. Summarize commits since the last tag
git log <last-tag>..HEAD --pretty=format:'%h %s'
Group the output by the changelog regex groups in .goreleaser.yaml (Features = ^.*feat[(\w)]*:+.*$, Bug fixes = ^.*fix[(\w)]*:+.*$, Refactors = ^.*refactor[(\w)]*:+.*$, Other = everything not excluded by ^docs:, ^chore:, ^test:, ^ci:, ^style:).
4. Propose the next version
Apply conventional-commit semver inference:
- Any
feat!:/BREAKING CHANGE:→ bump major. - Any
feat:(and no breaking) → bump minor. - Only
fix:/refactor:/chore:→ bump patch. - No commits since last tag → no release; report and stop.
State the proposed version and the rule that produced it.
5. Validate the goreleaser config
make release-check # runs `goreleaser check`
Surface any errors verbatim.
6. Build a snapshot
make release-snapshot # goreleaser release --snapshot --clean --skip=publish
This validates that the build pipeline (builds, archives, homebrew_casks rendering) succeeds locally without publishing. Then list dist/ and confirm the expected per-OS/per-arch archives are present:
ls dist/
7. Report
# Release prep: <proposed-version>
## Branch: main (clean)
## Last tag: <vX.Y.Z>
## Commits since: N
### Features
- <hash> <subject>
### Bug fixes
- <hash> <subject>
### Refactors
- <hash> <subject>
### Other
- <hash> <subject>
## Proposed version: <vX.Y.Z+1>
## Bump rule: <major | minor | patch> — <one-line justification>
## goreleaser check: <pass/fail>
## snapshot build: <pass/fail>
## dist artifacts: <count> archives
End with the exact commands the user can run to actually cut the release — do not run them:
git tag <vX.Y.Z+1>
git push origin <vX.Y.Z+1>
The Homebrew tap publish path requires the HOMEBREW_TAP_KEY env var (see .goreleaser.yaml and a7e56d3); flag this if the env var is unset locally so the user knows the publish step will need it in CI.
04 同仓库更多 Skills
code-reviewer
Reviews code for quality, bugs, and security issues.
commit
Conventional commit helper sourced from Mistral Vibe
code-review
Code reviewer sourced from Mistral Vibe. Use to review or audit changes.
code-review
Code reviewer sourced from JetBrains Junie. Use to review or audit changes.
code-review
Code reviewer sourced from Cline. Use to review or audit changes.
path-scoped
Context-aware TypeScript helper. Auto-activates when TypeScript files are in scope.