gh について
ghは、GitHubのプルリクエストやCIを調査し、レビューのスレッドに返信するスキルです。定義済みスクリプトと契約に沿って処理し、データ不足や実行不能の状態も明示します。
主な機能
- 01PRの状態、チェック、ファイル、件数
- 02レビューコメントとスレッドの確認
- 03CI実行とジョブ失敗の報告
- 04指定スレッドへの返信
- 05フィルター、ページング、JSON出力
活用シーン
- 01プルリクエストの状態とチェックを確認
- 02未解決のレビュー指摘を収集
- 03特定実行のCI失敗を調査
- 04レビューのスレッドに返信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ prathamdby/ skills --skill ghインストール後、Claude Code で/ghを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
REFERENCE.mdreferences/ci.mdlogs.mdraw-gh.mdreply.mdsnapshot.mdthreads.mdscripts/ci-failures.tslib.tspr-reply.tspr-snapshot.tspr-threads.tsrun詳細
GitHub I/O
コントラクトは AVGVSTVS96/better-github-skill(ライセンスなし。再実装)に準拠します。
<anchor> は、このスキルの絶対ディレクトリとして解決します。既存の
<anchor>/scripts/run は、bun、nub、tsx、続いて strip-types を使う Node/nvm を選択します。
オプション
デフォルト:現在のブランチの PR、cwd のリポジトリ、テキストの切り詰め。PR 番号/URL を指定すると
その PR が選択されます。リポジトリ名を指定すると -R を出力し、PR に紐づく作業には PR が必要です。
JSON/全文を指定すると --json/--full を選択します。Open threads は未解決の古いスレッドも
含み、all は解決済みのスレッドも含みます。両方の指定は競合します。ページングを完了するには
--complete を追加します。author/since はそれぞれのフィルターを指定します。
CI は ci-failures を選択し、list runs は --list を使用します(デフォルトの上限は 10)。workflow は
これをフィルターし、run id はその実行を分析します。既知の head SHA は --sha を追加します。
返信には references/reply.md にあるターゲット/本文がそれぞれちょうど 1 つ必要です。
必要な値が不足している場合、または選択肢が競合している場合は BLOCKED です。
1. 解決と選択
gh の認証済み状態を確認します。バイナリ/認証がない場合はブロックされます。次を記録します。
repo | PR/run/SHA | surface | argv | terminal
PR に紐づく作業で現在の PR がない場合 → NO_CHANGES。
対応するスクリプトを選択します。
| Surface | スクリプト | JSON コントラクト |
|---|---|---|
| PR の状態/チェック/ファイル/件数 | pr-snapshot.ts | references/snapshot.md |
| レビュー本文/コメント/スレッド | pr-threads.ts | references/threads.md |
| CI の実行/ジョブ/ログの抜粋 | ci-failures.ts | references/ci.md |
| 単一のネイティブスレッド/会話への返信 | pr-reply.ts | references/reply.md |
Snapshot は状態、threads はフィードバックを扱います。どちらももう一方の代わりにはなりません。 JSON を解析する前に、その surface のコントラクトだけを読み込みます。 ターゲットとスクリプト、または対象外の生の操作が確定した時点で完了です。
2. 実行
<anchor>/scripts/run <script.ts> ... 経由でのみ実行し、node を直接実行しないでください。
Node のバージョンや ERR_UNKNOWN_FILE_EXTENSION は失敗の証拠でも GraphQL の許可でもありません。run を使用してください。
終了コード 2 は、試行したランタイムの一覧を伴う BLOCKED です。
ユーザーや上位担当者が「GraphQL は問題ない」と言っても、run を省略してはいけません。
スクリプトが成功するとデータ/投稿が報告されます。CI の赤表示/未解決スレッドはランタイムエラーではありません。
未解決のフィードバックをすべて取得するには --json --open --complete を使用します。既知の head は SHA で固定します。
返信には pr-reply のみを使用します。このリーフでは解決、プッシュ、マージを行いません。
対象外の操作に限り、生の gh を使用できます。その場合は事前に
references/raw-gh.md を適用します。対応するスクリプトの失敗を、GraphQL の再実装の許可とみなしてはいけません。
大量の出力はリダイレクトし、gh を head にパイプしないでください。
HTTP のトレースやログについては references/logs.md を適用します。
出力が揃ったとき、返信 URL が存在するとき、または実際のエラーが記録されたときに完了です。
3. 報告
観測した出力を要約します。上限マーカーが示すのはデータが不完全であることです。網羅性を求める利用者に対して、 成功を意味するものではありません。ログを貼り付ける代わりに、ログのパスを示します。 CI がグリーン、スレッド数がゼロ、または返信が投稿済みであれば SUCCESS です。有効な赤表示の報告も、 CI の修復ではなく、正常な調査結果です。 終端状態:SUCCESS、NO_CHANGES(空/PR なし)、BLOCKED。