using-gh-cli について
using-gh-cli は、認証済みの `gh` コマンドラインで GitHub の作業を行うためのスキルです。リポジトリの閲覧、API の利用、プルリクエスト、Issue、Release、Actions の操作を扱います。
主な機能
- 01認証済み GitHub アクセス
- 02リポジトリをクローンしてコードを閲覧
- 03プルリクエストと Issue の管理
- 04GitHub API データの取得
- 05Release と Actions の確認
活用シーン
- 01GitHub リポジトリのファイルを読む
- 02プルリクエストを確認または作成
- 03リポジトリ情報や API 結果を取得
- 04ワークフローの実行状況やログを確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ trailofbits/ skills --skill using-gh-cliインストール後、Claude Code で/using-gh-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/actions.mdapi.mdissues.mdpull-requests.mdreleases.mdrepos-and-files.md詳細
GitHub CLI(gh)の使用
使用する場面
- GitHub リポジトリのコードを閲覧または読む場合 — クローンして、Read/Glob/Grep を使用します
- プルリクエスト、Issue、リリース、または Gist の表示や作成
- リポジトリのメタデータや GitHub API のデータの取得
- GitHub Actions(実行、ワークフロー)との連携
- GitHub に関する作業で、通常なら
curl、wget、またはWebFetchを使うような場合
使用しない場面
- GitHub 以外の URL(その場合は
WebFetchまたはcurlを使用します) - GitHub Pages(
*.github.io)でホストされているだけの公開ウェブコンテンツ — これらは通常のウェブサイトです - ローカルの git 操作(
git commit、git push) —gitを直接使用します
基本原則
GitHub の URL には、curl、wget、または WebFetch ではなく、必ず gh を使用してください。 gh CLI はユーザーの認証済みトークンを自動的に使用するため、次のことが可能です。
- プライベートリポジトリでも動作します
- GitHub API のレート制限を回避できます(未認証:60 リクエスト/時、認証済み:5,000 リクエスト/時)
- ページネーションを正しく処理します
- 構造化された出力とフィルタリングを提供します
リポジトリのコードを閲覧する
GitHub リポジトリのファイルを読んだり閲覧したりするには、リポジトリをローカルにクローンし、通常のファイルツール(Read、Glob、Grep)を使用します。API 経由でファイルを 1 つずつ取得するよりも、はるかに高速で自然です。
# Clone to a session-scoped temp directory (cleaned up automatically on session end)
clonedir="$TMPDIR/gh-clones-${CLAUDE_SESSION_ID}"
mkdir -p "$clonedir"
gh repo clone owner/repo "$clonedir/repo" -- --depth 1
クローンした後は、Explore エージェント(Task ツールで subagent_type=Explore を指定)を使って、クローンしたリポジトリを調査します。Explore エージェントはクローン全体を対象に Read、Glob、Grep を効率的に使用できます。これらのツールを 1 つずつ呼び出すよりもはるかに便利です。
Task(subagent_type="Explore", prompt="In $clonedir/repo/, find how authentication is implemented")
すでに把握しているクローンで対象を絞って検索する場合は、Read/Glob/Grep を直接使用します。
gh repo cloneはユーザーの認証済みトークンを使用するため、プライベートリポジトリでも動作します--depth 1を指定すると、クローンが高速になります(最新のコミットのみ)- クリーンアップは不要です — SessionEnd フックがクローンディレクトリを自動的に削除します
- クローンせずに単一ファイルを手早く検索する必要がある場合に限り、
gh apiを使用します
クイックスタート
# View a repo
gh repo view owner/repo
# List and view PRs
gh pr list --repo owner/repo
gh pr view 123 --repo owner/repo
# List and view issues
gh issue list --repo owner/repo
gh issue view 456 --repo owner/repo
# Call any REST API endpoint
gh api repos/owner/repo/contents/README.md
# Call with pagination and jq filtering
gh api repos/owner/repo/pulls --paginate --jq '.[].title'
よくあるパターン
| 代わりに | 使用するもの |
|---|---|
github.com/owner/repo に対する WebFetch | gh repo view owner/repo |
blob/tree URL に対する WebFetch | gh repo clone でクローンし、Read/Glob/Grep を使用 |
raw.githubusercontent.com/... に対する WebFetch | gh repo clone でクローンし、Read を使用 |
api.github.com/... に対する WebFetch | gh api <endpoint> |
curl https://api.github.com/... | gh api <endpoint> |
-H "Authorization: token ..." を指定した curl | gh api <endpoint>(認証は自動です) |
リリースアセットのダウンロードに使う wget | gh release download --repo owner/repo |
参考資料
コメント
Markdown 対応