mcpField
C
cli-gh

cli-gh

github.com/paulrberg開発1022.8k 回インストール今日更新
リポジトリ

cli-gh について

cli-ghは、リポジトリ作業を調整するエージェント向けのGitHub CLIスキルです。書き込み作業をyeetに振り分け、承認範囲を定め、CI障害の調査と結果確認の手順を提供します。

主な機能

  1. 01リポジトリへの書き込みをyeetに振り分け
  2. 02GitHub書き込みの安全ルール
  3. 03CI障害調査の手順
  4. 04構造化されたCLI出力の利用
  5. 05変更後の結果確認

活用シーン

  1. 01GitHub Actionsの失敗ランを調査
  2. 02Issueやプルリクエストを作成・更新
  3. 03依頼されたGitHub変更の結果を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/paulrberg/agent-skills --skill cli-gh

インストール後、Claude Code で/cli-ghを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlreferences/version.txt

詳細

GitHub CLI

このスキルは調整の対象外です。宣言された作業では ai-coord ゲートをスキップしてください。

ルーティング

プルリクエスト、issue、issue コメント、またはディスカッションの作成や更新には yeet を使用してください。yeet は意味解析、リポジトリのテンプレート、Paul の文体、冪等性、直接投稿を担います。リポジトリの名前変更は repo-rename にルーティングし、GitHub とローカルの継続性を同時に変更してください。

権限

  • 確認なしで読み取りと調査を行えます。
  • ユーザーがその結果を明示的に依頼した場合に限り、元に戻せる、または通常の GitHub への書き込みを実行してください。
  • リポジトリ、リリース/アセット、ワークフローの実行/キャッシュ、シークレット/変数、キー、codespaces、拡張機能、gists は削除しないでください。
  • ラベルの削除のみ破壊的操作の例外です。対象リポジトリ、正確なラベル、コマンド、issue/PR への影響を示し、その後のメッセージで承認を得てから gh label delete ... --yes を実行してください。

ワークフロー

  1. 作業ディレクトリが曖昧な場合は、リポジトリを明示的に特定してください。最初に必要となる読み取り専用コマンドで認証を検証してください。gh auth status は認証の診断に限って実行してください。

  2. インストール済みの gh <command> <subcommand> --help を使って、フラグ、JSON フィールド、コマンドの動作を確認してください。CLI の JSON フィールド名は API のフィールド名と異なる場合があります。構造化された出力には --json と --jq の組み合わせを優先してください。

  3. 広範囲に及ぶ書き込みを実行する前に、リポジトリ、対象の正確な範囲、コマンド、issue/PR への影響を提示してください。すでに依頼されている通常の書き込みには、再度の承認は不要です。

CI 失敗のトリアージ

CI が失敗する理由を尋ねられた場合、または失敗した実行の修正を依頼された場合は、このワークフローを使用してください。各コマンドの出力は適切な範囲に抑えてください。

  1. ブランチまたはコミットの失敗した実行を見つけます。

    gh run list --branch <branch> --status failure --limit 5
    gh run list --commit <sha> --status failure --limit 5
    
  2. 失敗したステップの行だけを抽出します。生ログは決して表示しないでください。

    gh run view <run-id> --log-failed | rg --no-config -n 'error|FAIL|panic|✗' | head -80
    
  3. コードを変更する前に、ツールチェーンの不一致を確認してください。.github/workflows/*.yml で固定されているバージョンと、ローカルでの --version の出力を比較します。よくある対象は Foundry(forge)、Bun(bun)、Node.js(node)、Rust(rustc)です。

  4. ユーザーが修正を依頼している場合は、原因を修正してコミットをプッシュしてください。

  5. gh run list --commit <new-sha> --limit 5 で新しい実行 ID を取得し、その実行を監視します。

    gh run watch <run-id> --exit-status --compact
    
  6. gh run view <run-id> --json url --jq .url で実行 URL を報告し、最終的な実行ステータスも伝えてください。

主なフラグ(gh 2.98+)

  • gh pr checkout --worktree <path> と gh issue develop --checkout --worktree <path> は、現在のブランチを切り替える代わりに、リンクされた git worktree にチェックアウトします。
  • gh search issues --search-type semantic|hybrid は関連度順に表示します。対象は issue のみで、1 ページ分です。--sort/--order は使用できず、GitHub Enterprise Server では利用できません。
  • gh config set api_host <gateway> --host <host> は、そのホストの API トラフィックをゲートウェイ経由にします。この機能は実験的であり、セキュリティ境界ではありません。
  • gh auth login と gh auth refresh は、デフォルトで OAuth デバイスコードをクリップボードにコピーします(2.101+)。無効にするには、gh config set clipboard disabled を実行してください。
  • gh auth login --expiring(2.103+)は、gh が更新する有効期限付き OAuth トークンを優先します。すべてのサインインで優先するには、gh config set expiring_credentials enabled を実行してください。トークンが必要になるたびに gh auth token を実行してください。その出力をキャッシュしないでください。GH_TOKEN と GITHUB_TOKEN の値は更新されません。
  • issue/PR の作成、編集、コメントでの --attach '<file>#<alt>' は、画像または動画をアップロードします。こうした書き込みは yeet にルーティングしてください。2.103.2 以降は GitHub App のインストールトークンでも添付でき、権限はアップロードエンドポイントによって判定されます。

完了条件

コマンドの出力によって、依頼された GitHub のデータまたは状態が確認できた時点で完了です。書き込み後は、結果のリソースを取得してください。一部のみの失敗、または曖昧な失敗があった場合は、再試行する前に変更が適用されたか確認してください。確認できた状態と URL または安定した識別子を報告してください。未完了の場合は具体的なエラーと次の対応を示し、結果が不明な状態と失敗が確認された状態を区別してください。

コメント