ovs-notes
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkill: ovs-notes
Skill: ovs-notes
Xem release notes tức thì — gõ phát hiện danh sách các bản để chọn & đọc. Read-only viewer, không cắt release (đó là)./ship
即时查看 release notes——输入后即可显示各版本列表,以供选择和阅读。Read-only viewer,不执行 release(那是)。/ship
WHAT
WHAT
Purpose và context
Purpose 和 context
- Purpose: cho user XEM release notes (framework overstack mặc định, hoặc project hiện tại) tức thì, chỉ đọc.
- Trigger (when to use):
- User muốn XEM lịch sử phát hành: "release notes", "changelog", "các bản đã ra", "bản mới nhất có gì", "/ovs-notes".
- Non-goals: KHÔNG dùng để cắt/đẩy release — đó là . Không suy nguồn từ CWD.
/ship
- Purpose: 让用户即时查看 release notes(默认是 overstack framework,或当前 project),且仅进行读取。
- Trigger(何时使用):
- 用户想查看发布历史:“release notes”、“changelog”、“已发布过哪些版本”、“最新版本有什么内容”、“/ovs-notes”。
- Non-goals: 不用于创建或推送 release——那是 。不得根据 CWD 推断 source。
/ship
Mental model
Mental model
nguồn (framework mặc định · --here project · --repo khác) → danh sách vX.Y.Z newest-first có nhãn nguồn → user chọn bản → in đầy đủTên = lời hứa "của overstack" → mặc định xem changelog FRAMEWORK (, qua ), dù bạn đứng ở project nào — KHÔNG suy nguồn từ CWD (chống mạo danh: release framework tưởng của project). Mỗi lần in đều dán nhãn nguồn ở header (council-advisory 030726).
ovs-Rheinmir/setupghsource(默认 framework · --here project · --repo 其他)→ 按最新优先顺序排列且带 source 标签的 vX.Y.Z 列表 → 用户选择版本 → 完整打印ovs-Rheinmir/setupghInput và output contract
Input 和 output contract
| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | version | | không | không có → in danh sách rồi hỏi chọn |
| In | | không | release project hiện tại (git tag local, offline-ok) / repo GitHub khác |
| Out | danh sách | có | luôn có nhãn nguồn ở header |
| Out | exit≠0 + "không xác nhận được" | khi gh vắng/offline | không giả rỗng |
| Field | Required? | 含义 | |
|---|---|---|---|
| In | version | | 否 | 未提供时,先打印列表并询问用户选择 |
| In | | 否 | 当前 project 的 release(本地 git tag,支持 offline)/ 其他 GitHub repo |
| Out | | 是 | header 中始终包含 source 标签 |
| Out | exit≠0 + “无法确认” | 当 gh 缺失或 offline 时 | 不得假装结果为空 |
Rules và capabilities
Rules 和 capabilities
- RULE-01 (MUST): Read-only tuyệt đối — KHÔNG bao giờ tạo/sửa tag, release, hay file. Cắt release là việc của .
/ship - RULE-02 (MUST): Nhãn nguồn bắt buộc — mỗi output nói rõ đang xem framework hay project nào (chống mạo danh — Taleb).
- RULE-03 (MUST): Fail to lớn, không giả rỗng — gh vắng/offline → nói "không xác nhận được" + exit≠0, đừng in danh sách rỗng như thể không có bản.
- RULE-04 (MUST): Compose, đừng đẻ lại: mọi logic ở (self-contained stdlib, travel downstream) — skill chỉ điều phối gọi.
harness/scripts/ovs-notes.py - Capabilities: đọc release của repo remote (qua công cụ GitHub đã auth) hoặc tag git local; không ghi gì.
- RULE-01 (MUST):绝对只读——绝不创建或修改 tag、release、file。创建 release 是 的职责。
/ship - RULE-02 (MUST):必须标注 source——每次输出都要明确说明正在查看 framework 还是哪个 project(防止误认——Taleb)。
- RULE-03 (MUST):显式失败,不得假装为空——gh 缺失或 offline 时,输出“无法确认”并 exit≠0,不要将空列表当作没有版本。
- RULE-04 (MUST):只做编排,不要重新实现——所有逻辑均位于 (self-contained stdlib,可随安装向下传播),Skill 仅负责协调调用。
harness/scripts/ovs-notes.py - Capabilities:通过已认证的 GitHub 工具读取远程 repo 的 release,或读取本地 git tag;不会写入任何内容。
Failure boundaries
Failure boundaries
- vắng/offline/chưa login → blocked: in rõ "không xác nhận được — rỗng KHÔNG nghĩa là không có bản", exit≠0.
gh - User chưa nêu bản → clarify: hiện danh sách rồi hỏi chọn.
- User thật ra muốn cắt release → chuyển , không làm ở đây.
/ship
- gh 缺失、offline 或尚未登录 → blocked:明确输出*“无法确认——空结果并不表示没有版本”*,exit≠0。
- 用户尚未指定版本 → clarify:先显示列表,再询问用户选择。
- 用户实际想创建 release → 转交 ,不要在此处执行。
/ship
HOW
HOW
Main workflow
Main workflow
| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | deterministic | nguồn | List: chạy | changelog newest-first có nhãn nguồn | gh vắng → blocked, exit≠0 |
| W02 | judgment | lời user | Chọn bản: user nêu → chạy với `<version | latest>`; chưa nêu → hỏi | nội dung bản |
| W03 | deterministic | output | Chỉ IN cho user đọc | user đọc được | — |
Chi tiết từng bước (nguồn chân lý cho W01–W03):
- List (mặc định): chạy → changelog framework newest-first (
python3 harness/scripts/ovs-notes.py), có nhãn nguồn. User muốn release project → thêmvX.Y.Z <ngày> <tiêu đề>.--here - Chọn để đọc: user nêu bản ("v1.0.5"/"mới nhất") → (+
python3 harness/scripts/ovs-notes.py <version|latest>nếu là project). Chưa nêu → hiện danh sách rồi hỏi user chọn.--here - Chỉ IN cho user đọc. Không sửa, không tag, không push.
| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | deterministic | source | List:运行 | 带 source 标签、按最新优先顺序排列的 changelog | gh 缺失 → blocked,exit≠0 |
| W02 | judgment | 用户输入 | 选择版本:用户已指定 → 使用 `<version | latest>` 运行;尚未指定 → 询问 | 版本内容 |
| W03 | deterministic | output | 只向用户打印内容供阅读 | 用户可以阅读 | — |
各步骤详情(W01–W03 的事实来源):
- List(默认): 运行 → 按最新优先顺序显示 framework changelog(
python3 harness/scripts/ovs-notes.py),并附带 source 标签。用户想查看 project 的 release → 加上vX.Y.Z <日期> <标题>。--here - 选择并阅读: 用户指定版本(“v1.0.5”/“最新”)→ (如果针对 project,则加上
python3 harness/scripts/ovs-notes.py <version|latest>)。尚未指定 → 显示列表并询问用户选择。--here - 只向用户打印内容供阅读。不修改、不创建 tag、不 push。
Nguồn: framework mặc định, project qua --here (council-advisory 030726)
Source:默认 framework,project 通过 --here(council-advisory 030726)
- → release của PROJECT hiện tại (git tag local, offline-ok).
--here - → repo GitHub khác.
--repo owner/name - vắng/offline/chưa login → in rõ "không xác nhận được — rỗng KHÔNG nghĩa là không có bản", exit≠0 (không giả rỗng).
gh
- → 当前 PROJECT 的 release(本地 git tag,支持 offline)。
--here - → 其他 GitHub repo。
--repo owner/name - gh 缺失、offline 或尚未登录 → 明确输出*“无法确认——空结果并不表示没有版本”*,exit≠0(不得假装结果为空)。
Zero-model: chạy thẳng, không tốn token
Zero-model:直接运行,不消耗 token
Toàn bộ LOGIC ở (sống ở harness/scripts nên TRAVEL xuống mọi project cài overstack — path không gãy downstream). Muốn giống hệt client-side của Claude CLI (tức thì, 0 token), gõ thẳng bằng bang-prefix:
harness/scripts/ovs-notes.py/release-notes!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ạiSkill này là lối vào NGÔN-NGỮ-TỰ-NHIÊN (khi user nói "xem release notes") — CÓ qua model một nhịp để gọi script; muốn 0-token thì dùng ở trên.
!所有 LOGIC 均位于 (位于 harness/scripts 中,因此会 TRAVEL 到每个安装了 overstack 的 project——下游 path 不会断裂)。若要完全复刻 Claude CLI 的客户端 (即时、0 token),请使用 bang-prefix 直接输入:
harness/scripts/ovs-notes.py/release-notes!python3 harness/scripts/ovs-notes.py # framework changelog(列表)
!python3 harness/scripts/ovs-notes.py latest # framework 最新版本
!python3 harness/scripts/ovs-notes.py --here # 当前 project 的 release该 Skill 是自然语言入口(当用户说“查看 release notes”时使用)——会通过 model 执行一次 script 调用;如果希望 0 token,请使用上面的 命令。
!Branches
Branches
| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | user_optional | user muốn release của PROJECT hiện tại | thêm | — | W02 |
| B02 | user_optional | user chỉ định repo GitHub khác | thêm | gh vắng → blocked | W02 |
| B03 | user_optional | user muốn 0 token | gõ thẳng | — | kết thúc (không qua model) |
| ID | Kind | Guard | 行为 | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | user_optional | 用户想查看当前 PROJECT 的 release | 加上 | — | W02 |
| B02 | user_optional | 用户指定其他 GitHub repo | 加上 | gh 缺失 → blocked | W02 |
| B03 | user_optional | 用户希望 0 token | 直接输入 | — | 结束(不经过 model) |
Validation và stopping
Validation 和 stopping
Nội dung do in (tất định); model chỉ chuyển cho user. Dừng sau khi in; không có bước ghi nào.
ovs-notes.py内容由 打印,因而是确定性的;model 只负责将其转交给用户。打印完成后立即停止;没有任何写入步骤。
ovs-notes.pyExamples
Examples
- Positive: "bản mới nhất có gì" → → in đầy đủ notes bản framework mới nhất, header ghi nguồn
python3 harness/scripts/ovs-notes.py latest.Rheinmir/setup - Boundary/failure: máy chưa → script in "không xác nhận được — rỗng KHÔNG nghĩa là không có bản", exit≠0; không in danh sách rỗng.
gh auth login
- Positive: “最新版本有什么内容” → → 完整打印 framework 最新版本的 notes,header 中注明 source
python3 harness/scripts/ovs-notes.py latest。Rheinmir/setup - Boundary/failure: 机器尚未执行 → script 输出“无法确认——空结果并不表示没有版本”,exit≠0;不会打印空列表。
gh auth login