一键导入
release
Create a semver release with changelog, git tag, and GitHub release
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a semver release with changelog, git tag, and GitHub release
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Register bot commands with Telegram so they appear in the command menu
Rebuild miniclaw and restart the background service
Interactive setup wizard for new miniclaw users who just forked the repo
Summarise recent conversations across all threads into auto memory (MEMORY.md + topic files)
Analyse chat history to update voice and typing style guide (voice.md in auto memory)
Review git diff and suggest how to group and commit changes
| name | release |
| description | Create a semver release with changelog, git tag, and GitHub release |
Create a new semver release: infer the version, generate a changelog from commits since the last tag, and publish a GitHub release.
Infer which repo the user is working with from the conversation context. If unclear, default to the miniclaw repo (your working directory's parent).
Run git rev-parse --show-toplevel to confirm it's a valid git repo. Start your response by stating the absolute path.
cd <repo-root> && BASE=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || git branch -l main master --format '%(refname:short)' | head -1) && CURRENT=$(git branch --show-current) && echo "BASE: $BASE" && echo "CURRENT: $CURRENT" && git pull && git status
If not on the primary branch, stop and tell the user to switch first.
If the working tree is dirty, list the uncommitted changes and ask the user if they want to commit everything before proceeding. If yes, stage all changes, commit with an appropriate message, and continue.
Find the latest semver tag:
git tag -l 'v*' --sort=-v:refname | head -1
If no tags exist, the first release is v0.1.0. Use a brief "Initial release" changelog entry instead of listing every commit.
For subsequent releases, infer the next version by scanning commit messages since the last tag:
git log <last-tag>..HEAD --oneline
Apply conventional commit rules to determine the bump:
Pre-v1 (v0.x.y):
feat: or breaking changes -> bump minor (v0.1.0 -> v0.2.0)fix:, chore:, docs:, style:, refactor: -> bump patch (v0.1.0 -> v0.1.1)Post-v1 (v1.0.0+):
BREAKING CHANGE: or !: suffix) -> bump majorfeat: -> bump minorState the proposed version and why.
Group commits by type and write a changelog entry:
## vX.Y.Z (YYYY-MM-DD)
### Features
- descriptions (from feat: commits)
### Bug Fixes
- descriptions (from fix: commits)
### Improvements
- descriptions (from refactor:, chore:, docs:, style: commits)
Only include sections that have entries. Strip the conventional commit prefix (feat:, fix:, etc.) from each description.
If CHANGELOG.md doesn't exist, create it with a header:
# Changelog
All notable changes to this project will be documented in this file.
Prepend the new entry after the header (newest first). Keep all previous entries intact.
Show the user:
Ask for confirmation before proceeding.
After confirmation:
git add CHANGELOG.md
git commit -m "chore: release vX.Y.Z"
git tag vX.Y.Z
git push && git push --tags
Then create a GitHub release:
gh release create vX.Y.Z --title "vX.Y.Z" --notes "$(cat <<'EOF'
<changelog entry content here>
EOF
)"
Confirm the release was created and provide the GitHub release URL.