mcpField
G
gh-discuss

gh-discuss

github.com/lsegal開発656 回インストール2 週間前に更新
リポジトリ

gh-discuss について

gh-discussは、リポジトリの情報から確かな回答を作れる場合に、GitHub Discussionへ返答するスキルです。調査は読み取り専用のリポジトリ資料に限り、必要な場合のみトップレベルの返信を1件投稿します。

主な機能

  1. 01ディスカッション番号とリポジトリの検証
  2. 02トップレベルの投稿のみを確認
  3. 03リポジトリ資料に調査を限定
  4. 04回答済みや不明瞭な場合は返信しない
  5. 05根拠がある場合にトップレベルコメントを投稿

活用シーン

  1. 01Discussionsのリポジトリ利用質問への回答
  2. 02返信前のリポジトリ文書の確認
  3. 03回答済みまたは根拠不足のスレッドを未変更にする
  4. 04リポジトリに基づく簡潔な返答の作成

インストール

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

$npx skills add https://github.com/lsegal/glorp --skill gh-discuss

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

同梱ファイルagents/openai.yaml

詳細

GitHub ディスカッションスレッドへの回答

/gh-discuss NUMBER は、GitHub ディスカッションのトップレベルスレッドを 1 件読み取り、正確かつ肯定的に回答できる場合に限り、返信を 1 件投稿する許可として扱います。このスキルは、リポジトリおよびシステム全体に対して厳密に読み取り専用です。コードの書き込み、コミット、ブランチやプルリクエストの作成、リポジトリ、Issue、ディスカッション、ラベル、ファイルを変更するコマンドの実行は一切行いません。許可されている書き込み操作は、返信が妥当な場合に限り、ディスカッションに返信コメントを投稿することだけです。

リクエストを検証する

  1. 正の整数のディスカッション番号をちょうど 1 つ指定する必要があります。先頭に # を付けてもかまいません。
  2. 呼び出しに明示的な Repository: OWNER/REPO 行がある場合はそれを使い、ない場合は現在のチェックアウトの GitHub リモートから GitHub リポジトリを特定します。
  3. リポジトリの読み取りとディスカッションの読み取り/書き込みが可能な認証済みセッションで、gh を使用できる必要があります。
  4. たとえば次のように、トップレベルの本文、作成者、カテゴリ、既存のコメントを含めてディスカッションを取得します。
    gh api graphql -f query='query($owner:String!,$name:String!,$number:Int!){repository(owner:$owner,name:$name){discussion(number:$number){id title body author{login} answerChosenAt comments(first:100){totalCount nodes{id}}}}}' -F owner=OWNER -F name=NAME -F number=NUMBER
    
  5. 次のいずれかに該当する場合は、コメントせず、それ以上の操作も行わずに終了します。
    • ディスカッションが存在しない、または読み取れない。
    • comments.totalCount がすでに 0 より大きい、または answerChosenAt が設定されている。すでに別の返信があるか、スレッドに回答済みであるため、2 件目の返信は追加しません。
    • ディスカッション本文が、回答可能な質問や依頼ではない(たとえば、告知、投票、解決すべき内容のない自由な会話)。

トップレベルスレッドのみを読む

回答を作成する際に参照してよいのは、ディスカッション自体のタイトルと本文だけです。上記のクエリで取得されてしまった場合でも、他のコメントへの返信を取得、閲覧、または操作しないでください。また、サブコメントには返信しないでください。ディスカッション自体に対するトップレベルの返信を 1 件だけ作成します。

読み取り専用で回答を調査する

  1. 調査には読み取り操作のみを使用します。現在のリポジトリのチェックアウト内のファイルを読む(ローカルにない場合は、新しい読み取り専用コピーをクローンまたはフェッチする。変更は一切加えない)、gh の読み取りコマンド(gh issue view、gh pr view、GET 形式のクエリを使う gh api)、およびリポジトリのドキュメントを使用できます。
  2. アプリケーションコード、ビルドスクリプト、テスト、または読み取りではなく状態の変更を目的とするコマンドは実行しないでください。git commit、git push、git branch、パッケージのインストール、その他の変更を伴うコマンドは実行しないでください。
  3. リポジトリの外部は読まないでください。任意の外部 URL、他のリポジトリ、無関係なローカルファイルを取得しないでください。リポジトリの内容と履歴だけではディスカッションに回答できない場合は、それ以上調べるのではなく、終了する理由とします。
  4. リポジトリの内容によって十分な確信をもって裏付けられる場合にのみ回答を作成してください。推測はせず、確信を持てる部分だけでは質問者の実際の疑問を解決できない場合、部分的な回答もしないでください。

返信するか、終了する

  1. 正確で、質問を肯定的に解決する回答を作成できない場合は、ここで終了し、それ以上の操作は行わないでください。わからない旨のコメントを投稿したり、痕跡を残したりしないでください。
  2. 回答できる場合は、リポジトリで確認した内容に基づいて、簡潔かつ正確で、話題に沿った返信を作成してください。大量のコードを貼り付けず、ファイルパスを示して要点をまとめてください。
  3. 既存のコメントへの返信ではなく、ディスカッションに対するトップレベルのコメントとして、返信を 1 件投稿します。
    gh api graphql -f query='mutation($discussionId:ID!,$body:String!){addDiscussionComment(input:{discussionId:$discussionId,body:$body}){comment{id}}}' -F discussionId=DISCUSSION_ID -F body="..."
    
  4. 投稿後は終了します。ディスカッションを回答済みにしたり、カテゴリを変更したり、その他の操作を行ったりしないでください。

結果を報告する

返信を投稿したか、スレッドに手を加えなかったかを、理由とともに明確に述べてください。返信を投稿した場合は、ディスカッションの URL と回答の簡単な要約を記載してください。

コメント