mcpField
C
cap-trivia

cap-trivia

github.com/capire開発17109 回インストール4 日前に更新
リポジトリ

cap-trivia について

cap-trivia は、CAP のインタラクティブなクイズを行うスキルです。CAP ドキュメントを検索し、指定したテーマと難易度に沿って3問を作成して、回答後に採点と解説を行います。

主な機能

  1. 01CAP ドキュメントから出題情報を検索
  2. 02選択式問題を3問作成
  3. 033段階の難易度に対応
  4. 04question ツールで選択肢を提示
  5. 05回答を採点して結果を解説

活用シーン

  1. 01ドキュメントに基づく CAP 概念の練習
  2. 02指定した CAP テーマの復習
  3. 03選んだ難易度で知識を確認

MCP 対応

cds-mcp_search_docs ツールで CAP ドキュメントを検索し、question ツールでインタラクティブな選択肢を提示します。

インストール

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

$npx skills add https://github.com/capire/skills --skill cap-trivia

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

詳細

私が行うこと

短い、インタラクティブな CAP のトリビアクイズを作成します。トピックを選ぶ(または指定を受ける)と、CAP のドキュメントを検索して正確な情報を確認し、選択式の質問を 3 問作成します。質問は question ツールを使ってユーザーに提示し、単なるテキストではなく、インタラクティブな選択肢として表示します。

入力(任意)

ユーザーは次の情報を指定できます。

  • topic — 例:「CDS モデリング」、「認可」、「データベース」、「MTX」、 「OData」、「イベントキュー」、「ハンドラー」、「テスト」
  • difficulty — beginner、intermediate、advanced のいずれか

どちらも指定されていない場合は、上記のリストからトピックをランダムに選び、 難易度を intermediate にします。

手順

1. トピックと難易度を決める

ユーザーがトピックや難易度を指定した場合は、それを使用します。指定されていない場合は、ランダムに選びます。この段階では何も出力せず、そのまま検索に進みます。

2. CAP のドキュメントを検索する

cds-mcp_search_docs ツールを使って、選んだトピックについて正確で具体的な情報を探します。内容に変化をつけた質問を作成できるよう、2~3 回検索します。適切な検索クエリの例:

トピック検索クエリの例
CDS モデリング"entity aspects associations managed", "localized temporal"
認可"restrict requires roles", "instance-based authorization"
データベース"sqlite hana postgres plugin cap-js", "schema evolution deploy"
OData"odata draft enabled fiori", "odata actions functions"
イベントキュー"cds queued transactional event queue inbox"
ハンドラー"srv.on before after handler phases", "req.reject error"
テスト"cds.test jest supertest cap"
MTX"cds-mtxs multitenancy sidecar extensibility"
3. 質問を作成する

ドキュメントに記載された内容に基づいて、選択式の質問をちょうど 3 問作成します。各質問には 4 つの選択肢(A~D)を用意します。

難易度ごとの指針:

難易度主な内容
beginner基本概念、CLI コマンド、名称
intermediate仕組み、どのアプローチをいつ使うか、設定
advanced例外的なケース、微妙な動作、具体的なルールがあるアノテーション、内部の仕組み

良い質問を作成するためのルール:

  • すべての質問をドキュメント内で見つけた情報に基づいて作成し、推測しない
  • 正解となる選択肢は明確に 1 つだけにする
  • 誤答の選択肢は、もっともらしく、ただし誤りであるものにする(明らかにふざけた選択肢は避ける)
  • 「次のうちどれか」「~するとどうなるか」「どのアノテーションか」など、質問形式に変化をつける
  • 「すべて正しい」や「いずれも正しくない」を答えとする質問は避ける
4. question ツールを使って質問を提示する

すべての質問を配列にまとめて、question ツールを1 回だけ呼び出します。各質問には次の項目が必要です。

  • header:"Q1"、"Q2" などの非常に短いラベル
  • question:質問の全文
  • options:簡潔な label(回答のテキスト)と、簡単なヒントや補足を加える description をそれぞれ含む 4 つの選択肢

ユーザーは回答を選択し、すべてまとめて送信します。

5. 採点して解説する

回答を受け取ったら、簡潔な結果を出力します。質問ごとに 1 行、その後に最終スコアを示します。

Q1 ✅  @odata.draft.enabled — enables OData draft for Fiori edit flows.
Q2 ❌  Correct: srv.before — runs before the generic handler, not after.
Q3 ✅  @restrict — declarative authorization via roles and conditions.

Score: 2 / 3

不正解の場合に限り、追加の解説をします。正解の場合は、短い 1 文だけにします。

スコアが 60% 未満の場合は、関連するドキュメントのセクションを読むよう勧め、同じトピックで難易度を下げたラウンドをもう一度行うことを提案します。

スコアが 100% の場合は、同じトピックで難易度を上げたラウンド、または新しいトピックでのラウンドを提案します。

質問形式の例

Q3: Which annotation enables OData draft support for an entity?

A) @readonly
B) @odata.draft.enabled    ← correct
C) @cds.persistence.skip
D) @Capabilities.Updatable

注意事項

  • 質問の情報源として、必ず MCP のドキュメント検索を使用してください。学習済みの知識だけに頼らないでください。CAP の API やデフォルト設定は、メジャーバージョン間で変更されます。
  • ユーザーが Java を明示的に希望しない限り、Node.js の動作に関する質問を優先してください。
  • 質問は必ずちょうど 3 問にしてください。前置きや事前の説明は不要です。検索してから、question ツールを使って質問を提示してください。
  • ユーザーが指定したトピックについて、適切なドキュメント情報が見つからない場合は、その旨を伝え、十分に扱える近いトピックを提案してください。

コメント