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を入力して読み込まれたか確認します。

詳細

スキル: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判断ユーザーの発言バージョンを選択:ユーザーが指定した場合は`<versionlatest>`を指定して実行。未指定の場合は尋ねますリリースの内容
W03決定的出力ユーザーが読めるように表示するだけユーザーが読める内容—

各ステップの詳細(W01–W03 の信頼できる情報源):

  1. 一覧表示(デフォルト): python3 harness/scripts/ovs-notes.pyを実行 → ソースラベル付きの framework changelog(新しい順、vX.Y.Z <日付> <タイトル>)。ユーザーが project のリリースを希望する場合は--hereを追加します。
  2. 選択して読む: ユーザーがバージョン(「v1.0.5」/「最新」)を指定した場合は、python3 harness/scripts/ovs-notes.py <version|latest>を実行します(project の場合は--hereを追加)。未指定の場合は一覧を表示して選択を尋ねます。
  3. ユーザーが読めるように表示するだけです。変更、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 を返します。空の一覧は出力しません。

コメント