GitHubマネージャーツール

リポジトリ管理のためのGitHubマネージャー音声ツールの使用に関する完全ガイド

GitHubマネージャーは、GitHubリポジトリ、イシュー、プルリクエストなどを管理するための包括的な音声起動ツールセットを提供します。各ツールは、自然言語コマンドと特定のキーワードでトリガーされるように設計されています。

リポジトリ管理

ユーザーリポジトリの取得

ツール: get_user_repositories

説明: 認証されたユーザーのリポジトリリストを取得します。

トリガーフレーズ:

  • 「自分のリポジトリを表示」
  • 「GitHubリポジトリをリスト」
  • 「どんなリポジトリを持っている?」
  • 「プライベート/パブリックリポジトリを表示」
  • 「最新のリポジトリを取得」

パラメータ:

  • visibility: リポジトリの可視性でフィルタリング(all、public、private)
  • affiliation: ユーザーの所属でフィルタリング(owner、collaborator、organization_member)
  • sort: リポジトリの並べ替え(created、updated、pushed、full_name)
  • per_page: ページあたりの結果数

リポジトリ詳細の取得

ツール: get_repository_details

説明: 特定のリポジトリの包括的な情報を取得します。

トリガーフレーズ:

  • 「[リポジトリ名]の詳細を表示」
  • 「[所有者]/[リポジトリ]リポジトリについて教えて」
  • 「[リポジトリ]のステータスは?」
  • 「[リポジトリ]の情報を取得」
  • 「[リポジトリ]リポジトリを説明して」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)

リポジトリコンテンツの取得

ツール: get_repository_contents

説明: リポジトリ内のディレクトリまたはファイルの内容を参照します。

トリガーフレーズ:

  • 「[リポジトリ]のファイルを表示」
  • 「[リポジトリ]の[パス]の内容をリスト」
  • 「[フォルダ]ディレクトリには何がある?」
  • 「[リポジトリ]リポジトリ構造を参照」
  • 「[リポジトリ]のルートディレクトリを表示」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • path: ディレクトリまたはファイルへのパス(オプション、デフォルトはルート)
  • ref: ブランチまたはコミット参照(オプション、デフォルトはデフォルトブランチ)

ファイルコンテンツの取得

ツール: get_file_content

説明: リポジトリ内の特定のファイルの生コンテンツを取得します。

トリガーフレーズ:

  • 「[ファイル]の内容を表示」
  • 「[リポジトリ]から[ファイル]を読む」
  • 「[ファイル]のコードを取得」
  • 「[ファイル]の内容を表示」
  • 「[リポジトリ]の[ファイル]を開く」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • path: ファイルへのパス(必須)
  • ref: ブランチまたはコミット参照(オプション)

リポジトリツリーの取得

ツール: get_repository_tree

説明: リポジトリの完全なGitツリー構造を取得します。

トリガーフレーズ:

  • 「[リポジトリ]の完全な構造を表示」
  • 「完全なファイルツリーを取得」
  • 「リポジトリ階層を表示」
  • 「[リポジトリ]のすべてのファイルとフォルダを表示」
  • 「プロジェクト構造をマップアウト」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • tree_sha: ツリーSHAまたはブランチ名(オプション、デフォルトはデフォルトブランチ)
  • recursive: ツリーを再帰的に取得(オプション、デフォルトはtrue)

リポジトリコードの検索

ツール: search_repository_code

説明: リポジトリ内のコードパターン、関数、またはテキストを検索します。

トリガーフレーズ:

  • 「[リポジトリ]で[用語]を検索」
  • 「コード内の[関数名]を見つける」
  • 「[リポジトリ]で[パターン]を探す」
  • 「[キーワード]を[リポジトリ]で検索」
  • 「[テキスト]のすべての出現箇所を見つける」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • query: 検索クエリ(必須)
  • path: 特定のパスに検索を制限
  • language: プログラミング言語でフィルタリング
  • per_page: ページあたりの結果数

コード構造の分析

ツール: analyze_code_structure

説明: プロジェクトの構成、アーキテクチャ、パターンに関する洞察を提供します。

トリガーフレーズ:

  • 「[リポジトリ]の構造を分析」
  • 「このプロジェクトのアーキテクチャは?」
  • 「[リポジトリ]についての洞察を教えて」
  • 「[リポジトリ]コードベースを分析」
  • 「プロジェクト構成を説明して」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • include_dependencies: 依存関係分析を含める(オプション)

リポジトリブランチの取得

ツール: get_repository_branches

説明: リポジトリ内のすべてのブランチをリスト表示します。

トリガーフレーズ:

  • 「[リポジトリ]のブランチを表示」
  • 「すべてのブランチをリスト」
  • 「[リポジトリ]にどんなブランチがある?」
  • 「[リポジトリ]のブランチリストを取得」
  • 「利用可能なブランチを表示」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)

