Jutiku_Quiz_Expert
About
Jutiku_Quiz_Expert is a specialized Claude skill that analyzes documents to generate structured quiz questions in JSON or Markdown format. It intelligently distinguishes between outline-based and knowledge-based content to extract key points and create high-quality assessments. Use this skill when users request quiz creation, test generation, or exam extraction from uploaded documents.
Quick Install
Claude Code
Recommended/plugin add https://github.com/majiayu000/claude-skill-registrygit clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/Jutiku_Quiz_ExpertCopy and paste this command in Claude Code to install this skill
Documentation
出题专家 (Quiz Expert)
本技能将引导你完成从源文档生成专业题库的全过程。
路径约定
在开始执行任务前,先确定关键路径:
- $WORK_DIR:当前工作目录。执行
pwd(Linux/macOS) 或Get-Location(Windows) 获取,作为所有相对路径的基准。 - $SKILL_DIR:本 skill 所在目录。根据 skill 名称
Jutiku_Quiz_Expert定位:- Linux 容器环境(实际执行环境):
find /mnt/skills -ipath "*/Jutiku_Quiz_Expert/SKILL.md" 2>/dev/null | head -1 - 获取到 SKILL.md 文件路径后,取其所在目录作为 $SKILL_DIR
- 备选方案:直接尝试
/mnt/skills/user/Jutiku_Quiz_Expert/或使用view /mnt/skills/查看目录结构
- Linux 容器环境(实际执行环境):
- 源文件目录:
$WORK_DIR/(用户上传的文件直接放在工作目录根部) - 转换文件目录:
$WORK_DIR/source/(存放 markitdown 转换后的 .md 文件) - 输出目录:
$WORK_DIR/quiz/(生成的题库文件,直接交付给用户) - 引用文件:使用相对于 $SKILL_DIR 的路径,如
$SKILL_DIR/references/QUIZ_JSON.md
路径结构示意:
$WORK_DIR/ # 当前工作目录
├── 2023年度报告.pdf # 用户源文件
├── source/ # 转换后的 markdown 文件
│ └── 2023年度报告.md
├── quiz/ # 输出目录(直接交付)
│ └── 2024-01-29_100000.json # 或 .md(根据用户指定)
└── temp/ # 存放其他临时处理文件
$SKILL_DIR/ # skill 所在目录
├── SKILL.md # skill 文件,即本文件
└── references/
├── QUIZ_JSON.md
└── QUIZ_MARKDOWN.md
工作流程 (Workflow)
0. 初始化路径
- 确定工作目录:
- 执行
pwd获取当前工作目录,设为$WORK_DIR
- 执行
- 定位 skill 目录:
SKILL_PATH=$(find /mnt/skills -ipath "*/Jutiku_Quiz_Expert/SKILL.md" 2>/dev/null | head -1)
SKILL_DIR=$(dirname "$SKILL_PATH")
- 备选方案:直接尝试
/mnt/skills/user/Jutiku_Quiz_Expert/或使用view /mnt/skills/查看目录结构
- 创建必要的子目录:
mkdir -p "$WORK_DIR/source" "$WORK_DIR/quiz"
- 识别输出格式:
- 检查用户输入中是否包含格式关键词:
- "markdown" / "md" / "可读" → 输出 Markdown 格式
- "json" / "结构化" → 输出 JSON 格式
- 默认格式:JSON
- 检查用户输入中是否包含格式关键词:
1. 文件定位与准备
- 定位源文件:在
$WORK_DIR/根目录下查找用户指定的文件。- 使用
view $WORK_DIR/列出可用文件。 - 如果用户提供的是模糊名称,查找最匹配的文件。
- 使用
- 格式转换:
- 如果文件不是
.md格式(例如 .doc, .docx, .pdf):- 环境检查:检查是否已安装
python(或python3) 和pip。- 如果未安装 Python:
- 告知用户需要安装 Python 3.8+。
- Linux:
sudo apt install python3 python3-pip - macOS:
brew install python - Windows:
winget install Python.Python.3或访问 python.org
- 如果未安装 Python:
- 工具检查与安装:
- 运行
markitdown --version检查是否已安装。 - 如果未安装:
pip install markitdown --break-system-packages
- 运行
- 转换:
- 使用
markitdown命令行工具将文件转换为 Markdown 格式。 - 命令格式:
markitdown "$WORK_DIR/{源文件名}" > "$WORK_DIR/source/{同文件名}.md" - 注意:使用双引号包裹文件名以处理空格。
- 使用
- 环境检查:检查是否已安装
- 如果已经是
.md文件,复制到$WORK_DIR/source/{文件名}.md进行处理。
- 如果文件不是
2. 内容预处理与分析
-
读取规则文档:
- 根据用户指定的输出格式,读取对应的规范文档:
- JSON 格式:读取
$SKILL_DIR/references/QUIZ_JSON.md了解 JSON Schema 规范 - Markdown 格式:读取
$SKILL_DIR/references/QUIZ_MARKDOWN.md了解 Markdown 模板规范
- JSON 格式:读取
- 根据用户指定的输出格式,读取对应的规范文档:
-
读取与分块检查:
- 读取
$WORK_DIR/source/中转换后的.md文件内容。 - 智能分块 (Smart Chunking):检查文本长度。
- 如果 字符数 > 15,000:
- 切分策略:按 Markdown 二级标题 (
##) 或三级标题 (###) 将文档切分为多个逻辑块 (Chunks)。确保切分点不破坏段落完整性。 - 配额分配:根据各块的篇幅比例或重要性,分配题目生成数量(如总共 20 题,A 章节占 20% 篇幅,则分配 4 题)。
- 执行模式:标记为
Batch_Mode,后续将对每个块独立生成并合并。
- 切分策略:按 Markdown 二级标题 (
- 否则:保持单一大文本,标记为
Single_Mode。
- 如果 字符数 > 15,000:
- 读取
-
属性打分:分析文本结构和内容(若是分块模式,取前 30% 内容或摘要进行分析),判断其类型(分值 0.0 - 1.0):
- 大纲型 (Outline-oriented):具有结构化的标题、要点、简短摘要。
- 知识/资料型 (Knowledge/Data-oriented):密集的段落、详细的解释、事实、数据。
-
策略选择:
- 如果 大纲型得分 > 0.7:使用 大纲扩展模式。
- 提取大纲结构。
- 针对每个关键点/标题,生成涵盖核心概念的题目。
- 如果 知识型得分 > 0.7:使用 全覆盖模式。
- 分析全文内容(或逐个处理块)。
- 生成覆盖整个内容范围的题目,确保没有遗漏重要信息。
- 否则:使用平衡方法。
- 如果 大纲型得分 > 0.7:使用 大纲扩展模式。
3. 题目生成规则
根据选定的策略和输出格式生成题目,严格遵守对应规范文档中定义的生成规则与约束。
主要约束包括:
- 题型:单选、多选、判断、填空、简答。
- 判断题:选项固定为"正确"和"错误"。
- 难度:按 3:5:2 比例分布简单、中等、困难题目。
- 结构:确保所有必填字段完整(qid, type, explanation 等)。
4. 质量验证与修正
在生成题目之后,执行自我审查循环 (Self-Correction Loop),确保题目质量:
- 准确性核查 (Fact Check):
- 针对每一道题,回溯原文。
- 验证:正确答案是否能从原文中找到明确依据?
- 修正:如果发现幻觉或推断过度,根据原文修正答案或删除该题。
- 逻辑性核查 (Logic Check):
- 检查选项:是否存在歧义?干扰项是否过于明显错误?
- 检查解析:
explanation是否清晰解释了为什么选 A 而不选 B?
- 格式核查 (Format Check):
- 验证输出结构是否符合对应的 Schema 或模板规范。
- 确保所有必需字段 (
qid,lev,point等) 均已填充且类型正确。
5. 输出与交付
根据用户指定的格式(默认 JSON)在 $WORK_DIR/quiz/ 目录下生成文件。
JSON 格式(默认)
- 路径:
$WORK_DIR/quiz/{YYYY-MM-DD_HHMMSS}.json - 格式:遵循严格的 JSON 语法。
- Schema:参见
$SKILL_DIR/references/QUIZ_JSON.md
Markdown 格式(可选)
- 路径:
$WORK_DIR/quiz/{YYYY-MM-DD_HHMMSS}.md - 格式:用户友好的可读格式。
- 模板:参见
$SKILL_DIR/references/QUIZ_MARKDOWN.md
交付方式
- 使用
present_files工具将生成的文件直接展示给用户。 - 用户可通过界面下载文件。
工具与命令
- 使用
pwd获取当前工作目录。 - 使用
view查看目录和文件(跨平台统一接口)。 - 使用
bash_tool执行命令(在 Linux 容器中运行,支持标准 bash 语法)。 - 使用
create_file保存最终输出文件。 - 使用
present_files交付文件给用户。
用户请求示例
示例 1:默认 JSON 格式
"根据
2023年度报告.pdf生成 20 道题目"
执行流程:
- 初始化:获取 $WORK_DIR 和 $SKILL_DIR,创建子目录,识别输出格式为 JSON(默认)
- 读取规范:
view $SKILL_DIR/references/QUIZ_JSON.md - 查找:在
$WORK_DIR/找到2023年度报告.pdf - 转换:
markitdown "$WORK_DIR/2023年度报告.pdf" > "$WORK_DIR/source/2023年度报告.md" - 分析:数据密集 → 知识型模式
- 生成:创建 20 道题目(财务统计、战略目标等)
- 输出:保存到
$WORK_DIR/quiz/2024-01-29_100000.json - 交付:
present_files展示文件给用户
示例 2:指定 Markdown 格式
"根据
Python入门.docx生成 15 道题目,输出为 markdown 格式"
执行流程:
- 初始化:获取路径,创建子目录,识别输出格式为 Markdown
- 读取规范:
view $SKILL_DIR/references/QUIZ_MARKDOWN.md - 查找与转换:处理
Python入门.docx - 分析:大纲结构 → 大纲扩展模式
- 生成:创建 15 道题目
- 输出:保存到
$WORK_DIR/quiz/2024-01-29_100000.md - 交付:展示文件给用户
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
creating-opencode-plugins
MetaThis skill provides the structure and API specifications for creating OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It offers implementation patterns for JavaScript/TypeScript modules that intercept and extend the AI assistant's lifecycle. Use it when you need to build event-driven plugins for monitoring, custom handling, or extending OpenCode's capabilities.
langchain
MetaLangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.
cloudflare-turnstile
MetaThis skill provides comprehensive guidance for implementing Cloudflare Turnstile as a CAPTCHA-alternative bot protection system. It covers integration for forms, login pages, API endpoints, and frameworks like React/Next.js/Hono, while handling invisible challenges that maintain user experience. Use it when migrating from reCAPTCHA, debugging error codes, or implementing token validation and E2E tests.
