mcpField
L
ln-914-community-responder

ln-914-community-responder

github.com/levnikolaevich開発584181 回インストール2 日前に更新
リポジトリ

ln-914-community-responder について

未回答の GitHub Discussions と Issues を分析し、リポジトリを検索して、確認済みの返信案を作成する独立したスキルです。公開前にユーザーが確認でき、単件と最大10件の一括処理に対応します。

主な機能

  1. 01単件・一括処理
  2. 02リポジトリから回答を検索
  3. 03返信スタイルの分類
  4. 04内容とリンクの確認
  5. 05公開前の承認を必須化

活用シーン

  1. 01未回答のGitHubの質問への返信
  2. 02最大10件の未回答項目の確認
  3. 03関連するコードやドキュメントの検索

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-914-community-responder

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
community_discussion_formatting.md
community_github_discovery.md
community_strategy_template.md
humanizer_checklist.md
response_styles.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリからの相対パスです。

ln-914-community-responder

タイプ: L3 ワーカー(スタンドアロン) カテゴリ: 9XX コミュニティエンゲージメント 質問を分析し、コードベースを検索して回答を見つけ、役立つ返信を作成することで、未回答の GitHub Discussions と Issues に対応します。単一アイテムモードと一括モードに対応しています。


概要

項目詳細
入力$ARGUMENTS:ディスカッション/Issue 番号(#42)、batch(未回答の P1 全件)、または空(対話形式)
出力GitHub に投稿された返信コメント
パターン質問を読む → コードベースを検索 → 返信を作成 → 事実確認 → 公開

フェーズ 0:GitHub の調査

必須の読み込み: references/community_github_discovery.md を読み込みます。

調査プロトコルを実行します。以下を抽出します。

  • URL と API 呼び出しに使用する {owner}/{repo}
  • GraphQL ミューテーションに使用する repo.id
  • maintainer のログイン名(認証済みユーザー)
  • ディスカッションのカテゴリ ID

戦略の読み込み:対象プロジェクトの docs/community_engagement_strategy.md を確認し、なければ references/community_strategy_template.md を使用します。セクション 5(エンゲージメント指標)とセクション 6(トーンガイド)を抽出します。

必須の読み込み: references/community_discussion_formatting.md を読み込みます。 必須の読み込み: response_styles.md を読み込みます。 必須の読み込み: references/humanizer_checklist.md を読み込みます。


フェーズ 1:アイテムの読み込み

単一アイテムモード

$ARGUMENTS に番号(例:42、#42)が含まれている場合:

# For discussions
gh api graphql -f query='query($owner: String!, $name: String!) {
  repository(owner: $owner, name: $name) {
    discussion(number: {N}) {
      id number title body
      category { name }
      author { login }
      createdAt
      answerChosenAt
      comments(first: 20) {
        totalCount
        nodes { author { login } body createdAt }
      }
    }
  }
}' -f owner="{owner}" -f name="{repo}"
# For issues (if discussion not found)
gh issue view {N} --repo {owner}/{repo} --json number,title,body,author,createdAt,comments,labels
一括モード

$ARGUMENTS が batch の場合:

  1. GraphQL 経由で最近のディスカッションと Issue を取得します(過去 30 日間、オープン、作成日時の降順でソート)。
  2. P1 アイテムに絞り込みます:投稿者がメンテナーではなく、メンテナーからのコメントが 0 件。
  3. 各アイテムの完全なコンテキストを取得します(一括処理あたり最大 10 件)。
対話モード

$ARGUMENTS が空の場合、最近の未回答アイテムを一覧表示し、どれに返信するかユーザーに尋ねます。


フェーズ 2:コンテキストの分析

各アイテムについて:

2a. 質問を理解する
  1. ディスカッション/Issue の本文を読み、中心となる質問や問題を特定します。
  2. 既存のコメントを読み、部分的に回答済みか、追加のやり取りによって範囲が変わっているかを確認します。
  3. アイテムの種類を判定します:Q&A の質問、バグ報告、機能リクエスト、設定に関するヘルプ、一般的なフィードバック。
2b. コードベースで回答を検索する

質問の種類に応じて、関連情報を検索します。

質問の種類検索方法
「どうすれば…」SKILL.md ファイル、README.md、docs/ 内でキーワードを Grep します。
バグ報告言及された関数/ファイルを Grep し、最近の修正がないか git log を確認します。
設定.hex-skills/environment_state.json、CLAUDE.md、関連する SKILL.md を読みます。
機能リクエスト機能がすでに存在するか確認し、関連するパターンを Grep します。
インストールREADME.md のインストールセクションと plugin.json を読みます。
FOR each item:
  1. Extract keywords from question (function names, skill names, error messages)
  2. Grep codebase for keywords (max 5 searches)
  3. Read relevant files (max 3 files, prioritize SKILL.md and docs/)
  4. Check git log for recent changes related to the topic
  5. If answer found → proceed to Phase 3
  6. If not found → mark as "needs-manual" and suggest the user respond directly
2c. 初回投稿者を検出する
gh api graphql -f query='query($owner: String!, $name: String!) {
  repository(owner: $owner, name: $name) {
    discussions(first: 100) {
      nodes { author { login } }
    }
  }
}' -f owner="{owner}" -f name="{repo}"

