mcpField
C
cap-trivia

cap-trivia

github.com/capire开发17109 次安装4 天前更新
代码仓库

关于 cap-trivia

cap-trivia 是用于开展 CAP 互动测验的技能。它会检索 CAP 文档,按指定主题和难度生成三道选择题,并在答题后评分和讲解。

主要功能

  1. 01检索 CAP 文档作为题目依据
  2. 02生成三道选择题
  3. 03支持三个难度级别
  4. 04通过 question 工具呈现选项
  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基本概念、命令行命令、事物的名称
intermediate事物的工作方式、何时使用哪种方法、配置
advanced边缘情况、细微行为、有具体规则的注解、内部机制

优质问题的规则:

  • 每道题都必须基于文档中的内容——不要猜测
  • 确保只有一个选项明显正确
  • 干扰项应合理但错误,不能明显荒谬
  • 变换提问方式,例如「以下哪项……」「……时会发生什么」「哪个注解……」
  • 避免答案为「以上皆是」或「以上皆非」的问题
4. 使用 question 工具呈现问题

调用 question 工具 一次,并将所有问题作为数组传入。每道题应包含:

  • header:非常简短的标签,例如 "Q1"、"Q2"
  • question:完整的问题文本
  • options:四个选项,每个选项都包含简洁的 label(答案文本)和 description(补充简短提示或背景)

用户选择答案后,一次性提交所有答案。

5. 评分和说明

收到答案后,输出简洁的结果——每道题一行,然后给出最终得分:

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

只有答错时才补充说明。答对的题目只用一句简短的话说明。

如果用户得分低于 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 工具呈现问题。
  • 如果用户提供的主题找不到合适的文档资料,请说明这一点,并建议一个你能很好覆盖的相近主题。

评论

支持 Markdown