ovs-notes について
ovs-notesは、overstackフレームワーク、現在のプロジェクト、または別のGitHubリポジトリのリリースノートを読み取り専用で表示するスキルです。対象を明示し、リリース一覧や指定バージョンの内容を確認できます。
主な機能
- 01新しい順にリリースを一覧表示
- 02指定バージョンのノートを表示
- 03フレームワーク・現プロジェクト・別リポジトリを選択
- 04リリース元を明記
- 05リモートのリリースを確認できない場合に通知
活用シーン
- 01フレームワークの最新リリースノートを確認
- 02ローカルプロジェクトのリリースタグを確認
- 03別のGitHubリポジトリのリリースを読む
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rheinmir/ setup --skill ovs-notesインストール後、Claude Code で/ovs-notesを入力して読み込まれたか確認します。
詳細
スキル:ovs-notes
リリースノートをすぐに確認できます。入力すると選択して読めるリリース一覧が表示されます。読み取り専用ビューアーです。リリースの作成は行いません(それは
/shipの役割です)。
WHAT
目的とコンテキスト
- 目的: ユーザーがリリースノート(デフォルトでは framework overstack、または現在のプロジェクト)をすぐに読み取り専用で確認できるようにします。
- トリガー(使用するタイミング):
- ユーザーがリリース履歴を確認したい場合:「release notes」、「changelog」、「リリース済みのバージョン」、「最新バージョンの変更内容」、「/ovs-notes」。
- 対象外: リリースの作成やプッシュには使用しません。それは
/shipの役割です。CWD からソースを推測しないでください。
メンタルモデル
ソース(デフォルトの framework · --here で project · --repo で別の repo)→ ソースラベル付きの vX.Y.Z 一覧(新しい順)→ ユーザーがバージョンを選択 → 全文を表示
ovs-という名前は「overstack のもの」という約束です。つまり、デフォルトでは framework の changelog(Rheinmir/setup、gh経由)を表示します。どの project にいるかは関係ありません。CWD からソースを推測しないでください(framework のリリースを project のものと誤認するのを防ぎます)。表示するたびに、ヘッダーにソースラベルを付けます(council-advisory 030726)。
入力と出力の仕様
| フィールド | 必須? | 意味 | |
|---|---|---|---|
| 入力 | version | latest | いいえ | 指定がない場合は一覧を表示して選択を尋ねます |
| 入力 | --here / --repo owner/name | いいえ | 現在の project のリリース(ローカル git tag、オフラインでも可)/ 別の GitHub repo |
| 出力 | vX.Y.Z <日付> <タイトル>の一覧、または1つのリリースの内容 | はい | ヘッダーに必ずソースラベルを付けます |
| 出力 | exit≠0 +「確認できません」 | gh が利用できない/オフラインの場合 | 空の結果を偽装しません |
ルールと機能
- RULE-01(必須):完全な読み取り専用 — tag、release、ファイルを作成・変更してはいけません。リリースの作成は
/shipの役割です。 - RULE-02(必須):ソースラベルを必ず付ける — 出力ごとに、framework とどの project のどちらを表示しているかを明示します(誤認防止 — Taleb)。
- RULE-03(必須):空の結果を偽装せず、明確に失敗する — gh が利用できない/オフラインの場合は「確認できません」と伝え、exit≠0 にします。バージョンが存在しないかのように空の一覧を表示してはいけません。
- RULE-04(必須):再実装せず、組み合わせてください。すべてのロジックは
harness/scripts/ovs-notes.py(stdlib のみで自己完結し、下流に移行可能)に置き、このスキルは呼び出しを調整するだけにします。 - 機能:認証済みの GitHub ツール経由でリモート repo の release を読むか、ローカルの git tag を読み取ります。何も書き込みません。
失敗時の境界
ghが利用できない/オフライン/未ログイン → ブロック:*"確認できません — 空でもバージョンが存在しないとは限りません"*と明示して出力し、exit≠0 にします。- ユーザーがバージョンを指定していない → 確認:一覧を表示して選択を尋ねます。
- ユーザーが実際にはリリースの作成を希望している →
/shipに案内し、ここでは実行しません。
HOW
メインワークフロー
| ステップ | 種別 | 入力 | アクション | 出力/終了コード | 失敗時/次の処理 |
|---|---|---|---|---|---|
| W01 | 決定的 | ソース | 一覧表示:python3 harness/scripts/ovs-notes.pyを実行(project の場合は--hereを追加) | ソースラベル付きの changelog(新しい順) | gh が利用できない → ブロック、exit≠0 |
| W02 | 判断 | ユーザーの発言 | バージョンを選択:ユーザーが指定した場合は`<version | latest>`を指定して実行。未指定の場合は尋ねます | リリースの内容 |
| W03 | 決定的 | 出力 | ユーザーが読めるように表示するだけ | ユーザーが読める内容 | — |
各ステップの詳細(W01–W03 の信頼できる情報源):
- 一覧表示(デフォルト):
python3 harness/scripts/ovs-notes.pyを実行 → ソースラベル付きの framework changelog(新しい順、vX.Y.Z <日付> <タイトル>)。ユーザーが project のリリースを希望する場合は--hereを追加します。 - 選択して読む: ユーザーがバージョン(「v1.0.5」/「最新」)を指定した場合は、
python3 harness/scripts/ovs-notes.py <version|latest>を実行します(project の場合は--hereを追加)。未指定の場合は一覧を表示して選択を尋ねます。 - ユーザーが読めるように表示するだけです。変更、tag、push は行いません。
ソース:デフォルトは framework、project は --here(council-advisory 030726)
--here→ 現在の PROJECT のリリース(ローカル git tag、オフラインでも可)。--repo owner/name→ 別の GitHub repo。ghが利用できない/オフライン/未ログイン → *「確認できません — 空でもバージョンが存在しないとは限りません」*と明示して出力し、exit≠0 にします(空の結果を偽装しません)。
ゼロモデル:直接実行、トークン消費なし
ロジック全体は harness/scripts/ovs-notes.py にあります(harness/scripts 内にあるため、overstack をインストールしたすべてのプロジェクトへ引き継がれ、下流でパスが壊れることはありません)。Claude CLI のクライアント側 /release-notes とまったく同じ動作(即時、トークン消費なし)にするには、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
このスキルは自然言語での入り口(ユーザーが「リリースノートを見せて」と言った場合)です。スクリプトを呼び出すためにモデルを一度経由します。トークン消費をゼロにしたい場合は、上記の ! を使います。
ブランチ
| ID | 種類 | 条件 | 動作 | スキップ/失敗 | 再合流 |
|---|---|---|---|---|---|
| B01 | ユーザー任意 | ユーザーが現在のプロジェクトのリリースを希望する | --here を追加する(ローカル git タグ、オフラインでも可) | — | W02 |
| B02 | ユーザー任意 | ユーザーが別の GitHub リポジトリを指定する | --repo owner/name を追加する | gh がない場合 → ブロック | W02 |
| B03 | ユーザー任意 | ユーザーがトークン消費ゼロを希望する | !python3 harness/scripts/ovs-notes.py … と直接入力する | — | 終了(モデルを経由しない) |
検証と停止
ovs-notes.py が出力する内容は必ずそのまま使用します。モデルはユーザーに渡すだけです。出力後に停止します。書き込み手順はありません。
例
- 成功例:「最新版には何がある?」 →
python3 harness/scripts/ovs-notes.py latest→ 最新のフレームワーク版のノートをすべて出力し、ヘッダーにソースRheinmir/setupを記載します。 - 境界/失敗例:
gh auth loginをまだ実行していないマシン → スクリプトは「確認できません — 空だからといって版がないとは限りません」と出力し、exit≠0 を返します。空の一覧は出力しません。