投稿者が作成したディスカッションの数を数えます。過去の投稿が 0 件(今回が初めて)の場合は、ウェルカムスタイルの対象としてフラグを付けます。


フェーズ 3:返信の種類を分類する

必須の読み込み: response_styles.md を読み込み、分類マトリックスを使用します。

アイテムの種類返信スタイル
回答が見つかった Q&A の質問技術的な回答
バグ報告バグの確認
機能リクエスト/アイデア機能リクエストの確認
ほかの場所ですでに回答済みの質問誘導
初回投稿者(種類を問わない)ウェルカム + 適切な内容スタイル
進捗報告が必要な古いアイテム状況の更新
コードベースで回答が見つからないneeds-manual とマークし、文章の作成をスキップ

フェーズ 4:返信の作成

response_styles.md から選択したスタイルのテンプレートを使用します。

必須要素(すべてのスタイル)
  • 投稿者に感謝する — 可能であれば名前を挙げ、貢献に謝意を伝えます
  • 質問に回答する — 直接的かつ明確に答え、ソースコードやドキュメントへのリンクを添えます
  • 追加の質問を歓迎する — 「参考になりましたらお知らせください」などの一言を添えます
  • 専門用語は説明を添える — 説明なしに専門用語を使わないでください
  • コードへのリンクを含める — リポジトリ内の関連ファイルへのリンクを少なくとも1つ含めます
バッチモードでの作成

バッチモードでは、すべての回答を先に作成し、公開する前にすべてをユーザーに提示して確認してもらいます。


フェーズ5:事実確認

ユーザーに提示する前に、すべての主張を確認します。

  1. ファイルパスとリンク — リンク先の各ファイルが存在することを確認します:ls {path}

  2. コード参照 — 言及した関数やクラスが存在することを確認します:grep -r "{name}"

  3. 機能の説明 — ソースファイルを再確認し、説明が正確であることを確認します

  4. インストール/使用コマンド — README.md に照らして確認します

  5. Humanizer 監査 — humanizer_checklist.md に記載された監査手順を実行します。AI らしいパターンが3つ以上見つかった場合は、該当箇所を書き直します。

ゲート: 確認項目に不備がある場合は、先に回答を修正してください。


フェーズ6:レビューと公開

単一アイテムモード

作成した回答をユーザーに提示します。公開する前に、明示的な承認を待ってください。

バッチモード

すべての回答を次の要約テーブルにまとめて提示します。

### Batch Responses — {N} items

| # | Type | Title | Style | Status |
|---|------|-------|-------|--------|
| {number} | {Discussion/Issue} | {title} | {Technical/Bug/Welcome/...} | Ready |
| {number} | ... | ... | ... | needs-manual |

続けて、各回答の本文を表示します。ユーザーは、すべてを承認する、一部を選んで承認する、または個別の回答を編集することができます。

ディスカッションコメントを公開する
gh api graphql -f query='
  mutation($discussionId: ID!, $body: String!) {
    addDiscussionComment(input: {
      discussionId: $discussionId,
      body: $body
    }) {
      comment { url }
    }
  }
' -f discussionId="{discussion.id}" -f body="{response body}"
Issue コメントを公開する
gh issue comment {number} --repo {owner}/{repo} --body "{response body}"

コメントの URL をユーザーに報告します。


ルール

  • 回答を公開する前に、必ずユーザーの承認を得てください
  • ディスカッションや Issue を閉じないでください — 回答のみを行います
  • 回答済みとしてマークしないでください — Q&A ディスカッションでは、投稿者に任せます
  • バッチの上限: 1バッチあたり最大10件(コンテキストの過負荷を防ぐため)
  • needs-manual アイテム: GitHub URL と理由を添えてユーザーに報告し、回答は試みないでください
  • トーン: strategy の Section 6 に従い、敬意を払い、役立つ情報を提供し、コードへのリンクを含めます

完了の定義

  • アイテムを読み込んだ(単一、バッチ、または対話形式で選択)
  • 質問の背景を分析し、回答を求めてコードベースを検索した
  • response_styles.md に従って回答の種類を分類した
  • 初めて投稿したユーザーを確認し、歓迎した
  • 関連するコードやドキュメントへのリンクを含む回答を作成した
  • 事実確認を行った(ファイルパス、コード参照、コマンドを確認済み)
  • ユーザーが回答を承認した
  • GraphQL/CLI を使って公開し、コメントの URL を報告した
  • needs-manual アイテムを URL とともにユーザーに報告した

バージョン: 1.0.0 最終更新日: 2026-03-14

コメント