关于 cap-trivia
cap-trivia 是用于开展 CAP 互动测验的技能。它会检索 CAP 文档,按指定主题和难度生成三道选择题,并在答题后评分和讲解。
主要功能
- 01检索 CAP 文档作为题目依据
- 02生成三道选择题
- 03支持三个难度级别
- 04通过 question 工具呈现选项
- 05评分并讲解答题结果
适用场景
- 01依据文档练习 CAP 概念
- 02复习指定的 CAP 主题
- 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