mcpField
O
ovs-notes

ovs-notes

github.com/rheinmir开发10216 次安装2 周前更新
代码仓库

关于 ovs-notes

ovs-notes 是用于只读查看 overstack 框架、当前项目或其他 GitHub 仓库发布说明的技能。它会标明来源,并可列出版本或显示指定版本的说明。

主要功能

  1. 01按时间倒序列出版本
  2. 02显示指定版本的说明
  3. 03选择框架、当前项目或其他仓库
  4. 04标明发布说明来源
  5. 05无法确认远程版本时明确报错

适用场景

  1. 01查看框架最新发布说明
  2. 02查看本地项目的发布标签
  3. 03阅读其他 GitHub 仓库的版本说明

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rheinmir/setup --skill ovs-notes

安装后在 Claude Code 中输入/ovs-notes确认已加载。

详细介绍

Skill:ovs-notes

即时查看发行说明——输入后显示可供选择和阅读的版本列表。只读查看器,不负责发布版本(那是 /ship)。

WHAT

目的和上下文
  • 目的: 让用户即时、只读地查看发行说明(默认查看 overstack 框架,或当前项目)。
  • 触发条件(何时使用):
    • 用户想查看发行历史:“release notes”“changelog”“已发布的版本”“最新版本有什么内容”“/ovs-notes”。
  • 非目标: 不要用于创建或推送发行版本——那是 /ship。不要根据 CWD 推断来源。
心智模型

来源(默认框架 · --here 项目 · --repo 其他仓库)→ 按从新到旧排列、带来源标签的 vX.Y.Z 列表 → 用户选择版本 → 完整打印内容。

名称 ovs- = 承诺“属于 overstack” → 默认查看框架的变更日志(Rheinmir/setup,通过 gh),无论你当前位于哪个项目——不要根据 CWD 推断来源(避免冒名顶替:把框架发行版本误认为项目发行版本)。每次打印时,header 中都必须标注来源(council-advisory 030726)。

输入和输出约定
字段必填?含义
输入version | latest否未提供 → 打印列表,然后询问要选择哪个版本
输入--here / --repo owner/name否当前项目的发行版本(本地 git tag,可离线使用)/ 其他 GitHub 仓库
输出vX.Y.Z <日期> <标题> 列表或某个版本的内容是header 中始终带有来源标签
输出exit≠0 +“无法确认”gh 缺失/离线时不要假装结果为空
规则和能力
  • RULE-01(MUST):绝对只读——绝不创建或修改 tag、release 或文件。创建发行版本是 /ship 的工作。
  • RULE-02(MUST):必须标注来源——每次输出都明确说明当前查看的是框架,还是哪个项目(防止冒名顶替——Taleb)。
  • RULE-03(MUST):明确失败,不要假装结果为空——gh 缺失/离线时 → 提示“无法确认” + exit≠0;不要打印空列表,装作没有任何版本。
  • RULE-04(MUST):组合使用,不要重复造轮子:所有逻辑都放在 harness/scripts/ovs-notes.py(自包含 stdlib,可向下游移植)——skill 只负责协调调用。
  • 能力:读取远程仓库的发行版本(通过已认证的 GitHub 工具)或本地 git tag;不写入任何内容。
故障边界
  • gh 缺失/离线/尚未登录 → 受阻:明确打印 “无法确认——空结果不代表没有版本”,exit≠0。
  • 用户未指定版本 → 澄清:显示列表,然后询问要选择哪个版本。
  • 用户实际上想创建发行版本 → 转到 /ship,不要在此处处理。

HOW

主要工作流
步骤类型输入操作输出/退出状态失败/后续
W01确定性来源列出:运行 python3 harness/scripts/ovs-notes.py(项目时加上 --here)带有来源标签、按从新到旧排列的变更日志gh 缺失 → 受阻,exit≠0
W02判断用户表述选择版本:用户指定 → 使用 `<versionlatest>` 运行;未指定 → 询问版本内容
W03确定性输出仅打印供用户阅读用户可阅读—

各步骤的详细说明(W01–W03 的事实来源):

  1. 列出(默认): 运行 python3 harness/scripts/ovs-notes.py → 按从新到旧排列的框架变更日志(vX.Y.Z <日期> <标题>),带有来源标签。用户想查看项目的发行版本 → 添加 --here。
  2. 选择版本阅读: 用户指定版本(“v1.0.5”/“最新版本”)→ 运行 python3 harness/scripts/ovs-notes.py <version|latest>(如果是项目,加上 --here)。未指定 → 显示列表,然后询问用户要选择哪个版本。
  3. 仅打印供用户阅读。不要修改、打 tag 或 push。
来源:默认框架,项目使用 --here(council-advisory 030726)
  • --here → 当前项目的发行版本(本地 git tag,可离线使用)。
  • --repo owner/name → 其他 GitHub 仓库。
  • gh 缺失/离线/尚未登录 → 明确打印 “无法确认——空结果不代表没有版本”,exit≠0(不要假装结果为空)。
Zero-model:直接运行,不消耗 token

全部逻辑都在 harness/scripts/ovs-notes.py 中(位于 harness/scripts,因此会 随之迁移到所有安装了 overstack 的项目中——下游路径不会断裂)。想要与 Claude CLI 客户端侧的 /release-notes 完全一致(即时、0 token),请使用 bang 前缀直接输入:

!python3 harness/scripts/ovs-notes.py            # changelog framework (list)
!python3 harness/scripts/ovs-notes.py latest     # bản framework mới nhất
!python3 harness/scripts/ovs-notes.py --here     # release project hiện tại

此技能是自然语言入口(当用户说“查看 release notes”时)——需要经过模型一步来调用脚本;若想要 0-token,请使用上面的 !。

分支
ID类型条件行为跳过 / 失败汇合
B01user_optional用户想查看当前项目的发行版本添加 --here(本地 git tag,支持离线)—W02
B02user_optional用户指定了其他 GitHub 仓库添加 --repo owner/name缺少 gh → 阻塞W02
B03user_optional用户想要 0 token直接输入 !python3 harness/scripts/ovs-notes.py …—结束(不经过模型)
验证与停止

ovs-notes.py 打印的内容是权威内容;模型只会转交给用户。打印后即停止;没有写入步骤。

示例
  • 正向:“最新版本有什么新内容” → python3 harness/scripts/ovs-notes.py latest → 完整打印最新框架版本的 notes,标头注明来源 Rheinmir/setup。
  • **边界/失败:**机器尚未执行 gh auth login → 脚本打印“无法确认——为空不代表没有版本”,退出码≠0;不会打印空列表。

评论

支持 Markdown