Install
openclaw skills install tag-release按日期规则为一个或多个微服务基于指定分支创建并推送远程 release tag。适用于用户明确要求打 release tag、批量打 tag、按日期生成 tag、或基于 test/master 等分支给服务发布 tag 的场景。模型只负责整理服务、分支、日期或 tag 名,实际执行必须调用本 skill 自带脚本。
openclaw skills install tag-release把“按分支给一个或多个服务打远程 release tag”的流程交给固定脚本处理;不要让模型自己临时拼 git 命令批量打 tag。
当前默认行为:打 tag 时,同时创建同名 GitHub Release。
只有默认行为:
以下情况不要触发本 skill:
模型只做这些事:
--dry-run模型不要:
脚本路径:scripts/tag_release.py
基础调用:
python3 <skill_dir>/scripts/tag_release.py \
--services cloud-device cloud-data \
--branch master
指定日期:
python3 <skill_dir>/scripts/tag_release.py \
--services cloud-device \
--branch master \
--date 2026-05-18
指定完整 tag:
python3 <skill_dir>/scripts/tag_release.py \
--services cloud-device \
--branch master \
--tag release-2.5.18
指定 release 描述:
python3 <skill_dir>/scripts/tag_release.py \
--services cloud-device \
--branch master \
--message '修复设备分页和版本展示'
预演:
python3 <skill_dir>/scripts/tag_release.py \
--services cloud-device cloud-data \
--branch master \
--dry-run
--services:直接使用 config.json 里的仓库键名;如果用户只说了模糊服务名,可先做一次合理匹配,但匹配到多个时要报错--branch:优先使用用户指定分支;未指定时固定使用 master--date:格式必须是 YYYY-MM-DD;未指定时默认今天--tag:若用户明确给出完整 tag,则直接使用,不再按日期规则生成--message:若用户明确给了 release 描述,则直接作为 annotated tag message;未给时自动用最新 PR 信息生成描述;若 PR 信息也拿不到,则回退为 tag from origin/<branch>--dry-run:当用户说“先看看/先预览/别真的打”时使用成功时重点汇报:
失败时直接汇报失败服务和原因,例如:
脚本执行成功后,回复里应尽量补充以下信息:
如果 GitHub API 查询失败,不要因此阻塞打 tag 主流程;应明确说明“tag 已完成,但 PR 信息获取失败”。
默认 tag 规则由脚本内置:
release-{year_index}.{month}.{day:02d}
其中:
year_index = year - base_yearbase_year = 2024例如:
release-1.5.18release-2.5.18scripts/tag_release.pyassets/config.jsongithub_token 允许用于这条固定链路:查询目标分支 commit、查询最新合入 PR、检查远程 tag / release、创建 annotated tag、创建 tag ref、创建 release