git-publish-release
Solid当用户明确要求发布项目到 GitHub、创建 GitHub Release 或生成 Release Notes 时使用。根据版本历史整理发布说明;仅要求预览时不执行发布。
Code & Development 48 stars
7 forks Updated today MIT
Install
Quality Score: 86/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# GitHub Release
## 目标
当用户明确要求"发布项目到 GitHub"、"创建 GitHub Release"或"生成 Release Notes"时使用。智能分析 tag 间历史变化并生成专业的 Release Notes;明确发布/创建请求时自动创建 GitHub Release,单独的 notes/历史总结请求仅生成预览,除非用户随后确认发布。支持首次发布、常规版本、预发布版本(alpha/beta/rc),自动识别 prerelease 标记。
## 流程
### 输入
#### 触发条件
用户需要:
- 发布项目的新版本到 GitHub
- 创建 GitHub Release 并自动生成 Release Notes
- 推送某个 tag 到 GitHub 并创建 release
- 总结版本间的历史变化
#### 你需要确认的输入
1. **目标 tag**(如 `v3.0.0`)
- 如未指定,列出最近 tags 供选择
2. **项目路径**(可选,默认当前工作目录)
3. **任务输出目录**(宿主可设置 `TASK_OUTPUT_DIR`,指向本轮已声明的
`./.bensz-api/task-.../git-publish-release/output/`;未设置时临时 notes 使用 OS 临时目录并立即清理)
> 认证通过 `gh auth login` 管理,无需手动配置 token。
明确要求“发布项目到 GitHub”或“创建 GitHub Release”时,按配置执行远程发布;仅要求“生成 Release Notes”或“总结版本间的历史变化”时只生成文案/预览,不调用 `gh release create`,除非用户随后明确确认发布。`release.require_confirmation` 的含义是:明确发布/创建请求可作为本次授权,覆盖已有 Release 仍按下方错误处理规则询问;不得把文案生成请求视为远程发布授权。
### 执行步骤
#### 工作流程
##### 确认项目信息
```bash
# 获取 owner/repo
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
```
##### 获取最新 Release 信息
```bash
# 获取最近一次 release 的 tag
PREVIOUS_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName')
```
- 如果存在历史 release,比较范围为:`PREVIOUS_TAG..TARGET_TAG`
- 如果是首个 release,比较范围为:从初始 commit 到 `TARGET_TAG`
##### 分析历史变化
获取两个版本之间的 commit 历史:
```bash
# 如果有历史 release
git log ${PREVIOUS_TAG}..${TARGET_TAG} --pretty=format:"%h|%s|%an|%ad" --date=short
# 如果是首个 release
git log ${TARGET_TAG} --pretty=format:"%h|%s|%an|%ad" --date=short
```
##### 生成 Release Notes
根据 commit 历史和...
Details
- Author
- huangwb8
- Repository
- huangwb8/skills
- Created
- 8 months ago
- Last Updated
- today
- Language
- Python
- License
- MIT
Similar Skills
Semantically similar based on skill content — not just same category
AI & Automation Listed
gh-release
当用户要求"打 tag/发 Release/发布版本/GitHub Release"时触发。 用 gh CLI 创建 GitHub Release,配合 changelog 生成 notes。 这是 SDLC 的最后一步:archive-change 之后可选调用。
1 Updated 4 weeks ago
structure-projects AI & Automation Listed
release
打 tag 发布版本:读取版本号与 CHANGELOG,打带注释的 git tag、推送到远程、创建 GitHub Release(含 Release notes 与构建产物如 vsix)。当用户输入 release / 打tag发布 / 发版 时触发。用户主动触发即授权完整流程(git tag -a + git push tag + gh release create),标准情况无需逐次确认;遇 tag 已存在等异常暂停询问;发布成功后删除本次构建的本地产物。
0 Updated today
xhqing AI & Automation Listed
create-release-note
从 PR 和 commit 生成版本发布说明。 当准备发版、需要从 PR 与 commit 汇总发布说明时使用。
84 Updated today
fitlab-ai