mcpField
Q
qa-discussion

qa-discussion

github.com/zenobi-usエージェントワークフロー6838 回インストール今日更新
リポジトリ

qa-discussion について

qa-discussion は、評価、オンボーディング、フィードバック収集、監査などに使える構造化 Q&A の進行スキルです。質問を一つずつ提示し、複数の回答形式を検証して進捗と結果を記録し、最後にレポートを作成します。

主な機能

  1. 01単一選択・複数選択・自由回答に対応
  2. 02一問ずつ提示し進捗を表示
  3. 03回答を検証し不正入力時に再質問
  4. 04回答と検証状況を記録
  5. 05完了時にサマリーレポートを作成

活用シーン

  1. 01構造化されたクイズや評価の実施
  2. 02質問によるフィードバック収集
  3. 03知識確認を含むオンボーディング
  4. 04監査やコンプライアンス回答の記録

インストール

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

$npx skills add https://github.com/zenobi-us/dotfiles --skill qa-discussion

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

同梱ファイル

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

FINALIZATION-SUMMARY.md
INTEGRATION.md
QUICK-START.md
README.md
TEST-REPORT.md
VALIDATION-REPORT.md
example.ts
index.test.ts
index.ts

詳細

Q&A ディスカッションコーディネーター

概要

ユーザーと体系的な Q&A ディスカッションを実施します。複数の質問形式に対応し、進捗を追跡して回答を検証し、包括的なサマリーレポートを作成します。評価、オンボーディング、フィードバックの収集、教育的なやり取りに最適です。

主な機能

質問形式:

  • 複数選択:選択肢から正解を1つ以上選択します
  • 単一選択:選択肢から正解を1つだけ選択します
  • 自由回答:必要に応じた検証機能付きの自由形式の回答です

セッション機能:

  • 進捗の追跡(質問 X / Y)
  • わかりやすさのため、質問は一度に1つずつ提示
  • 無効な回答に対する、役立つフィードバック付きの再質問
  • 検証ステータス付きの回答をすべて記録
  • ディスカッション完了後にサマリーレポートを作成

使用する場面

次のような場合にこのスキルを使用します。

  • 体系的な評価やクイズを実施する
  • 体系的な質問を通じてフィードバックを収集する
  • 検証付きの知識確認を通じてユーザーをオンボーディングする
  • 追跡機能付きの教育的なやり取りを作成する
  • 回答の記録が必要な監査やコンプライアンス確認を実施する

使用しない場面:

  • 質問が気軽な会話の一部である(自然にチャットしてください)
  • 回答を検証または追跡する必要がない
  • ディスカッションが体系的ではなく、探索的である

手順

Step 1: 質問を定義する

必要なメタデータをすべて含む、構造化された質問配列を作成します。

const questions: Question[] = [
  {
    id: 'q1',
    text: 'What is the capital of France?',
    type: 'single',
    options: ['London', 'Paris', 'Berlin', 'Madrid'],
    correctAnswer: 'Paris'
  },
  {
    id: 'q2',
    text: 'Select all that apply: Which are JavaScript frameworks?',
    type: 'multiple',
    options: ['React', 'Django', 'Vue', 'Laravel'],
    correctAnswers: ['React', 'Vue']
  },
  {
    id: 'q3',
    text: 'Explain why you chose your answer above',
    type: 'open',
    validation: (answer) => answer.length >= 10
  }
];
Step 2: ディスカッションを実施する

メイン関数を呼び出して開始します。

const session = await conductDiscussion(questions);

このスキルは次の処理を行います。

  1. 進捗インジケーターとともに各質問をわかりやすく表示する
  2. ユーザーの回答を待つ
  3. 質問の基準に照らして回答を検証する
  4. 無効な場合は、役立つフィードバックを添えて再質問する
  5. 検証済みの回答を保存する
  6. 次の質問に進む
  7. 完了後にサマリーを作成する
Step 3: 結果を確認する

レポート作成用にセッションデータにアクセスします。

// Session structure:
{
  totalQuestions: number;
  completedQuestions: number;
  responses: Array<{
    questionId: string;
    text: string;
    answer: string;
    isValid: boolean;
    attempts: number;
  }>;
  summary: {
    totalAttempts: number;
    validResponses: number;
    invalidResponses: number;
    completionTime: number;
  };
}

表示規則

質問の表示:

  • 質問番号と合計数を示す明確なタイトル(例:「質問 1 / 5」)
  • 質問文を目立つように表示
  • 参照しやすいよう、選択肢に番号を付ける(1、2、3...)
  • 質問形式に応じた指示:
    • 単一選択:「選択肢を1つ選択してください(番号を入力)」
    • 複数選択:「該当するものをすべて選択してください(カンマ区切りで番号を入力)」
    • 自由回答:「回答を入力してください(10文字以上)」

検証フィードバック:

  • 無効な入力:「選択が無効です。1、2、3、または4を入力してください」
  • 複数選択の形式エラー:「形式が無効です。次の形式を使用してください:1,2,3」
  • 自由回答の検証失敗:「回答が短すぎます。もう少し詳しく入力してください」
  • 空の入力:「回答は空にできません」

進捗表示:

  • 各質問に「質問 2 / 7」のように表示
  • わかりやすさのため、質問の間に視覚的な間隔を設ける
  • 最後の質問の後にサマリーを表示

エラー処理

入力の検証:

  • 範囲外の選択 → 有効な範囲を示して再質問する
  • 形式の誤り(単一選択の質問に複数回答) → 想定される形式を説明する
  • 空の回答 → 回答を入力するよう促す
  • カスタム検証の失敗 → 条件を役立つメッセージとともに説明する

セッションエラー:

  • 質問が指定されていない → わかりやすいエラーをスローする
  • 無効な質問形式 → セットアップ時に検証する
  • タイムアウト/中断 → 進捗を保存し、再開できるようにする

主な原則

  • 一度に1つの質問 - 複数の質問を同時に表示しない
  • 明確なフィードバック - 回答が無効な理由を必ず説明する
  • 完全な追跡 - すべての回答を検証ステータス付きで記録する
  • 柔軟な検証 - 完全一致、リスト検証、カスタム関数に対応する
  • 使いやすさ - 番号付きの選択肢、明確な指示、役立つメッセージ
  • 再開可能 - 必要に応じて一時停止と再開ができるよう設計する

使用例

完全な実装については、@index.ts を参照してください。次の内容が含まれています。

  • すべての質問形式に対応する TypeScript の型定義
  • 包括的なエラー処理
  • 実際の使用例
  • 統合パターン

コメント