{"id":"265b802f-0216-43e2-bb01-acc9192f6208","entityType":"agent","slug":"clawhub-zhoucha833-lang-exam-question-generator","name":"exam-question-generator","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zhoucha833-lang-exam-question-generator","canonicalPath":"/agent/clawhub-zhoucha833-lang-exam-question-generator","generatedAt":"2026-10-10T21:49:45.682Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T17:39:26.843Z","emptyReason":null},"description":"读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟）， AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML， 生成后引导用户选择下一步。 Skill: exam-question-generator Owner: zhoucha833-lang Summary: 读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟）， AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML， 生成后引导用户选择下一步。 Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-11T10:27:45.585Z | user exam-question-generator 1.0.0 - 初始版本，实现自动生成三套（基础巩固/综合能力/冲刺模拟）考试题，并渲染独立 HTML 文件。 - 按 knowledge_map.json 中考点重要性及差异化难度规则生成题目与答案。 - 题型、答案、解析严格依从规范，支持特殊处理弱项考点及真题来源判别。 - 结","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17b87qx14janve53g6m4mxwgs86g9n8:exam-question-generator","sourceUrl":"https://clawhub.ai/zhoucha833-lang/exam-question-generator","homepage":"https://clawhub.ai/zhoucha833-lang/skills/exam-question-generator","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zhoucha833-lang/exam-question-generator","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zhoucha833-lang/skills/exam-question-generator","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟）， AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML， 生成后引导用户选择下一步。 Skill: exam-question-generator Owner: zhoucha"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:39:26.843Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:39:26.843Z","emptyReason":null},"stars":null,"forks":null,"downloads":1314,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:39:26.842Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T17:39:26.843Z","lastCrawledAt":"2026-10-10T17:39:26.842Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T17:39:26.842Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-05-11T10:27:45.585Z","changelog":"exam-question-generator 1.0.0 - 初始版本，实现自动生成三套（基础巩固/综合能力/冲刺模拟）考试题，并渲染独立 HTML 文件。 - 按 knowledge_map.json 中考点重要性及差异化难度规则生成题目与答案。 - 题型、答案、解析严格依从规范，支持特殊处理弱项考点及真题来源判别。 - 结合 assets/template.html 模板输出最终 HTML，并发送操作引导消息。 - 覆盖错误处理和防止反模式，确保健壮性及用户体验。 - 支持用户通过关键词触发重新出题或后续抢救清单功能。","fileCount":6,"zipByteSize":12548}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17b87qx14janve53g6m4mxwgs86g9n8:exam-question-generator","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:49:45.681Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhoucha833-lang-exam-question-generator/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T17:39:26.843Z","emptyReason":null},"readme":"Skill: exam-question-generator\n\nOwner: zhoucha833-lang\n\nSummary: 读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟）， AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML， 生成后引导用户选择下一步。\n\nTags: latest:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-05-11T10:27:45.585Z | user\n\nexam-question-generator 1.0.0\n\n- 初始版本，实现自动生成三套（基础巩固/综合能力/冲刺模拟）考试题，并渲染独立 HTML 文件。\n- 按 knowledge_map.json 中考点重要性及差异化难度规则生成题目与答案。\n- 题型、答案、解析严格依从规范，支持特殊处理弱项考点及真题来源判别。\n- 结合 assets/template.html 模板输出最终 HTML，并发送操作引导消息。\n- 覆盖错误处理和防止反模式，确保健壮性及用户体验。\n- 支持用户通过关键词触发重新出题或后续抢救清单功能。\n\nArchive index:\n\nArchive v1.0.0: 6 files, 12548 bytes\n\nFiles: assets/template.html (9225b), references/difficulty-rules.md (4650b), references/question-formats.md (2929b), skill-card.md (2394b), SKILL.md (10002b), _meta.json (142b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: exam-question-generator\ndescription: >\n  读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟），\n  AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML，\n  生成后引导用户选择下一步。\nlicense: MIT\n---\n\n# Skill：exam-question-generator\n\n## 1. 触发条件\n\n- **自动触发**：exam-mindmap-generator 完成后，用户说「继续」\n- **用户触发**：用户说「重新出题」时，重新执行 Step 3-9\n\n---\n\n## 2. 执行流程\n\n```\nStep 1   确认 .exam-session/knowledge_map.json 存在且有效\nStep 2   读取 {baseDir}/references/question-formats.md（题型组成 + 来源策略）\nStep 3   读取 {baseDir}/references/difficulty-rules.md（三套难度规则）\nStep 4   调用 /knowledge-base 技能（note_retrieve）：对每个考点拉取知识库原文上下文\n           查询词：\"{point.name} {point.evidence[0]}\"（逐考点查询）\nStep 5   按规格生成三套全部题目（格式见\"题目生成规范\"）\nStep 6   写入 .exam-session/questions.json（格式见\"输出格式\"）\nStep 7   读取 {baseDir}/assets/template.html\nStep 8   为三套题目各自生成 HTML 卡片片段（格式见\"模板填充规范\"）\nStep 9   将 template.html 中所有 {{占位符}} 替换为实际值，得到完整 HTML\nStep 10  将完整 HTML 字符串写入 exam-questions-YYYYMMDD.html（写到工作区根目录）\nStep 11  发送引导消息\n```\n\n---\n\n## 3. 题目生成规范\n\n### 3.1 考点处理顺序\n\n按 knowledge_map.points 的 importance 降序处理：\n\n| importance 范围 | 出现套次 |\n|----------------|---------|\n| ≥ 0.8          | 套1 + 套2 + 套3 |\n| 0.6 – 0.79     | 套1 + 套2 |\n| < 0.6          | 仅套1 |\n\n`is_weak_point = true` → 在套1额外增加 1 道 tf，专门考查该考点的最常见误区。\n\n### 3.2 题目来源判断（C方案）\n\n```\n检查 point.evidence 是否含\"真题\"/\"历年\"/\"模拟题\"：\n  是 → source_type = \"adapted\"：RAG 拉取原文 → 改编措辞/数据，保留核心考查点\n  否 → source_type = \"generated\"：基于 point.name + RAG 上下文 AI 生成\n```\n\n### 3.3 难度执行\n\n严格遵守 difficulty-rules.md：\n\n| 套次 | 题干风格 | 干扰项设计 | 简答要求 |\n|------|---------|-----------|---------|\n| 套1 基础 | 直白，无歧义 | 明显错误 | 定义/列举 |\n| 套2 综合 | 场景化，需应用 | 近义混淆 | 分析/比较 |\n| 套3 冲刺 | 含陷阱，仿真 | 似对实错 | 跨考点综合 |\n\n### 3.4 答案格式规范\n\n- **mc**：answer = 单字母，如 `\"B\"`\n- **mma**：answer = 字母连排，如 `\"ACD\"`（无空格无标点）\n- **tf**：answer = `\"正确\"` 或 `\"错误\"`\n- **sa**：answer = 分点换行文本，格式：`\"1. 要点一\\n2. 要点二\\n3. 要点三\"`\n\n### 3.5 explanation 深度要求（对应 Q5:B）\n\n- mc/mma：逐选项说明对错，重点解释干扰项为何错\n- tf：给出完整判断逻辑链，非仅写\"对/错\"\n- sa：列出 2–4 个关键词和给分参考点\n\n---\n\n## 4. 输出格式\n\n写入 `.exam-session/questions.json`：\n\n```json\n{\n  \"questions\": {\n    \"exam_type\": \"string\",\n    \"exam_date\": \"YYYY-MM-DD\",\n    \"days_remaining\": 0,\n    \"target_score\": \"string\",\n    \"generated_at\": \"YYYY-MM-DD\",\n    \"sets\": [\n      {\n        \"set_id\": \"set1\",\n        \"label\": \"套1 · 基础巩固\",\n        \"difficulty\": \"basic\",\n        \"total_score\": 100,\n        \"total_questions\": 20,\n        \"time_minutes\": 60,\n        \"questions\": [\n          {\n            \"id\": \"q_s1_001\",\n            \"type\": \"mc\",\n            \"source_point_id\": \"kp_001\",\n            \"source_point_name\": \"string\",\n            \"source_type\": \"generated\",\n            \"content\": \"题目内容\",\n            \"options\": [\"A. ...\", \"B. ...\", \"C. ...\", \"D. ...\"],\n            \"answer\": \"B\",\n            \"explanation\": \"逐项解析...\",\n            \"knowledge_ref\": \"kp_001\",\n            \"score\": 2\n          }\n        ]\n      },\n      { \"set_id\": \"set2\", \"label\": \"套2 · 综合能力\", \"difficulty\": \"intermediate\", \"total_score\": 100, \"total_questions\": 20, \"time_minutes\": 90, \"questions\": [] },\n      { \"set_id\": \"set3\", \"label\": \"套3 · 冲刺模拟\", \"difficulty\": \"advanced\",     \"total_score\": 100, \"total_questions\": 20, \"time_minutes\": 90, \"questions\": [] }\n    ]\n  }\n}\n```\n\n**字段说明**：\n- `type`：\"mc\" | \"mma\" | \"tf\" | \"sa\"\n- `options`：mc/mma 有值（字符串数组），tf/sa 为 null\n- `answer`：见 3.4 格式规范\n- `knowledge_ref`：对应 knowledge_map 中的 `point.id`\n\n---\n\n## 5. 模板填充规范\n\n**输出路径**：`exam-questions-YYYYMMDD.html`（工作区根目录）\n\n**模板占位符**：\n\n| 占位符 | 取值 |\n|--------|-----|\n| `{{exam_type}}` | knowledge_map.exam_type |\n| `{{days_remaining}}` | knowledge_map.days_remaining |\n| `{{target_score}}` | knowledge_map.target_score |\n| `{{set1_label}}` | `套1 · 基础巩固（{N}题）` |\n| `{{set2_label}}` | `套2 · 综合能力（{N}题）` |\n| `{{set3_label}}` | `套3 · 冲刺模拟（{N}题）` |\n| `{{set1_questions}}` | 套1所有题目卡片的 HTML 拼接 |\n| `{{set2_questions}}` | 套2所有题目卡片的 HTML 拼接 |\n| `{{set3_questions}}` | 套3所有题目卡片的 HTML 拼接 |\n| `{{set1_stats}}` | `{N}题 · 100分 · 60分钟` |\n| `{{set2_stats}}` | `{N}题 · 100分 · 90分钟` |\n| `{{set3_stats}}` | `{N}题 · 100分 · 90分钟` |\n\n**题目卡片 HTML 片段格式**（每道题生成一个 `<div class=\"q-card\">` 块，拼接后填入对应占位符）：\n\n```html\n<!-- mc / mma 题 -->\n<div class=\"q-card\">\n  <div class=\"q-header\">\n    <div class=\"q-num\">{题号}</div>\n    <span class=\"q-badge {type}\">{类型中文：单选/多选/判断/简答}</span>\n    <span class=\"q-score\">{score}分</span>\n    <span class=\"q-point\">{source_point_name}</span>\n  </div>\n  <div class=\"q-content\">{content}</div>\n  <div class=\"options\">\n    <div class=\"option\">A. {选项}</div>\n    <div class=\"option\">B. {选项}</div>\n    <div class=\"option\">C. {选项}</div>\n    <div class=\"option\">D. {选项}</div>\n  </div>\n  <button class=\"toggle-btn\" onclick=\"toggleAnswer(this)\">查看答案 ▼</button>\n  <div class=\"answer-wrap\">\n    <div class=\"answer-line\">答案：<strong>{answer}</strong></div>\n    <div class=\"explanation\">{explanation}</div>\n    <span class=\"ref-chip\">考点：{source_point_name}</span>\n  </div>\n</div>\n\n<!-- tf / sa 题（无 options 区块）-->\n<div class=\"q-card\">\n  <div class=\"q-header\">\n    <div class=\"q-num\">{题号}</div>\n    <span class=\"q-badge {type}\">{类型中文}</span>\n    <span class=\"q-score\">{score}分</span>\n    <span class=\"q-point\">{source_point_name}</span>\n  </div>\n  <div class=\"q-content\">{content}</div>\n  <button class=\"toggle-btn\" onclick=\"toggleAnswer(this)\">查看答案 ▼</button>\n  <div class=\"answer-wrap\">\n    <div class=\"answer-line\">答案：<strong>{answer}</strong></div>\n    <div class=\"explanation\">{explanation}</div>\n    <span class=\"ref-chip\">考点：{source_point_name}</span>\n  </div>\n</div>\n```\n\n---\n\n## 6. 引导消息\n\n写入 HTML 成功后立即发送（变量从 Step 9 实际写入数据取值）：\n\n```\n你的3套专属模拟题已生成 ✅\n\n套1 基础巩固：{set1_count}题 · 100分 · 建议60分钟\n套2 综合能力：{set2_count}题 · 100分 · 建议90分钟\n套3 冲刺模拟：{set3_count}题 · 100分 · 建议90分钟\n\n要生成考前1小时抢救清单吗？（含核心公式速记 / 高频考点 / 高频错点，支持打印）\n```\n\n---\n\n## 7. 错误处理\n\n| 场景 | 处理 |\n|------|------|\n| knowledge_map.json 不存在 | 提示\"请先运行考前冲刺分析\"，不继续 |\n| 某考点知识库无上下文返回 | 告知用户该考点无匹配资料，仅凭考点名称生成，继续其余考点 |\n| questions.json 写入失败 | 将数据存入会话上下文，继续执行 Step 7-11 |\n| template.html 读取失败 | 终止并提示\"skill 文件缺失，请检查安装\" |\n\n---\n\n## 8. Anti-Patterns（严禁）\n\n```\n❌ 生成过程中输出\"我正在出套1的单选题，请稍候…\"\n❌ 每套生成完毕后询问\"是否继续生成套2？\"\n❌ 简答题 explanation 只写\"详见教材\"或\"理解即可\"\n❌ 多选题 answer 含空格或标点（正确格式：\"ACD\"，错误格式：\"A, C, D\"）\n❌ 向用户展示 questions.json 的原始内容\n❌ 脚本报错后不处理直接崩溃，应告知用户具体失败原因\n❌ 将题目内容以 Markdown 文字直接输出给用户——必须按模板填充规范生成 HTML，最终产物只有 HTML 文件\n❌ 输出 .md 文件作为产物，最终产物必须是 .exam-output/exam-questions-YYYYMMDD.html\n❌ 不读取 assets/template.html 直接自行构造 HTML 结构——必须基于 template.html 填充占位符\n❌ 将引导消息（\"下一步操作\"、\"接下来\"等文字）嵌入 HTML 文件——引导消息只能在聊天对话中以纯文本发送\n```\n\n---\n\n## 9. 用户操作响应\n\n| 用户回复 | 处理 |\n|---------|------|\n| 「要」/「生成」/「好」/「继续」/「是」 | 触发 exam-rescue-html |\n| 「不要」/「不用」/「不」 | 回复\"好的，需要时随时说「生成抢救清单」\" |\n| 「重新出题」 | 重新执行 Step 4-10，覆盖旧文件 |\n| 其他 | 重新展示引导消息 |\n\n---\n\n## 10. 验证矩阵\n\n| 场景 | 预期行为 | 禁止行为 |\n|------|---------|---------|\n| 正常流程 | 三套各20题→JSON→HTML→引导 | 分步确认 |\n| 含真题证据的考点 | source_type=\"adapted\"，改编措辞 | 直接复制原文 |\n| is_weak_point 考点 | 套1额外多一道tf | 仅按常规题数出题 |\n| importance<0.6 的考点 | 仅在套1出题 | 出现在套2/套3 |\n| 用户说\"重新出题\" | 重新执行，覆盖旧文件 | 询问是否确认 |\n| 用户说\"要/继续\" | 触发 exam-rescue-html | 再展示题目内容 |\n| 用户说\"不要\" | 礼貌回复，不继续 | 强行触发下一步 |\n| questions.json 写入失败 | 降级存会话→继续渲染 | 报错终止 |\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn79n8rjw599q4q8hq9txtde5d86g2ht\",\n  \"slug\": \"exam-question-generator\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778495265585\n}\n\nFile v1.0.0:references/difficulty-rules.md\n\n# 三套试卷难度规则\n\n## 总原则\n\n三套试卷构成递进学习路径：**基础巩固 → 综合能力 → 冲刺模拟**\n每套完全独立，可单独使用，但三套合用效果最佳。\n\n---\n\n## 套1 · 基础巩固\n\n**目标**：覆盖所有考点，确认基础理解，消灭记忆盲区。\n\n### 出题规则\n\n**单选题（mc）**\n- 题干：直接考查概念定义或公式，无歧义，无场景包装\n- 干扰项：明显错误，如\"完全相反的陈述\"或\"常见笔误\"\n- 示例题干模式：\"以下关于X的说法，正确的是\"\n\n**判断题（tf）**\n- 陈述基本事实或常见误解，让学生判断对错\n- 错误陈述选取该考点最高频的学生误区\n- 解析必须指出错误所在，不能只写\"错误\"\n\n**简答题（sa）**\n- 题干模式：\"什么是X\"\"列举Y的主要特点\"\"简述Z的步骤\"\n- 答案结构：2–4个要点，每点50字以内\n- 无需推导或综合，直接提取知识点即可作答\n\n### 考点优先级\n1. is_weak_point = true → 最先出题，确保覆盖\n2. importance 降序排列\n3. 每题 knowledge_ref 对应单一考点 id\n\n---\n\n## 套2 · 综合能力\n\n**目标**：检验理解与应用，识别知识点之间的关联。\n\n### 出题规则\n\n**单选题（mc）**\n- 题干：给出具体场景或例子，需判断适用哪个概念/规律\n- 干扰项：含\"似对实错\"选项，需仔细辨别\n- 示例题干模式：\"在X情况下，Y的结果是\"\n\n**多选题（mma）**\n- 从多个维度考查同一考点，或考查相关联的多个考点\n- 正确答案设计为2–3个，避免全选或全错\n- 每题 knowledge_ref 可关联 1–2 个考点 id\n\n**判断题（tf）**\n- 考查概念之间的区别与联系，错误陈述为近义混淆\n- 示例：\"A与B的区别在于…（判断）\"\n\n**简答题（sa）**\n- 题干模式：\"分析X的原因\"\"比较A与B的异同\"\"说明为什么Z\"\n- 答案需体现逻辑推理，而非单纯列举\n\n### 考点优先级\n- importance ≥ 0.7 的考点优先出现在套2\n- is_weak_point = true 的考点：单选或多选中设置有针对性的陷阱选项\n\n---\n\n## 套3 · 冲刺模拟\n\n**目标**：仿真考试场景，检验综合应变能力，暴露认知盲区。\n\n### 出题规则\n\n**单选题（mc）**\n- 含语言陷阱，相似概念容易混淆，需精确辨别\n- 题干可含\"以下说法错误的是\"反向题型\n- 干扰项：设计\"看起来对但有一处细节错误\"的选项\n\n**多选题（mma）**\n- 复杂场景，选项中含\"似对实错\"和\"似错实对\"各至少一个\n- 设计漏选陷阱：学生容易遗漏的正确选项\n- 可跨多个考点设计综合题\n\n**判断题（tf）**\n- 考查细节差异，如充分条件 vs 充要条件、定义中的边界条件\n- 陈述方式接近正确，但存在关键词偷换\n\n**简答题（sa）**\n- 题干模式：\"综合分析…\"\"结合X和Y，论述Z\"\"从多角度说明…\"\n- 答案要求串联 2–3 个相关考点，有逻辑结构\n- 关键词提示：给分参考点包含跨考点的综合表述\n\n### 考点优先级\n- 仅覆盖 importance ≥ 0.8 的高优先级考点\n- 题目风格尽量贴近目标考试的真实题型表述习惯\n\n---\n\n## 难度梯度示例（以\"极值定理\"为例）\n\n**套1（基础）**\n> 若函数 f(x) 在 x₀ 处的导数 f'(x₀) = 0，则 x₀ 是 f(x) 的极值点。（判断）\n>\n> 答：**错误**。f'(x₀) = 0 是极值点的必要条件而非充分条件。例如 f(x) = x³ 在 x = 0 处导数为0，但 x = 0 不是极值点。\n\n**套2（综合）**\n> 设 f(x) = x³，下列说法正确的是（单选）：\n> A. x = 0 是极大值点　B. x = 0 是极小值点　C. x = 0 既不是极大也不是极小值点　D. 无法判断\n>\n> 答：**C**。f'(0) = 0，f''(0) = 0，二阶导数判别法失效。由 f'(x) = 3x² ≥ 0，x = 0 两侧导数同号，故 x = 0 非极值点。\n\n**套3（冲刺）**\n> 若函数 f(x) 在 x₀ 处满足 f'(x₀) = 0 且 f''(x₀) = 0，则以下判断正确的有（多选）：\n> A. x₀ 一定是极大值点　B. x₀ 一定是极小值点　C. x₀ 可能是极值点　D. x₀ 可能是拐点　E. x₀ 一定是拐点\n>\n> 答：**CD**。二阶导为0时无法通过二阶判别法下结论，需用一阶导变号判别极值，用凹凸性变化判别拐点，两种情况均有可能。\n\n---\n\n## 答案解析格式规范（三套统一）\n\n简答题 answer 字段格式：\n```\n1. [要点一内容]\n2. [要点二内容]\n3. [要点三内容（如有）]\n```\n\nexplanation 字段：\n- 单选/多选：说明各选项对错理由，重点解释干扰项为何错\n- 判断：给出完整判断逻辑链\n- 简答：列出关键词和给分参考点\n\nFile v1.0.0:references/question-formats.md\n\n# 题型格式规范\n\n## 四种题型定义\n\n### 单选题 (mc)\n- 选项数：4个（A/B/C/D）\n- 正确答案：1个\n- answer 格式：\"A\" | \"B\" | \"C\" | \"D\"\n- 评分：5分/题（三套统一）\n\n### 多选题 (mma)\n- 选项数：4–5个（A/B/C/D 或 A/B/C/D/E）\n- 正确答案：2–4个\n- answer 格式：字母连排，如 \"AC\"、\"BDE\"（无空格无标点）\n- 评分：6分/题\n- 评分规则（写入模板页面说明）：全对6分，漏选2分，错选0分\n\n### 判断题 (tf)\n- 选项：无（options = null）\n- answer 格式：\"正确\" | \"错误\"\n- 评分：3分/题\n- explanation：必须说明判断依据或指出错误所在\n\n### 简答题 (sa)\n- 选项：无（options = null）\n- answer 格式：分点作答，每点一行，前缀 \"1. \" \"2. \" \"3. \"\n- 评分：10分/题\n- explanation：给出关键词和主要评分点\n\n---\n\n## 各套题目组成\n\n### 套1 · 基础巩固（100分，60分钟）\n\n| 题型       | 题数 | 分值   | 小计  |\n|------------|------|--------|-------|\n| 单选 (mc)  | 13   | 5分/题 | 65分  |\n| 判断 (tf)  | 5    | 3分/题 | 15分  |\n| 简答 (sa)  | 2    | 10分/题| 20分  |\n| **合计**   | **20题** | —  | **100分** |\n\n### 套2 · 综合能力（100分，90分钟）\n\n| 题型        | 题数 | 分值   | 小计  |\n|-------------|------|--------|-------|\n| 单选 (mc)   | 4    | 5分/题 | 20分  |\n| 多选 (mma)  | 6    | 6分/题 | 36分  |\n| 判断 (tf)   | 8    | 3分/题 | 24分  |\n| 简答 (sa)   | 2    | 10分/题| 20分  |\n| **合计**    | **20题** | —  | **100分** |\n\n### 套3 · 冲刺模拟（100分，90分钟）\n\n| 题型        | 题数 | 分值   | 小计  |\n|-------------|------|--------|-------|\n| 单选 (mc)   | 6    | 5分/题 | 30分  |\n| 多选 (mma)  | 7    | 6分/题 | 42分  |\n| 判断 (tf)   | 6    | 3分/题 | 18分  |\n| 简答 (sa)   | 1    | 10分/题| 10分  |\n| **合计**    | **20题** | —  | **100分** |\n\n---\n\n## 考点分配策略\n\n按 knowledge_map.points 的 importance 降序处理：\n\n```\nimportance ≥ 0.8  →  套1 + 套2 + 套3（高优先级考点，三套必出）\n0.6 ≤ imp < 0.8  →  套1 + 套2\nimp < 0.6        →  仅套1\nis_weak_point = true → 套1 额外将该考点的 tf 替换为针对最常见误区的判断题\n```\n\n题目槽位不足时：按 importance 降序截取，确保高分考点优先覆盖。\n题目槽位有余时：高 importance 考点可在同套内从不同角度出多题。\n\n---\n\n## 题目来源策略（C方案 · 混合）\n\n检查每个考点的 `evidence` 字段：\n\n```\nevidence 含\"真题\"/\"历年\"/\"模拟题\" →  source_type = \"adapted\"\n  做法：调用 /knowledge-base 技能（note_retrieve）拉取对应原文 → 改编措辞/数据，保留核心考查点\n\nevidence 不含上述关键词       →  source_type = \"generated\"\n  做法：基于 point.name + 调用 /knowledge-base 技能（note_retrieve）获取相关上下文 → AI 生成\n```\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nGenerates three differentiated sets of Chinese exam practice questions from a knowledge_map.json file, writes structured questions, renders a tabbed HTML exam page, and guides the learner to the next study step.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhoucha833-lang](https://clawhub.ai/user/zhoucha833-lang)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nLearners, tutors, and education-focused agents use this skill to turn an existing exam knowledge map into staged practice exams covering basic review, applied understanding, and final simulation. It is intended for workspace use where generated question JSON and HTML files can be reviewed before sharing.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Generated HTML can include unescaped content from notes, knowledge-map values, or generated question text.\n\nMitigation: Use the skill only with trusted or reviewed study materials until inserted HTML content is escaped or sanitized.\n\nRisk: The rendered exam page loads third-party KaTeX scripts from a CDN.\n\nMitigation: Bundle trusted local assets or use integrity-protected CDN resources before sharing generated HTML in sensitive environments.\n\nRisk: Reruns may overwrite prior generated exam outputs.\n\nMitigation: Use explicit invocation phrases and confirm the desired output before rerunning the question generation workflow.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/zhoucha833-lang/skills/exam-question-generator)\n- [Difficulty Rules](artifact/references/difficulty-rules.md)\n- [Question Format Rules](artifact/references/question-formats.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, JSON, HTML, guidance]\n\n**Output Format:** [Structured questions.json plus a rendered HTML exam page and a concise follow-up message]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Creates three 100-point practice exam sets with answers, explanations, scoring metadata, and tabs for basic, intermediate, and advanced practice.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: exam-question-generator Owner: zhoucha833-lang Summary: 读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟）， AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML， 生成后引导用户选择下一步。 Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-11T10:27:45.585Z | user exam-question-generator 1.0.0 - 初始版本，实现自动生成三套（基础巩固/综合能力/冲刺模拟）考试题，并渲染独立 HTML 文件。 - 按 knowledge_map.json 中考点重要性及差异化难度规则生成题目与答案。 - 题型、答案、解析严格依从规范，支持特殊处理弱项考点及真题来源判别。 - 结","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Step 1   确认 .exam-session/knowledge_map.json 存在且有效\nStep 2   读取 {baseDir}/references/question-formats.md（题型组成 + 来源策略）\nStep 3   读取 {baseDir}/references/difficulty-rules.md（三套难度规则）\nStep 4   调用 /knowledge-base 技能（note_retrieve）：对每个考点拉取知识库原文上下文\n           查询词：\"{point.name} {point.evidence[0]}\"（逐考点查询）\nStep 5   按规格生成三套全部题目（格式见\"题目生成规范\"）\nStep 6   写入 .exam-session/questions.json（格式见\"输出格式\"）\nStep 7   读取 {baseDir}/assets/template.html\nStep 8   为三套题目各自生成 HTML 卡片片段（格式见\"模板填充规范\"）\nStep 9   将 template.html 中所有 {{占位符}} 替换为实际值，得到完整 HTML\nStep 10  将完整 HTML 字符串写入 exam-questions-YYYYMMDD.html（写到工作区根目录）\nStep 11  发送引导消息"},{"language":"text","snippet":"检查 point.evidence 是否含\"真题\"/\"历年\"/\"模拟题\"：\n  是 → source_type = \"adapted\"：RAG 拉取原文 → 改编措辞/数据，保留核心考查点\n  否 → source_type = \"generated\"：基于 point.name + RAG 上下文 AI 生成"},{"language":"json","snippet":"{\n  \"questions\": {\n    \"exam_type\": \"string\",\n    \"exam_date\": \"YYYY-MM-DD\",\n    \"days_remaining\": 0,\n    \"target_score\": \"string\",\n    \"generated_at\": \"YYYY-MM-DD\",\n    \"sets\": [\n      {\n        \"set_id\": \"set1\",\n        \"label\": \"套1 · 基础巩固\",\n        \"difficulty\": \"basic\",\n        \"total_score\": 100,\n        \"total_questions\": 20,\n        \"time_minutes\": 60,\n        \"questions\": [\n          {\n            \"id\": \"q_s1_001\",\n            \"type\": \"mc\",\n            \"source_point_id\": \"kp_001\",\n            \"source_point_name\": \"string\",\n            \"source_type\": \"generated\",\n            \"content\": \"题目内容\",\n            \"options\": [\"A. ...\", \"B. ...\", \"C. ...\", \"D. ...\"],\n            \"answer\": \"B\",\n            \"explanation\": \"逐项解析...\",\n            \"knowledge_ref\": \"kp_001\",\n            \"score\": 2\n          }\n        ]\n      },\n      { \"set_id\": \"set2\", \"label\": \"套2 · 综合能力\", \"difficulty\": \"intermediate\", \"total_score\": 100, \"total_questions\": 20, \"time_minutes\": 90, \"questions\": [] },\n      { \"set_id\": \"set3\", \"label\": \"套3 · 冲刺模拟\", \"difficulty\": \"advanced\",     \"total_score\": 100, \"total_questions\": 20, \"time_minutes\": 90, \"questions\": [] }\n    ]\n  }\n}"},{"language":"html","snippet":"<!-- mc / mma 题 -->\n<div class=\"q-card\">\n  <div class=\"q-header\">\n    <div class=\"q-num\">{题号}</div>\n    <span class=\"q-badge {type}\">{类型中文：单选/多选/判断/简答}</span>\n    <span class=\"q-score\">{score}分</span>\n    <span class=\"q-point\">{source_point_name}</span>\n  </div>\n  <div class=\"q-content\">{content}</div>\n  <div class=\"options\">\n    <div class=\"option\">A. {选项}</div>\n    <div class=\"option\">B. {选项}</div>\n    <div class=\"option\">C. {选项}</div>\n    <div class=\"option\">D. {选项}</div>\n  </div>\n  <button class=\"toggle-btn\" onclick=\"toggleAnswer(this)\">查看答案 ▼</button>\n  <div class=\"answer-wrap\">\n    <div class=\"answer-line\">答案：<strong>{answer}</strong></div>\n    <div class=\"explanation\">{explanation}</div>\n    <span class=\"ref-chip\">考点：{source_point_name}</span>\n  </div>\n</div>\n\n<!-- tf / sa 题（无 options 区块）-->\n<div class=\"q-card\">\n  <div class=\"q-header\">\n    <div class=\"q-num\">{题号}</div>\n    <span class=\"q-badge {type}\">{类型中文}</span>\n    <span class=\"q-score\">{score}分</span>\n    <span class=\"q-point\">{source_point_name}</span>\n  </div>\n  <div class=\"q-content\">{content}</div>\n  <button class=\"toggle-btn\" onclick=\"toggleAnswer(this)\">查看答案 ▼</button>\n  <div class=\"answer-wrap\">\n    <div class=\"answer-line\">答案：<strong>{answer}</strong></div>\n    <div class=\"explanation\">{explanation}</div>\n    <span class=\"ref-chip\">考点：{source_point_name}</span>\n  </div>\n</div>"},{"language":"text","snippet":"你的3套专属模拟题已生成 ✅\n\n套1 基础巩固：{set1_count}题 · 100分 · 建议60分钟\n套2 综合能力：{set2_count}题 · 100分 · 建议90分钟\n套3 冲刺模拟：{set3_count}题 · 100分 · 建议90分钟\n\n要生成考前1小时抢救清单吗？（含核心公式速记 / 高频考点 / 高频错点，支持打印）"},{"language":"text","snippet":"❌ 生成过程中输出\"我正在出套1的单选题，请稍候…\"\n❌ 每套生成完毕后询问\"是否继续生成套2？\"\n❌ 简答题 explanation 只写\"详见教材\"或\"理解即可\"\n❌ 多选题 answer 含空格或标点（正确格式：\"ACD\"，错误格式：\"A, C, D\"）\n❌ 向用户展示 questions.json 的原始内容\n❌ 脚本报错后不处理直接崩溃，应告知用户具体失败原因\n❌ 将题目内容以 Markdown 文字直接输出给用户——必须按模板填充规范生成 HTML，最终产物只有 HTML 文件\n❌ 输出 .md 文件作为产物，最终产物必须是 .exam-output/exam-questions-YYYYMMDD.html\n❌ 不读取 assets/template.html 直接自行构造 HTML 结构——必须基于 template.html 填充占位符\n❌ 将引导消息（\"下一步操作\"、\"接下来\"等文字）嵌入 HTML 文件——引导消息只能在聊天对话中以纯文本发送"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: exam-question-generator\ndescription: >\n  读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟），\n  AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML，\n  生成后引导用户选择下一步。\nlicense: MIT\n---\n\n# Skill：exam-question-generator\n\n## 1. 触发条件\n\n- **自动触发**：exam-mindmap-generator 完成后，用户说「继续」\n- **用户触发**：用户说「重新出题」时，重新执行 Step 3-9\n\n---\n\n## 2. 执行流程\n\n```\nStep 1   确认 .exam-session/knowledge_map.json 存在且有效\nStep 2   读取 {baseDir}/references/question-formats.md（题型组成 + 来源策略）\nStep 3   读取 {baseDir}/references/difficulty-rules.md（三套难度规则）\nStep 4   调用 /knowledge-base 技能（note_retrieve）：对每个考点拉取知识库原文上下文\n           查询词：\"{point.name} {point.evidence[0]}\"（逐考点查询）\nStep 5   按规格生成三套全部题目（格式见\"题目生成规范\"）\nStep 6   写入 .exam-session/questions.json（格式见\"输出格式\"）\nStep 7   读取 {baseDir}/assets/template.html\nStep 8   为三套题目各自生成 HTML 卡片片段（格式见\"模板填充规范\"）\nStep 9   将 template.html 中所有 {{占位符}} 替换为实际值，得到完整 HTML\nStep 10  将完整 HTML 字符串写入 exam-questions-YYYYMMDD.html（写到工作区根目录）\nStep 11  发送引导消息\n```\n\n---\n\n## 3. 题目生成规范\n\n### 3.1 考点处理顺序\n\n按 knowledge_map.points 的 importance 降序处理：\n\n| importance 范围 | 出现套次 |\n|----------------|---------|\n| ≥ 0.8          | 套1 + 套2 + 套3 |\n| 0.6 – 0.79     | 套1 + 套2 |\n| < 0.6          | 仅套1 |\n\n`is_weak_point = true` → 在套1额外增加 1 道 tf，专门考查该考点的最常见误区。\n\n### 3.2 题目来源判断（C方案）\n\n```\n检查 point.evidence 是否含\"真题\"/\"历年\"/\"模拟题\"：\n  是 → source_type = \"adapted\"：RAG 拉取原文 → 改编措辞/数据，保留核心考查点\n  否 → source_type = \"generated\"：基于 point.name + RAG 上下文 AI 生成\n```\n\n### 3.3 难度执行\n\n严格遵守 difficulty-rules.md：\n\n| 套次 | 题干风格 | 干扰项设计 | 简答要求 |\n|------|---------|-----------|---------|\n| 套1 基础 | 直白，无歧义 | 明显错误 | 定义/列举 |\n| 套2 综合 | 场景化，需应用 | 近义混淆 | 分析/比较 |\n| 套3 冲刺 | 含陷阱，仿真 | 似对实错 | 跨考点综合 |\n\n### 3.4 答案格式规范\n\n- **mc**：answer = 单字母，如 `\"B\"`\n- **mma**：answer = 字母连排，如 `\"ACD\"`（无空格无标点）\n- **tf**：answer = `\"正确\"` 或 `\"错误\"`\n- **sa**：answer = 分点换行文本，格式：`\"1. 要点一\\n2. 要点二\\n3. 要点三\"`\n\n### 3.5 explanation 深度要求（对应 Q5:B）\n\n- mc/mma：逐选项说明对错，重点解释干扰项为何错\n- tf：给出完整判断逻辑链，非仅写\"对/错\"\n- sa：列出 2–4 个关键词和给分参考点\n\n---\n\n## 4. 输出格式\n\n写入 `.exam-session/questions.json`：\n\n```json\n{\n  \"questions\": {\n    \"exam_type\": \"string\",\n    \"exam_date\": \"YYYY-MM-DD\",\n    \"days_remaining\": 0,\n    \"target_score\": \"string\",\n    \"generated_at\": \"YYYY-MM-DD\",\n    \"sets\": [\n      {\n        \"set_id\": \"set1\",\n        \"label\": \"套1 · 基础巩固\",\n        \"difficulty\": \"basic\",\n        \"total_score\": 100,\n        \"total_questions\": 20,\n        \"time_minutes\": 60,\n        \"questions\": [\n          {\n            \"id\": \"q_s1_001\",\n            \"type\": \"mc\",\n            \"source_point_id\": \"kp_001\",\n            \"source_point_name\": \"string\",\n            \"source_type\": \"generated\",\n            \"content\": \"题目内容\",\n            \"options\": [\"A. ...\", \"B. ...\", \"C. ...\", \"D. ...\"],\n            \"answer\": \"B\",\n            \"explanation\": \"逐项解析...\",\n            \"knowledge_ref\": \"kp_001\",\n            \"score\": 2\n          }\n        ]\n      },\n      { \"set_id\": \"set2\", \"label\": \"套2 · 综合能力\", \"difficulty\": \"intermediate\", \"total_score\": 100, \"total_questions\": 20, \"time_minutes\": 90, \"questions\": [] },\n      { \"set_id\": \"set3\", \"label\": \"套"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn79n8rjw599q4q8hq9txtde5d86g2ht\",\n  \"slug\": \"exam-question-generator\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778495265585\n}"},{"path":"references/difficulty-rules.md","content":"# 三套试卷难度规则\n\n## 总原则\n\n三套试卷构成递进学习路径：**基础巩固 → 综合能力 → 冲刺模拟**\n每套完全独立，可单独使用，但三套合用效果最佳。\n\n---\n\n## 套1 · 基础巩固\n\n**目标**：覆盖所有考点，确认基础理解，消灭记忆盲区。\n\n### 出题规则\n\n**单选题（mc）**\n- 题干：直接考查概念定义或公式，无歧义，无场景包装\n- 干扰项：明显错误，如\"完全相反的陈述\"或\"常见笔误\"\n- 示例题干模式：\"以下关于X的说法，正确的是\"\n\n**判断题（tf）**\n- 陈述基本事实或常见误解，让学生判断对错\n- 错误陈述选取该考点最高频的学生误区\n- 解析必须指出错误所在，不能只写\"错误\"\n\n**简答题（sa）**\n- 题干模式：\"什么是X\"\"列举Y的主要特点\"\"简述Z的步骤\"\n- 答案结构：2–4个要点，每点50字以内\n- 无需推导或综合，直接提取知识点即可作答\n\n### 考点优先级\n1. is_weak_point = true → 最先出题，确保覆盖\n2. importance 降序排列\n3. 每题 knowledge_ref 对应单一考点 id\n\n---\n\n## 套2 · 综合能力\n\n**目标**：检验理解与应用，识别知识点之间的关联。\n\n### 出题规则\n\n**单选题（mc）**\n- 题干：给出具体场景或例子，需判断适用哪个概念/规律\n- 干扰项：含\"似对实错\"选项，需仔细辨别\n- 示例题干模式：\"在X情况下，Y的结果是\"\n\n**多选题（mma）**\n- 从多个维度考查同一考点，或考查相关联的多个考点\n- 正确答案设计为2–3个，避免全选或全错\n- 每题 knowledge_ref 可关联 1–2 个考点 id\n\n**判断题（tf）**\n- 考查概念之间的区别与联系，错误陈述为近义混淆\n- 示例：\"A与B的区别在于…（判断）\"\n\n**简答题（sa）**\n- 题干模式：\"分析X的原因\"\"比较A与B的异同\"\"说明为什么Z\"\n- 答案需体现逻辑推理，而非单纯列举\n\n### 考点优先级\n- importance ≥ 0.7 的考点优先出现在套2\n- is_weak_point = true 的考点：单选或多选中设置有针对性的陷阱选项\n\n---\n\n## 套3 · 冲刺模拟\n\n**目标**：仿真考试场景，检验综合应变能力，暴露认知盲区。\n\n### 出题规则\n\n**单选题（mc）**\n- 含语言陷阱，相似概念容易混淆，需精确辨别\n- 题干可含\"以下说法错误的是\"反向题型\n- 干扰项：设计\"看起来对但有一处细节错误\"的选项\n\n**多选题（mma）**\n- 复杂场景，选项中含\"似对实错\"和\"似错实对\"各至少一个\n- 设计漏选陷阱：学生容易遗漏的正确选项\n- 可跨多个考点设计综合题\n\n**判断题（tf）**\n- 考查细节差异，如充分条件 vs 充要条件、定义中的边界条件\n- 陈述方式接近正确，但存在关键词偷换\n\n**简答题（sa）**\n- 题干模式：\"综合分析…\"\"结合X和Y，论述Z\"\"从多角度说明…\"\n- 答案要求串联 2–3 个相关考点，有逻辑结构\n- 关键词提示：给分参考点包含跨考点的综合表述\n\n### 考点优先级\n- 仅覆盖 importance ≥ 0.8 的高优先级考点\n- 题目风格尽量贴近目标考试的真实题型表述习惯\n\n---\n\n## 难度梯度示例（以\"极值定理\"为例）\n\n**套1（基础）**\n> 若函数 f(x) 在 x₀ 处的导数 f'(x₀) = 0，则 x₀ 是 f(x) 的极值点。（判断）\n>\n> 答：**错误**。f'(x₀) = 0 是极值点的必要条件而非充分条件。例如 f(x) = x³ 在 x = 0 处导数为0，但 x = 0 不是极值点。\n\n**套2（综合）**\n> 设 f(x) = x³，下列说法正确的是（单选）：\n> A. x = 0 是极大值点　B. x = 0 是极小值点　C. x = 0 既不是极大也不是极小值点　D. 无法判断\n>\n> 答：**C**。f'(0) = 0，f''(0) = 0，二阶导数判别法失效。由 f'(x) = 3x² ≥ 0，x = 0 两侧导数同号，故 x = 0 非极值点。\n\n**套3（冲刺）**\n> 若函数 f(x) 在 x₀ 处满足 f'(x₀) = 0 且 f''(x₀) = 0，则以下判断正确的有（多选）：\n> A. x₀ 一定是极大值点　B. x₀ 一定是极小值点　C. x₀ 可能是极值点　D. x₀ 可能是拐点　E. x₀ 一定是拐点\n>\n> 答：**CD**。二阶导为0时无法通过二阶判别法下结论，需用一阶导变号判别极值，用凹凸性变化判别拐点，两种情况均有可能。\n\n---\n\n## 答案解析格式规范（三套统一）\n\n简答题 answer 字段格式：\n```\n1. [要点一内容]\n2. [要点二内容]\n3. [要点三内容（如有）]\n```\n\nexplanation 字段：\n- 单选/多选：说明各选项对错理由，重点解释干扰项为何错\n- 判断：给出完整判断逻辑链\n- 简答：列出关键词和给分参考点"},{"path":"references/question-formats.md","content":"# 题型格式规范\n\n## 四种题型定义\n\n### 单选题 (mc)\n- 选项数：4个（A/B/C/D）\n- 正确答案：1个\n- answer 格式：\"A\" | \"B\" | \"C\" | \"D\"\n- 评分：5分/题（三套统一）\n\n### 多选题 (mma)\n- 选项数：4–5个（A/B/C/D 或 A/B/C/D/E）\n- 正确答案：2–4个\n- answer 格式：字母连排，如 \"AC\"、\"BDE\"（无空格无标点）\n- 评分：6分/题\n- 评分规则（写入模板页面说明）：全对6分，漏选2分，错选0分\n\n### 判断题 (tf)\n- 选项：无（options = null）\n- answer 格式：\"正确\" | \"错误\"\n- 评分：3分/题\n- explanation：必须说明判断依据或指出错误所在\n\n### 简答题 (sa)\n- 选项：无（options = null）\n- answer 格式：分点作答，每点一行，前缀 \"1. \" \"2. \" \"3. \"\n- 评分：10分/题\n- explanation：给出关键词和主要评分点\n\n---\n\n## 各套题目组成\n\n### 套1 · 基础巩固（100分，60分钟）\n\n| 题型       | 题数 | 分值   | 小计  |\n|------------|------|--------|-------|\n| 单选 (mc)  | 13   | 5分/题 | 65分  |\n| 判断 (tf)  | 5    | 3分/题 | 15分  |\n| 简答 (sa)  | 2    | 10分/题| 20分  |\n| **合计**   | **20题** | —  | **100分** |\n\n### 套2 · 综合能力（100分，90分钟）\n\n| 题型        | 题数 | 分值   | 小计  |\n|-------------|------|--------|-------|\n| 单选 (mc)   | 4    | 5分/题 | 20分  |\n| 多选 (mma)  | 6    | 6分/题 | 36分  |\n| 判断 (tf)   | 8    | 3分/题 | 24分  |\n| 简答 (sa)   | 2    | 10分/题| 20分  |\n| **合计**    | **20题** | —  | **100分** |\n\n### 套3 · 冲刺模拟（100分，90分钟）\n\n| 题型        | 题数 | 分值   | 小计  |\n|-------------|------|--------|-------|\n| 单选 (mc)   | 6    | 5分/题 | 30分  |\n| 多选 (mma)  | 7    | 6分/题 | 42分  |\n| 判断 (tf)   | 6    | 3分/题 | 18分  |\n| 简答 (sa)   | 1    | 10分/题| 10分  |\n| **合计**    | **20题** | —  | **100分** |\n\n---\n\n## 考点分配策略\n\n按 knowledge_map.points 的 importance 降序处理：\n\n```\nimportance ≥ 0.8  →  套1 + 套2 + 套3（高优先级考点，三套必出）\n0.6 ≤ imp < 0.8  →  套1 + 套2\nimp < 0.6        →  仅套1\nis_weak_point = true → 套1 额外将该考点的 tf 替换为针对最常见误区的判断题\n```\n\n题目槽位不足时：按 importance 降序截取，确保高分考点优先覆盖。\n题目槽位有余时：高 importance 考点可在同套内从不同角度出多题。\n\n---\n\n## 题目来源策略（C方案 · 混合）\n\n检查每个考点的 `evidence` 字段：\n\n```\nevidence 含\"真题\"/\"历年\"/\"模拟题\" →  source_type = \"adapted\"\n  做法：调用 /knowledge-base 技能（note_retrieve）拉取对应原文 → 改编措辞/数据，保留核心考查点\n\nevidence 不含上述关键词       →  source_type = \"generated\"\n  做法：基于 point.name + 调用 /knowledge-base 技能（note_retrieve）获取相关上下文 → AI 生成\n```"},{"path":"skill-card.md","content":"## Description:\n\nGenerates three differentiated sets of Chinese exam practice questions from a knowledge_map.json file, writes structured questions, renders a tabbed HTML exam page, and guides the learner to the next study step.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhoucha833-lang](https://clawhub.ai/user/zhoucha833-lang)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nLearners, tutors, and education-focused agents use this skill to turn an existing exam knowledge map into staged practice exams covering basic review, applied understanding, and final simulation. It is intended for workspace use where generated question JSON and HTML files can be reviewed before sharing.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Generated HTML can include unescaped content from notes, knowledge-map values, or generated question text.\n\nMitigation: Use the skill only with trusted or reviewed study materials until inserted HTML content is escaped or sanitized.\n\nRisk: The rendered exam page loads third-party KaTeX scripts from a CDN.\n\nMitigation: Bundle trusted local assets or use integrity-protected CDN resources before sharing generated HTML in sensitive environments.\n\nRisk: Reruns may overwrite prior generated exam outputs.\n\nMitigation: Use explicit invocation phrases and confirm the desired output before rerunning the question generation workflow.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/zhoucha833-lang/skills/exam-question-generator)\n- [Difficulty Rules](artifact/references/difficulty-rules.md)\n- [Question Format Rules](artifact/references/question-formats.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, JSON, HTML, guidance]\n\n**Output Format:** [Structured questions.json plus a rendered HTML exam page and a concise follow-up message]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Creates three 100-point practice exam sets with answers, explanations, scoring metadata, and tabs for basic, intermediate, and advanced practice.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟）， AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML， 生成后引导用户选择下一步。 Skill: exam-question-generator Owner: zhoucha833-lang Summary: 读取 knowledge_map.json，按三套差异化规则生成模拟题（基础巩固/综合能力/冲刺模拟）， AI 生成题目内容写入 questions.json，运行脚本渲染三 Tab 独立 HTML， 生成后引导用户选择下一步。 Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-11T10:27:45.585Z | user exam-question-generator 1.0.0 - 初始版本，实现自动生成三套（基础巩固/综合能力/冲刺模拟）考试题，并渲染独立 HTML 文件。 - 按 knowledge_map.json 中考点重要性及差异化难度规则生成题目与答案。 - 题型、答案、解析严格依从规范，支持特殊处理弱项考点及真题来源判别。 - 结","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":749,"uniquenessScore":59,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:39:26.843Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:39:26.843Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:49:45.682Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}