github-discussion-query について
現在のリポジトリまたは指定した GitHub リポジトリの Discussions を検索するスキルです。既定ではスキーマとデータ量を返し、任意の jq 式で絞り込みや全データの出力ができます。
主な機能
- 01現在または指定リポジトリの検索
- 02既定でスキーマとデータ量を確認
- 03jq による結果の絞り込みと変換
- 04取得するディスカッション数の制限
- 05後続処理向けの JSON 出力
活用シーン
- 01カテゴリや作成者別のディスカッション一覧
- 02未回答または最近更新された投稿の検索
- 03指定したディスカッション項目の取得
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ github/ gh-aw --skill github-discussion-queryインストール後、Claude Code で/github-discussion-queryを入力して読み込まれたか確認します。
同梱ファイルquery-discussions.pyquery-discussions.sh
詳細
GitHub ディスカッション検索スキル
組み込みの jq フィルタリングで GitHub ディスカッションを効率よく検索します。
重要:jq パラメーターは省略可能です
--jq パラメーターは省略可能です。--jq を指定しない場合、このスキルは全データではなくスキーマとデータサイズの情報を返します。
これを使うと、過大な応答を避け、対象を絞った検索の前に構造を確認できます。
すべてのデータを取得するには --jq '.' を使い、対象を絞るにはより具体的なフィルターを使います。
使い方
このスキルを使って、現在のリポジトリまたは指定したリポジトリのディスカッションを検索できます。
基本的な検索(スキーマのみを返します)
現在のリポジトリのディスカッションを一覧表示するには:
./query-discussions.sh
# Returns schema and data size, not full data
すべてのデータを取得する
すべてのディスカッションデータを取得するには:
./query-discussions.sh --jq '.'
リポジトリを指定する
特定のリポジトリを検索するには:
./query-discussions.sh --repo owner/repo
jq でフィルタリングする
--jq 引数を使って、出力をフィルタリングおよび変換します:
# Get discussion numbers and titles
./query-discussions.sh --jq '.[] | {number, title}'
# Get discussions by a specific author
./query-discussions.sh --jq '.[] | select(.author.login == "username")'
# Get discussions in a specific category
./query-discussions.sh --jq '.[] | select(.category.name == "Ideas")'
# Get answered discussions
./query-discussions.sh --jq '.[] | select(.answer != null)'
# Count discussions by category
./query-discussions.sh --jq 'group_by(.category.name) | map({category: .[0].category.name, count: length})'
よく使うオプション
--limit:取得するディスカッションの最大数。デフォルト:30--repo:owner/repo 形式のリポジトリ。デフォルト:現在のリポジトリ--jq:(省略可能)出力をフィルタリング/変換する jq 式。省略するとスキーマ情報を返します
検索例
コメント数の多いディスカッションを検索する:
./query-discussions.sh --jq '.[] | select(.comments.totalCount > 5) | {number, title, comments: .comments.totalCount}'
未回答のディスカッションを取得する:
./query-discussions.sh --jq '.[] | select(.answer == null) | {number, title, category: .category.name}'
ラベル付きのディスカッションを一覧表示する:
./query-discussions.sh --jq '.[] | {number, title, labels: [.labels[].name]}'
カテゴリ別にディスカッションを検索する:
./query-discussions.sh --jq '.[] | select(.category.name == "Q&A") | {number, title, author: .author.login}'
最近更新されたディスカッションを取得する:
./query-discussions.sh --jq 'sort_by(.updatedAt) | reverse | .[0:10] | .[] | {number, title, updatedAt}'
出力形式
スクリプトはデフォルトで JSON を出力するため、追加の処理のために jq に渡しやすくなっています。
要件
- 認証済みの GitHub CLI(
gh) - フィルタリング用の
jq(ほとんどのシステムではデフォルトでインストールされています)
コメント
Markdown 対応