ovs-notes

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Skill: 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à
    /ship
    . Không suy nguồn từ CWD.
  • Purpose: 让用户即时查看 release notes(默认是 overstack framework,或当前 project),且仅进行读取。
  • Trigger(何时使用):
    • 用户想查看发布历史:“release notes”、“changelog”、“已发布过哪些版本”、“最新版本有什么内容”、“/ovs-notes”。
  • Non-goals: 不用于创建或推送 release——那是
    /ship
    。不得根据 CWD 推断 source。

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
ovs-
= lời hứa "của overstack" → mặc định xem changelog FRAMEWORK (
Rheinmir/setup
, qua
gh
), 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).
source(默认 framework · --here project · --repo 其他)→ 按最新优先顺序排列且带 source 标签的 vX.Y.Z 列表 → 用户选择版本 → 完整打印
。
ovs-
名称代表“属于 overstack”的承诺 → 默认查看 FRAMEWORK changelog(
Rheinmir/setup
,通过
gh
),无论当前位于哪个 project——不得根据 CWD 推断 source(防止误认:将 framework release 当成 project 的 release)。每次打印都必须在 header 中标注 source(council-advisory 030726)。

Input và output contract

Input 和 output contract

FieldRequired?Ý nghĩa
Inversion |
latest
khôngkhông có → in danh sách rồi hỏi chọn
In
--here
/
--repo owner/name
khôngrelease project hiện tại (git tag local, offline-ok) / repo GitHub khác
Outdanh sách
vX.Y.Z  <ngày>  <tiêu đề>
hoặc nội dung một bản
cóluôn có nhãn nguồn ở header
Outexit≠0 + "không xác nhận được"khi gh vắng/offlinekhông giả rỗng
FieldRequired?含义
Inversion |
latest
否未提供时,先打印列表并询问用户选择
In
--here
/
--repo owner/name
否当前 project 的 release(本地 git tag,支持 offline)/ 其他 GitHub repo
Out
vX.Y.Z  <日期>  <标题>
列表或单个版本的完整内容
是header 中始终包含 source 标签
Outexit≠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 ở
    harness/scripts/ovs-notes.py
    (self-contained stdlib, travel downstream) — skill chỉ điều phối gọi.
  • 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):只做编排,不要重新实现——所有逻辑均位于
    harness/scripts/ovs-notes.py
    (self-contained stdlib,可随安装向下传播),Skill 仅负责协调调用。
  • Capabilities:通过已认证的 GitHub 工具读取远程 repo 的 release,或读取本地 git tag;不会写入任何内容。

Failure boundaries

Failure boundaries

  • gh
    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.
  • 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
    /ship
    , không làm ở đây.
  • gh 缺失、offline 或尚未登录 → blocked:明确输出*“无法确认——空结果并不表示没有版本”*,exit≠0。
  • 用户尚未指定版本 → clarify:先显示列表,再询问用户选择。
  • 用户实际想创建 release → 转交
    /ship
    ,不要在此处执行。

HOW

HOW

Main workflow

Main workflow

StepTypeInputsActionOutputs/exitFailure/next
W01deterministicnguồnList: chạy
python3 harness/scripts/ovs-notes.py
(+
--here
nếu project)
changelog newest-first có nhãn nguồngh vắng → blocked, exit≠0
W02judgmentlời userChọn bản: user nêu → chạy với `<versionlatest>`; chưa nêu → hỏinội dung bản
W03deterministicoutputChỉ IN cho user đọcuser đọc được—
Chi tiết từng bước (nguồn chân lý cho W01–W03):
  1. List (mặc định): chạy
    python3 harness/scripts/ovs-notes.py
    → changelog framework newest-first (
    vX.Y.Z  <ngày>  <tiêu đề>
    ), có nhãn nguồn. User muốn release project → thêm
    --here
    .
  2. Chọn để đọc: user nêu bản ("v1.0.5"/"mới nhất") →
    python3 harness/scripts/ovs-notes.py <version|latest>
    (+
    --here
    nếu là project). Chưa nêu → hiện danh sách rồi hỏi user chọn.
  3. Chỉ IN cho user đọc. Không sửa, không tag, không push.