リポジトリラベルの取得

ツール: get_repository_labels

説明: リポジトリで利用可能なすべてのラベルを取得します。

トリガーフレーズ:

  • 「[リポジトリ]のラベルを表示」
  • 「イシューラベルをリスト」
  • 「どんなラベルが利用可能?」
  • 「[リポジトリ]のすべてのラベルを取得」
  • 「ラベルオプションを表示」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)

イシュー管理

リポジトリイシューの取得

ツール: get_repository_issues

説明: フィルタリングオプション付きで特定のリポジトリのイシューを取得します。

トリガーフレーズ:

  • 「[リポジトリ]のイシューを表示」
  • 「すべてのオープンイシューをリスト」
  • 「[ラベル]ラベル付きのイシューを取得」
  • 「クローズされたイシューを表示」
  • 「注意が必要なイシューは?」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • state: 状態でフィルタリング(open、closed、all)
  • labels: ラベルでフィルタリング(カンマ区切り)
  • sort: 並べ替え(created、updated、comments)
  • direction: 並べ替え方向(asc、desc)
  • per_page: ページあたりの結果数

イシュー詳細の取得

ツール: get_issue_details

説明: 特定のイシューに関する完全な情報を取得します。

トリガーフレーズ:

  • 「イシュー#[番号]を表示」
  • 「イシュー[番号]の詳細を取得」
  • 「イシュー#[番号]のステータスは?」
  • 「イシュー[番号]について教えて」
  • 「イシュー番号[番号]を開く」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • issue_number: イシュー番号(必須)

イシューの作成

ツール: create_issue

説明: リポジトリに新しいイシューを作成します。説明に自動的に@claudeをメンションします。

トリガーフレーズ:

  • 「新しいイシューを作成」
  • 「[トピック]についてイシューを開く」
  • 「バグを報告」
  • 「[問題]についてイシューをファイル」
  • 「[タイトル]というタイトルのイシューを作成」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • title: イシューのタイトル(必須)
  • body: イシューの説明
  • labels: 適用するラベル
  • assignees: 割り当てるユーザー

イシューの更新

ツール: update_issue

説明: 既存のイシューを変更します。更新に自動的に@claudeをメンションします。

トリガーフレーズ:

  • 「イシュー#[番号]を更新」
  • 「イシュー[番号]のタイトルを変更」
  • 「イシュー#[番号]をクローズ」
  • 「イシュー[番号]を再オープン」
  • 「イシュー[番号]にラベルを追加」
  • 「イシュー[番号]を[ユーザー]に割り当て」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • issue_number: イシュー番号(必須)
  • title: 新しいタイトル
  • body: 新しい説明
  • state: 状態を変更(open、closed)
  • labels: ラベルを更新
  • assignees: 担当者を更新

イシューコメントの追加

ツール: add_issue_comment

説明: イシューまたはプルリクエストにコメントを追加します。自動的に@claudeをメンションします。

トリガーフレーズ:

  • 「イシュー#[番号]にコメント」
  • 「イシュー[番号]にコメントを追加」
  • 「イシュー[番号]に返信」
  • 「PR #[番号]にコメントを投稿」
  • 「イシュー[番号]に応答」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • issue_number: イシューまたはPR番号(必須)
  • body: コメントテキスト(必須)

イシューコメントの取得

ツール: get_issue_comments

説明: イシューまたはプルリクエストのすべてのコメントを取得します。

トリガーフレーズ:

  • 「イシュー#[番号]のコメントを表示」
  • 「イシュー[番号]のコメントを取得」
  • 「PR #[番号]のコメントを読む」
  • 「イシュー[番号]のすべてのコメントをリスト」
  • 「イシュー[番号]についてみんな何と言っている?」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • issue_number: イシューまたはPR番号(必須)

イシューコメントの取得

ツール: get_issue_comment

説明: IDで特定のコメントの詳細を取得します。

トリガーフレーズ:

  • 「コメント[ID]を表示」
  • 「ID [ID]のコメントを取得」
  • 「特定のコメント[ID]を読む」
  • 「コメント番号[ID]を表示」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • comment_id: コメントID(必須)

プルリクエスト管理

プルリクエストの取得

ツール: get_pull_requests

説明: フィルタリングオプション付きでリポジトリのプルリクエストをリスト表示します。

トリガーフレーズ:

  • 「プルリクエストを表示」
  • 「オープンなPRをリスト」
  • 「[リポジトリ]のPRを取得」
  • 「マージされたプルリクエストを表示」
  • 「レビューが必要なPRは?」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • state: 状態でフィルタリング(open、closed、all)
  • head: ヘッドブランチでフィルタリング
  • base: ベースブランチでフィルタリング
  • sort: 並べ替え(created、updated、popularity)
  • direction: 並べ替え方向(asc、desc)
  • per_page: ページあたりの結果数

