review-code-publish について
review-code-publish は、review-code の実行と成果物の検証後、完了したコードレビューをプルリクエストに公開するエージェントスキルです。レビュー担当者の特定、レビュー投稿、スレッド更新を扱いますが、コード変更やマージは対象外です。
主な機能
- 01一回限りのコードレビューを実行
- 02公開前にレビュー成果物を検証
- 03レビュー担当者と公開方法を特定
- 04レビュー投稿とスレッド更新
- 05コード変更やマージは対象外
活用シーン
- 01オープンなプルリクエストに完了したレビューを公開
- 02マージ済みプルリクエストの回顧レビューを報告
- 03許可されたゲートレビューを投稿
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kamui/ skills --skill review-code-publishインストール後、Claude Code で/review-code-publishを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/publication.md
詳細
コードレビューの公開
範囲
このスキルを呼び出すと、解決済みのプルリクエストにレビューを公開することが許可されます。
マージ済みのプルリクエストに対する事後レビューは、別途許可されない限り、公開を伴いません。
コードの変更、プルリクエストやイシューの編集、ラベルの追加、マージは許可されません。
ユーザーまたはリポジトリのワークフローが、このアイデンティティにマージをブロックする権限を別途与えている場合にのみ、ゲーティングイベントを使用してください。
プルリクエストの作成者とは異なるレビュー用アプリを呼び出し元が解決した場合、そのパケットには明示的なゲーティング許可が含まれます。この許可が、ここでゲーティングイベントを許可するものです。レビュー用アプリを使って公開されたレビューはセルフレビューではありません。
セルフレビューでは、必ず COMMENT を使用します。
このワークフローは一度限りです。レビュアーの希望を確認するために一時停止せず、完了してください。
インストール済みのスキルに review-code がない場合は、missing-dependency: review-code を出力して停止します。
review-bot は任意です。利用できない場合は認証済みユーザーにフォールバックし、その理由をレポートに記録して、ゲーティングを行いません。依存関係の不足を理由に停止することはありません。
確認
mode: one-shot、明示的なプルリクエストの対象(座標、URL、または現在のブランチにあるオープンなプルリクエスト)、ユーザーが提示したイシューや仕様、および有効にした重複レビューのショートカットを指定して、review-code を呼び出します。
提示されたフェーズ1のパケット、レビュアーのアイデンティティ、重点テストのポリシー、チェックの証拠がある場合は、「Inputs」テーブルの下に記載された指示に従って渡してください。
提示されたレビュー用トークンコマンドは、これらと一緒に渡さず、ここに留めてください。references/publication.md が以下の書き込みにそのコマンドを使用し、review-code は公開を行いません。
レビュアーのアイデンティティが提示されていない場合は、レビューの実行前に references/publication.md の指定に従って解決してください。トラッカードキュメントには、レビュー用アプリとクライアント ID、またはそのまま使用するリテラルのレビュー用トークンコマンドが記載されています。リテラルコマンドのないアプリの場合は、review-bot がインストールされていれば呼び出し、返されたログイン名とコマンドを使用してください。unavailable の結果が返された場合は、認証済みユーザーにフォールバックし、その理由をレポートに記録して、ゲーティングを行いません。解決できなくても実行は停止しませんが、公開時にトークンが拒否された場合は書き込みを停止します。
「Modes」セクションに記載された review-code のワンショットモードは、質問をせず、ルーティングされたすべての項目を記録に報告します。
停止理由が示された場合は、そのレポートを出力して今回の実行を終了します。
それ以外の場合は、記録で指定されたスキルルートから、スキルルート配下で python3 <skill root>/scripts/render_review.py --check <private-dir> を実行します。終了コードが 0 の場合、返された成果物ですべての項目が揃っています。それ以外の終了コードはレビューが未完了であることを示します。出力を報告し、公開せずに停止してください。
公開について別途許可されていないマージ済みの対象については、返された report.md を公開予定だったレビューの完全版として報告し、終了してください。マージ済みの対象を公開するかどうかは、このスキルだけで判断します。
公開
references/publication.md を今すぐ読み、その不変条件、イベント表、バッチ形式、スレッド操作に従ってください。
共通の COMMENT パスには、返された batch.json を使用してください。
issue-required としてルーティングされた項目は、レビュー本文で [Question] として表示されます。Issue fit は、台帳がプルリクエストの本文に由来することを示します。その他のカバレッジが完全で、未解決の必須修正指摘がない場合、この理由だけでステータスを Incomplete にしてはならず、Needs Information とします。
認可されたゲーティングでは、スキルルート配下の review-code レコードにある <skill root>/scripts/render_review.py を通じて --emit-batch --event で再生成してください。サフィックスの変更はスクリプトが行います。
スクリプトの場所を兄弟ディレクトリからの相対パスで探してはなりません。
プルリクエストのヘッドを再取得して確認し、参照に記載された鮮度確認と送信のブロックを使って、1 回のシェル呼び出しで forge ネイティブのレビューを投稿してください。
そのブロックの preflight failed 経路、およびスレッド書き込みループの書き込み前終了で終了コード 3 が返された場合は、何も書き込まれていません。出力された内容(古い、または読み取り不能なヘッド、使用可能なトークンを返さなかったレビュートークンコマンド、または拒否された writes.jsonl)を報告して終了してください。
ブロックの write attempted 行の後に終了コード 3 が出力された場合は、事前チェックの失敗ではなく、レビュー POST の失敗です。その場合は、以下の修復、再試行、フォールバックの規則に従ってください。
レビューの投稿後、先行するすべての項目について writes.jsonl を作成し、返信とスレッド解決のために、参照に記載されたスレッド書き込みループを 1 回実行してください。
コメント形式の不正による拒否、書き込み結果が曖昧な場合、またはレビューが拒否された場合は、スキルルート配下の review-code レコードにあるスクリプトを使用し、参照の修復、再試行、フォールバックの規則に従ってください。圧縮によってレンダリングの指示が失われている場合は、そのルートから references/output.md を読み直してください。
報告
投稿されたレビューを読み返してください。
投稿されたステータス、レビューしたヘッド、カバレッジ、レビュー URL、指摘の URL、未解決の質問、異議のある指摘、公開に失敗した項目を報告してください。
ゲーティング後に発行されたレビューでは、助言用の payload.json の本文ではなく、batch.json の投稿済み形式を使用してください。
すべてのファイル位置は、サマリーに記載されたものと同じ、スクリプトでレンダリングされたコミット固定リンクにしてください。
公開を行わない振り返り実行では、レビュー URL の代わりに、公開予定だったレビューの全内容を report.md から報告してください。