StepTypeInputsActionOutputs/exitFailure/next
W01deterministicsourceList:运行
python3 harness/scripts/ovs-notes.py
(如果针对 project,则加上
--here
)
带 source 标签、按最新优先顺序排列的 changeloggh 缺失 → blocked,exit≠0
W02judgment用户输入选择版本:用户已指定 → 使用 `<versionlatest>` 运行;尚未指定 → 询问版本内容
W03deterministicoutput只向用户打印内容供阅读用户可以阅读—
各步骤详情(W01–W03 的事实来源):
  1. List(默认): 运行
    python3 harness/scripts/ovs-notes.py
    → 按最新优先顺序显示 framework changelog(
    vX.Y.Z  <日期>  <标题>
    ),并附带 source 标签。用户想查看 project 的 release → 加上
    --here
    。
  2. 选择并阅读: 用户指定版本(“v1.0.5”/“最新”)→
    python3 harness/scripts/ovs-notes.py <version|latest>
    (如果针对 project,则加上
    --here
    )。尚未指定 → 显示列表并询问用户选择。
  3. 只向用户打印内容供阅读。不修改、不创建 tag、不 push。

Nguồn: framework mặc định, project qua --here (council-advisory 030726)

Source:默认 framework,project 通过 --here(council-advisory 030726)

  • --here
    → release của PROJECT hiện tại (git tag local, offline-ok).
  • --repo owner/name
    → repo GitHub khác.
  • gh
    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).
  • --here
    → 当前 PROJECT 的 release(本地 git tag,支持 offline)。
  • --repo owner/name
    → 其他 GitHub repo。
  • gh 缺失、offline 或尚未登录 → 明确输出*“无法确认——空结果并不表示没有版本”*,exit≠0(不得假装结果为空)。

Zero-model: chạy thẳng, không tốn token

Zero-model:直接运行,不消耗 token

Toàn bộ LOGIC ở
harness/scripts/ovs-notes.py
(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
/release-notes
client-side của Claude CLI (tức thì, 0 token), gõ thẳng bằng bang-prefix:
!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
Skill 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/ovs-notes.py
(位于 harness/scripts 中,因此会 TRAVEL 到每个安装了 overstack 的 project——下游 path 不会断裂)。若要完全复刻 Claude CLI 的客户端
/release-notes
(即时、0 token),请使用 bang-prefix 直接输入:
!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

IDKindGuardHành viSkip / failureRejoin
B01user_optionaluser muốn release của PROJECT hiện tạithêm
--here
(git tag local, offline-ok)
—W02
B02user_optionaluser chỉ định repo GitHub khácthêm
--repo owner/name
gh vắng → blockedW02
B03user_optionaluser muốn 0 tokengõ thẳng
!python3 harness/scripts/ovs-notes.py …
—kết thúc (không qua model)
IDKindGuard行为Skip / failureRejoin
B01user_optional用户想查看当前 PROJECT 的 release加上
--here
(本地 git tag,支持 offline)
—W02
B02user_optional用户指定其他 GitHub repo加上
--repo owner/name
gh 缺失 → blockedW02
B03user_optional用户希望 0 token直接输入
!python3 harness/scripts/ovs-notes.py …
—结束(不经过 model)

Validation và stopping

Validation 和 stopping

Nội dung do
ovs-notes.py
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 只负责将其转交给用户。打印完成后立即停止;没有任何写入步骤。

Examples

Examples

  • Positive: "bản mới nhất có gì" →
    python3 harness/scripts/ovs-notes.py latest
    → in đầy đủ notes bản framework mới nhất, header ghi nguồn
    Rheinmir/setup
    .
  • Boundary/failure: máy chưa
    gh auth login
    → 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.
  • Positive: “最新版本有什么内容” →
    python3 harness/scripts/ovs-notes.py latest
    → 完整打印 framework 最新版本的 notes,header 中注明 source
    Rheinmir/setup
    。
  • Boundary/failure: 机器尚未执行
    gh auth login
    → script 输出“无法确认——空结果并不表示没有版本”,exit≠0;不会打印空列表。