プルリクエスト詳細の取得

ツール: get_pull_request_details

説明: 特定のプルリクエストに関する包括的な情報を取得します。

トリガーフレーズ:

  • 「PR #[番号]を表示」
  • 「プルリクエスト[番号]の詳細を取得」
  • 「PR [番号]のステータスは?」
  • 「プルリクエスト[番号]について教えて」
  • 「PR番号[番号]をレビュー」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • pr_number: プルリクエスト番号(必須)

プルリクエストの作成

ツール: create_pull_request

説明: 新しいプルリクエストを作成します。説明に自動的に@claudeをメンションします。

トリガーフレーズ:

  • 「プルリクエストを作成」
  • 「[ブランチ]から[ベース]へのPRを開く」
  • 「レビュー用にPRを送信」
  • 「[タイトル]というタイトルのプルリクエストを作成」
  • 「[ヘッド]を[ベース]にマージ」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • title: PRタイトル(必須)
  • head: ヘッドブランチ(必須)
  • base: ベースブランチ(必須)
  • body: PR説明
  • draft: ドラフトPRとして作成

プルリクエストの更新

ツール: update_pull_request

説明: 既存のプルリクエストを変更します。自動的に@claudeをメンションします。

トリガーフレーズ:

  • 「PR #[番号]を更新」
  • 「プルリクエスト[番号]のタイトルを変更」
  • 「PR [番号]をクローズ」
  • 「プルリクエスト[番号]を編集」
  • 「PR説明を変更」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • pr_number: プルリクエスト番号(必須)
  • title: 新しいタイトル
  • body: 新しい説明
  • state: 状態を変更(open、closed)

PR監視

PR監視の開始

ツール: start_pr_monitoring

説明: 音声通知付きで新しいプルリクエストのリポジトリ監視を開始します。

トリガーフレーズ:

  • 「PRについて[リポジトリ]の監視を開始」
  • 「新しいプルリクエストについて[リポジトリ]を監視」
  • 「[リポジトリ]の新しいPRについてアラート」
  • 「プルリクエストを監視」
  • 「[リポジトリ]の新しいPRを追跡」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)
  • checkIntervalMs: ミリ秒単位のチェック間隔(オプション、デフォルト:30000)
  • voiceAnnouncements: 音声通知を有効化(オプション、デフォルト:true)

PR監視の停止

ツール: stop_pr_monitoring

説明: プルリクエストのリポジトリ監視を停止します。

トリガーフレーズ:

  • 「[リポジトリ]の監視を停止」
  • 「PRの監視を停止」
  • 「[リポジトリ]のPRアラートを無効化」
  • 「PR監視をオフにする」
  • 「プルリクエストの追跡を停止」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)

PR監視ステータスの確認

ツール: check_pr_monitoring_status

説明: すべてまたは特定のリポジトリの現在のPR監視ステータスを表示します。

トリガーフレーズ:

  • 「どのリポジトリを監視している?」
  • 「監視ステータスを表示」
  • 「[リポジトリ]のPR監視を確認」
  • 「監視中のリポジトリをリスト」
  • 「[リポジトリ]を監視している?」

パラメータ:

  • owner: リポジトリ所有者(オプション)
  • repo: リポジトリ名(オプション)

手動でPRを確認

ツール: manually_check_new_prs

説明: 新しいプルリクエストの1回限りのチェックを実行します。

トリガーフレーズ:

  • 「今すぐ新しいPRを確認」
  • 「[リポジトリ]に新しいプルリクエストはある?」
  • 「[リポジトリ]のPRを手動で確認」
  • 「最近のPRを探す」
  • 「プルリクエストをクイックチェック」

パラメータ:

  • owner: リポジトリ所有者のユーザー名(必須)
  • repo: リポジトリ名(必須)

ナビゲーションツール

チケットへのナビゲート

ツール: navigate_to_ticket

説明: 番号でGitHubイシューまたはプルリクエストに直接ナビゲートします。

トリガーフレーズ:

  • 「イシュー#[番号]に移動」
  • 「チケット[番号]を開く」
  • 「PR [番号]にナビゲート」
  • 「イシュー番号[番号]を表示」
  • 「プルリクエスト[番号]に連れて行って」

パラメータ:

  • ticket_number: イシューまたはPR番号(必須)
  • reason: ナビゲーションの理由

ツール: navigate_to_path

説明: 特定のアプリケーションパスとページにナビゲートします。

トリガーフレーズ:

  • 「[ページ名]に移動」
  • 「設定にナビゲート」
  • 「ダッシュボードを開く」
  • 「[セクション]に連れて行って」
  • 「[ページ]を表示」

