gh-ask — GitHub Issuesでやり取りするエージェント向けCLI

Tool

概要

gh-askは「Agent / CLI ↔ human communication via GitHub Issues」というコンセプトに基づく実験的プロジェクトです。エージェント(自動化されたスクリプトやLLMベースのアシスタント)がCLIまたはMCPサーバー経由で質問を投げると、gh-askがGitHub Issueを作成します。人間はGitHubのWebやモバイルからそのIssueに返信することで回答を返し、エージェントはその返信を取得して処理を続行します。シンプルな問答ループをGitHub Issuesという既存のインターフェース上に載せることで、既存の開発フローや通知インフラを活用できる点が特徴です。なおリポジトリ自身は「Proof of concept」であり、安定性やセキュリティ面では制限があります。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 0
  • ウォッチャー数: 3
  • コミット数: 30
  • ファイル数: 9
  • メインの言語: Go

主な特徴

  • GitHub IssuesをUI/UXとして利用:新たなUIを用意せず、既存のGitHub通知やモバイルアプリを使って人間が簡単に応答可能。
  • CLIおよびMCPサーバー:エージェントから問合せを投げる手段としてCLIとサーバー型の両方を提供(用途に応じた運用が可能)。
  • 軽量・Go実装:Goで書かれており、スタンドアロンのバイナリやサーバーとして容易にデプロイできる設計。
  • 実験的プロトタイプ:PoCとして素早く試せる反面、堅牢性や認証フローの成熟度には注意が必要。

技術的なポイント

gh-askの技術的な中核は「エージェント側の質問を自動でIssue化し、人間の返信を再びエージェントに返す」というシンプルなメッセージパスです。アーキテクチャは大きく分けて2要素:CLIで直接Issueを作る方法と、MCP(Message Control Plane)サーバー経由で中継する方法です。どちらもGitHubのIssue作成API/コメント取得APIを利用するのが基本で、リポジトリやラベル、タイトル生成ルールといったメタ情報をIssueに含めて管理します。Goを選んでいるため、HTTPクライアントや並列処理、環境変数/トークン管理などがコンパクトに実装できます。READMEでは実験的である旨が強調されており、認証(Personal Access Tokenなど)の取り扱いや、ポーリングとWebhookのどちらで返信を検知するかといった実装トレードオフは利用シナリオ次第で調整が必要と想定されます。さらに、Issueをワークフローの一部としてラベルやアサインを組み合わせることで、単なるQA以上に承認フローやタスク化が可能です。一方でスケール面(大量のエージェントからの質問や短時間に集中する通知)、プライバシー(公開リポジトリでの質問内容)、および応答の自動化と人間の介入が混在する際の整合性保持などは実運用で検討すべきポイントです。将来的にはWebhook受信、署名検証、より豊富なメタデータ管理、UI連携(テンプレートやモバイル向け最適化)などが改善候補になります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitattributes: file
  • .gitignore: file
  • LICENSE: file
  • README.md: file
  • go.mod: file

…他 4 ファイル

(補足)ソースはGo製で、最小限のファイル構成によりPoCを素早く試せる構成になっています。READMEにはフロー図と簡単な使用方法の説明が含まれ、エージェント→gh-ask→GitHub→人間という流れが示されています。

まとめ

GitHub Issuesを仲介にしてエージェントと人間のやり取りを簡便に実験できるPoCツール。

リポジトリ情報:

READMEの抜粋:

gh-ask

⚠️ Experimental — This project is a proof of concept. Expect rough edges.

Agent / CLI ↔ human communication via GitHub Issues.

Agents ask questions by running the CLI or MCP. This creates an issue. You reply on the issue from GitHub Mobile (or web).

image

How it works

Agent (Copilot, Claude, etc.)


gh-ask CLI / MCP server


GitHub ...