パラメータ:

  • path: アプリケーションパス(必須)
  • query: クエリパラメータ
  • reason: ナビゲーションの理由

アプリルートのリスト

ツール: list_app_routes

説明: 利用可能なすべてのアプリケーションルートとナビゲーションオプションを表示します。

トリガーフレーズ:

  • 「どのページにナビゲートできる?」
  • 「利用可能なルートを表示」
  • 「すべてのページをリスト」
  • 「どんなナビゲーションオプションがある?」
  • 「利用可能なすべてのパスを表示」

パラメータ: なし


ページ内ナビゲーション

ツール: in_page_navigation

説明: 現在のページ内のスクロールとナビゲーションを制御します。

トリガーフレーズ:

  • 「下にスクロール」
  • 「トップに移動」
  • 「ボトムまでスクロール」
  • 「ページアップ/ダウン」
  • 「[要素]までスクロール」

パラメータ:

  • action: ナビゲーションアクション(scroll_down、scroll_up、page_down、page_up、scroll_to_top、scroll_to_bottom、scroll_to_element)
  • selector: scroll_to_element用のCSSセレクタ
  • amount: ピクセル単位のスクロール量

会話に戻る

ツール: return_to_conversation

説明: 別の場所にナビゲートした後、音声会話インターフェースに戻ります。

トリガーフレーズ:

  • 「会話に戻る」
  • 「音声チャットに戻る」
  • 「連れて戻して」
  • 「会話に戻る」
  • 「メイン画面に戻る」

パラメータ:

  • reason: 戻る理由

システム管理

エージェント状態のリセット

ツール: reset_agent_state

説明: 新たに始めるためにさまざまな種類のエージェント状態とコンテキストをクリアします。

トリガーフレーズ:

  • 「エージェントをリセット」
  • 「すべての状態をクリア」
  • 「新たに始める」
  • 「会話履歴をクリア」
  • 「ワークスペースをリセット」

パラメータ:

  • clearWorkspace: ワークスペースデータをクリア(デフォルト:true)
  • clearConversation: 会話履歴をクリア(デフォルト:true)
  • clearEventLogs: イベントログをクリア(デフォルト:true)
  • clearNavigationHistory: ナビゲーション履歴をクリア(デフォルト:true)
  • clearToolCallHistory: ツール呼び出し履歴をクリア(デフォルト:true)
  • clearPRMonitoring: PR監視状態をクリア(デフォルト:false)
  • clearAuthentication: 認証トークンをクリア(デフォルト:false)
  • clearUserPreferences: ユーザー設定をクリア(デフォルト:false)
  • clearCache: キャッシュをクリア(デフォルト:true)
  • clearTempFiles: 一時ファイルをクリア(デフォルト:true)

効果的な使用のヒント

  1. 自然言語: ツールは自然言語を理解するように設計されています。正確なフレーズを使用する必要はありません。

  2. コンテキスト認識: エージェントは会話からコンテキストを記憶するため、一度言及した後は「リポジトリ」や「そのイシュー」を参照できます。

  3. 自動メンション: イシュー、PR、コメントを作成または更新する際、エージェントは追跡可能性を維持するために自動的に@claudeメンションを含めます。

  4. 音声フィードバック: 多くのツールは、特に監視およびナビゲーションタスクの操作が完了したときに音声フィードバックを提供します。

  5. 操作の連鎖: 「今話したバグについてイシューを作成して、自分に割り当てて」のように、複数の操作を連鎖させることができます。

  6. スマートデフォルト: ほとんどのオプションパラメータには合理的なデフォルト値があるため、変更したいものだけを指定する必要があります。

  7. エラーハンドリング: 何か問題が発生した場合、エージェントは役立つエラーメッセージを提供し、可能な場合は代替案を提案します。

一般的なワークフロー

バグ報告ワークフロー

  1. 「モバイルでボタンが動作しないというタイトルのイシューを作成」
  2. 「バグと高優先度のラベルを追加」
  3. 「モバイルチームに割り当て」
  4. 「スクリーンショット付きでコメントを追加」

PRレビューワークフロー

  1. 「オープンなプルリクエストを表示」
  2. 「PR #42の詳細を取得」
  3. 「PR #42の変更を表示」
  4. 「変更を承認するコメントを追加」

リポジトリ探索

  1. 「リポジトリ構造を表示」
  2. 「認証コードを検索」
  3. 「authフォルダの内容を表示」
  4. 「login.jsのファイル内容を取得」

監視セットアップ

  1. 「新しいPRについてmy-repoの監視を開始」
  2. 「監視ステータスを確認」
  3. 「新しいPRが届いたら音声でアラート」
  4. 「完了したら監視を停止」