Skill: tianheihei002/yq-knowledge-digest (version 1.0.0)

--- name: "knowledge-digest" description: "将学习资料（PDF/教材/话题）转换为个性化、多模态的学习材料：手写笔记PDF、极简交互测验HTML、幻灯片PDF+PPTX、思维导图、音频课程。触发词：知识消化、学习材料、笔记生成、测验、幻灯片、思维导图、音频课程、课件、教材转换" version: 1.0.0 --- # 知识消化助手 ## Overview 将用户提供的教材、PDF或话题转换为个性化、多模态的学习体验。支持输出格式包括：手写风格笔记（PDF）、极简交互测验（HTML）、幻灯片（PDF+PPTX）、思维导图（图像+Mermaid）、音频课程（mp3）。根据年级水平（小学/初中/高中/大学/专业）自动调整内容深度和表达方式。 ## 支持的输出格式 | 格式 | 关键词 | 输出文件 | 说明 | |------|--------|----------|------| | notes | 笔记/手写笔记 | `{topic}_notes.pdf` | 手写风格笔记PDF，在原文上标注或从零生成 | | quiz | 测验/测试 | `{topic}_quiz.html` | 极简HTML，可交互，即时反馈 | | slides | 幻灯片/PPT | `{topic}_slides.pdf` + `{topic}_slides.pptx` | 视觉信息图表风格幻灯片 | | mindmap | 思维导图 | `{topic}_mindmap.png` + Mermaid文本 | 清晰视觉层级的知识结构图 | | audio | 音频课程 | `{topic}_audio.mp3` | 师生对话形式，约15分钟 | | all | 全部 | 以上全部 | 生成所有格式 | **默认行为**：如果用户未指定格式，默认生成 mindmap + slides(仅PDF) + quiz ## Workflow ### 阶段1：获取用户输入 1. 获取以下信息： - 用户上传的PDF/教材文件（可选） - 或：话题/方向描述 - 年级水平（小学/初中/高中/大学/专业） - 期望的输出格式（可多选） 2. 判断是否有学习资料： - 如果用户没有上传PDF/教材，也没有指定可获取资料的来源，只提供了话题/方向： - 询问用户： - 选项A："我有资料，现在上传" - 选项B："没有资料，请帮我搜索并生成关于[话题]的课件" - 如果用户选择B： - 使用搜索工具收集该话题的权威资料 - 整理为结构化内容，生成一份基础课件PDF - 将PDF发送给用户确认："这是我为[话题]整理的基础资料，请确认是否可用？" - 用户确认后继续标准流程 ### 阶段2：内容解析 对PDF或结构化内容进行解析，提取结构化信息。 **文档解析**： - 识别文档的章节结构（章、节、小节） - 提取标题层级和目录结构 - 识别正文、图片、表格、公式等元素 **核心概念提取**： - 识别每个章节的核心概念和关键术语 - 提取定义、定理、公式等重要内容 - 标记难点和重点知识 **学习目标分析**： - 根据内容推断每章节的学习目标 - 识别前置知识要求 - 分析知识点之间的依赖关系 **输出格式**： ```json { "document_info": { "title": "文档标题", "total_pages": 100, "language": "zh/en", "subject": "学科领域" }, "chapters": [ { "chapter_id": "1", "title": "章节标题", "page_range": [1, 20], "sections": [ { "section_id": "1.1", "title": "小节标题", "core_concepts": ["概念1", "概念2"], "key_terms": [ {"term": "术语", "definition": "定义"} ], "learning_objectives": ["目标1", "目标2"], "difficulty": "easy/medium/hard", "prerequisites": ["前置知识"] } ] } ], "knowledge_graph": { "nodes": ["概念节点列表"], "edges": [{"from": "概念A", "to": "概念B", "relation": "依赖/包含/相关"}] } } ``` **解析规则**： - 章节识别：根据字体大小、加粗、编号等识别层级；处理没有明确章节标记的文档（按逻辑分段） - 概念提取：识别加粗、高亮、框注的重要内容；提取专有名词和术语定义；识别公式和定理 - 难度评估：根据概念抽象程度评估难度；考虑前置知识要求；考虑内容复杂度 - 质量保证：确保所有章节都被识别；验证知识点覆盖完整性；检查概念定义的准确性 ### 阶段3：根据用户选择的格式，按顺序执行生成任务 依次完成用户所选的每种格式的生成（详见下方各格式的专项指南）。 ### 阶段4：统一交付 所有格式生成完毕后，统一向用户展示所有生成文件： ``` <deliver_assets> <item> <path>文件路径</path> </item> </deliver_assets> ``` **输出规则（适用于所有格式）**： - 只返回文件路径，禁止输出预览 - 禁止在对话中内嵌展示图片/PDF/音频/视频 - 音频/视频类文件禁止自动播放 - 不输出中间文件、制作备注——只交付文件路径 --- ## 个性化适配规则（全局） 以下规则适用于所有生成格式，各格式可在此基础上进一步细化。 ### 年级适配 | 年级 | 语言风格 | 内容深度 | 视觉风格 | |------|----------|----------|----------| | 小学 | 活泼语气、简单词汇、鼓励性语言、故事化讲解 | 简单、生活化 | 更多图片、趣味元素、鲜艳色彩、简短文字、大字体 | | 初中 | 引导式提问、基础术语、青春化表达 | 基础术语、日常场景、适中难度 | 图文结合、适中信息量、清晰标注 | | 高中 | 深度讨论、逻辑推理、适当学术性 | 专业术语、逻辑推理、较高难度 | 逻辑图表、数据可视化、专业感 | | 大学/专业 | 研讨式对话、批判性思维、专业术语 | 学术语言、综合应用、专业深度 | 专业图表、复杂结构、学术风格 | ### 兴趣适配 - 对话/题目中的例子和比喻使用用户兴趣领域 - 选项内容融入用户熟悉的元素 - 视觉风格和示例场景匹配用户兴趣 - 图表类比使用用户熟悉的领域 --- ## 格式1：手写风格笔记（notes） ### 输入类型判断 **类型A - 现成论文/课件**（在原页面上叠加手写笔记）： - PDF格式的学术论文 - PDF格式的课件/PPT导出 - 已有排版的教材扫描件 - 特征：有固定版式、有页码、有章节编号、有公式/图表 **类型B - 非现成内容**（从零生成笔记PDF）： - 纯文本笔记 - 知识点列表 - 口述内容整理 - 网页内容摘录 - 特征：无固定版式、需要重新组织结构 ### 类型A工作流：在原文基础上添加笔记 **步骤1：分析原文结构** 逐页分析PDF内容： - 识别章节标题及其位置 - 识别核心概念/术语 - 识别公式及其含义 - 识别问题/挑战的陈述 - 识别解决方案/方法 - 识别关键结论 **步骤2：规划笔记内容** 为每页规划需要添加的手写标注： 标注类型： 1. **章节标题翻译/解释**（如原文"3.1 Preliminaries" → 标注"背景知识"） 2. **重点提问**（如"重点：如何降低复杂度？"） 3. **概念解释**（如公式旁标注"核技巧(kernel trick)"） 4. **问题标注**（如"问题：记忆溢出"） 5. **解决方案**（如"解决方案：遗忘门"） 6. **公式批注**（如"递归形式"、"写操作 & 读操作"） 7. **结构标注**（如用大括号标注一组公式，旁边写"→ O(N²)复杂度"） 标注规划原则： - 每页3-8处标注，不过密 - 标注位置避开正文关键内容 - 利用页边距和段落间空白 - 相关内容用连线或箭头关联 **步骤3：生成带标注的图像** 将原PDF每页转为图像，然后使用图像生成工具在其上添加手写风格标注： 生图工具输入： - 基础图像：原PDF页面的截图 - 叠加内容：手写风格的中文标注 手写标注风格要求： - 字体：手写风格，略带倾斜 - 颜色：全PDF统一用色，不超过2种 - 默认使用蓝色和粉色，除非用户另有要求 - 后续所有页面只能从这2种颜色中选择 - 颜色分配规则： - 颜色1（蓝色/主色）：章节标题、结构标注、概念解释、公式批注 - 颜色2（粉色/强调色）：重点提问、问题标注、解决方案 - 大小：比正文略大，醒目但不喧宾夺主 - 位置：页边距、段落间、公式旁的空白处 **步骤4：编译PDF** 将所有带标注的页面图像编译为PDF： - 保持原始页面顺序 - 图像质量：150 DPI - 压缩质量：90% ### 类型B工作流：从零生成笔记PDF **步骤1：组织内容结构** 将输入内容整理为层级结构： - 主标题 - 章节/模块 - 核心概念 - 要点/细节 - 示例/应用 **步骤2：设计笔记版式** 版式元素： - 标题区：大号手写标题 - 正文区：手写风格的要点列表 - 图解区：概念图、流程图、关系图（手绘风格） - 标注区：重点标记、问号、感叹号 - 空白区：预留用户自己添加笔记的空间 **步骤3：生成笔记页面图像** 使用图像生成工具，逐页生成手写风格的笔记： 每页包含： - 页面标题（手写大字） - 核心内容（手写要点） - 图解（手绘风格的概念图/流程图） - 重点标注（框、箭头、下划线） - 批注（如"重要！"、"易错点"、"记住这个"） 风格要求： - 整体：像学生用心做的笔记，不是打印文档 - 字体：手写体，大小有变化（标题大、正文中、批注小） - 颜色：全PDF统一用色，不超过2种 - 默认使用蓝色和粉色，除非用户另有要求 - 后续所有页面只能从这2种颜色中选择 - 颜色分配：蓝色（标题、框架、批注）、粉色（重点） - 布局：有组织但不死板，允许适度倾斜和错落 - 元素：箭头、下划线、方框、云朵框、星号等手绘装饰，仅在必要时使用相应元素 **步骤4：编译PDF** 将所有笔记页面图像编译为PDF： - 按内容逻辑顺序排列 - 图像质量：150 DPI - 压缩质量：90% ### 笔记质量标准 1. 内容准确性：标注/笔记内容基于原文；翻译/解释准确；不添加原文没有的信息 2. 标注价值：标注帮助理解，不是简单重复；重点突出关键概念；问题和解决方案对应清晰 3. 视觉效果：手写风格自然，不像机打；颜色搭配协调；标注位置合理，不遮挡原文 4. 可用性：PDF可直接打印；适合屏幕阅读；文件大小合理 **输出**：`{topic}_notes.pdf` --- ## 格式2：交互测验（quiz） ### 题目设计 每节至少5道题，题型分布： - 选择题（multiple_choice）：2-3道 - 判断题（true_false）：1-2道 - 填空题（fill_blank）：1-2道 难度分布： - 40% 简单（记忆、理解） - 40% 中等（应用） - 20% 困难（分析、综合） 每道题必须包含： - 题目内容（使用个性化场景） - 正确答案 - 答案解析（有教学价值，不只是"答案是X"） - 关联的核心概念 ### HTML生成规范 生成单个HTML文件，包含所有题目和交互逻辑。 **设计原则：极简** 视觉风格： - 纯白背景 - 黑色文字 - 无装饰元素、无图标、无渐变、无阴影 - 无边框或仅使用1px灰色细线 - 字体：系统默认字体 - 最小化CSS，不使用任何UI框架 交互设计： - 点击选项即选中，选中状态仅用轻微背景色区分 - 提交后立即显示对错和解析 - 对：绿色文字"✓ 正确" - 错：红色文字"✗ 错误"+ 正确答案 + 解析 - 最后显示总分 ### HTML模板参考 ```html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>章节测验</title> <style> body { font-family: system-ui, sans-serif; max-width: 600px; margin: 40px auto; padding: 20px; line-height: 1.6; } h1 { font-size: 1.5em; font-weight: normal; } .question { margin: 30px 0; } .question-text { margin-bottom: 15px; } .option { display: block; padding: 10px; margin: 5px 0; cursor: pointer; } .option:hover { background: #f5f5f5; } .option.selected { background: #e8e8e8; } .feedback { margin-top: 10px; font-size: 0.9em; } .correct { color: #2e7d32; } .incorrect { color: #c62828; } .explanation { color: #666; margin-top: 5px; } button { padding: 10px 20px; background: #333; color: white; border: none; cursor: pointer; margin-top: 20px; } .score { font-size: 1.2em; margin-top: 30px; } </style> </head> <body> <h1>章节标题 - 测验</h1> <div class="question" data-answer="A"> <div class="question-text">1. 题目内容</div> <label class="option"><input type="radio" name="q1" value="A"> A. 选项</label> <label class="option"><input type="radio" name="q1" value="B"> B. 选项</label> <label class="option"><input type="radio" name="q1" value="C"> C. 选项</label> <label class="option"><input type="radio" name="q1" value="D"> D. 选项</label> <div class="feedback"></div> </div> <!-- 更多题目... --> <button onclick="submit()">提交</button> <div class="score"></div> <script> const explanations = { q1: "解析内容...", // ... }; function submit() { let correct = 0; document.querySelectorAll('.question').forEach((q, i) => { const answer = q.dataset.answer; const selected = q.querySelector('input:checked'); const feedback = q.querySelector('.feedback'); const qName = 'q' + (i + 1); if (selected && selected.value === answer) { feedback.innerHTML = '<span class="correct">✓ 正确</span>'; correct++; } else { feedback.innerHTML = '<span class="incorrect">✗ 错误</span> 正确答案：' + answer + '<div class="explanation">' + explanations[qName] + '</div>'; } }); document.querySelector('.score').textContent = '得分：' + correct + '/' + document.querySelectorAll('.question').length; } </script> </body> </html> ``` ### 测验质量标准 1. 内容准确性：所有知识点基于原教材；答案和解析正确无误；题目表述清晰无歧义 2. 个性化程度：题目场景匹配用户兴趣；难度匹配年级水平；语言风格适合目标人群 3. 交互体验：点击响应即时；反馈信息清晰；解析有教学价值 4. 视觉极简：无任何装饰元素；无框架依赖；文件大小最小化 **输出**：`{topic}_quiz.html` --- ## 格式3：幻灯片（slides） ### 设计考量 将以下考量作为菜单而非强制表单。根据用户提供的信息灵活使用，为创意探索留出空间： 1. **主题、目的与受众**：这是关于什么的？为什么要制作它？谁需要理解这些内容？ 2. **内容基础与来源**：需要呈现哪些材料或数据？内容来自哪里？ 3. **视觉方法（CRITICAL）**： - 默认使用解释性视觉：剖面图、标注结构图、分解图、原理示意图，用以展示机制、结构、过程、关系 - 视觉元素是信息的主要载体，不是文字列表的装饰背景 - 默认信息密度匹配专业信息图和技术插图 - **CRITICAL**：图表/插图必须通过其结构传递信息，而非仅提供氛围。文字应是标签/注释，而非主要内容。拒绝视觉元素纯装饰、核心信息依赖文字列表的模式 - 拒绝"大面积留白 + 居中单行文字"的低效模式 4. **叙事流与章节**：观看者应如何在内容中移动？逻辑进程是什么？ 5. **文字风格与密度**： - 语言：解释性和叙事性文字使用用户明确要求的语言，否则匹配用户对话语言 - 排版：中英文标题优先使用衬线字体（中文用宋体系列）以传达专业感和权威性 6. **视觉风格、颜色与情绪**： - 图鉴和百科全书的视觉语言：解释性图表、剖面插图、标注结构、图文一体的页面构图 - 高端时尚、美容、科学和学术期刊的精致空间构图和排版精度 - 当代设计出版物的有意不对称性和层次化信息设计 - 运用不对称网格、有意的呼吸空间、层次化信息组织、对角线构图、动态排版 - **颜色限制**：除非用户明确指定，不使用蓝色或紫色作为主题色或背景色 ### 幻灯片生成工作流 **步骤1：设计策略 - 创建内容脚本** 信息架构优先：将内容结构化为层级化的幻灯片，每张幻灯片是一个信息单元。页数不是设计目标，信息传递效率才是；让内容体量自然决定幻灯片数量。 输出 content_script.md，格式如下： ``` # 幻灯片内容脚本 ## Slide 1: [标题] **子主题A**: [标签] [50-80字叙述段落，描述需要可视化的信息内容] **子主题B**: [标签] [50-80字叙述段落] ## Slide 2: [标题] ... ``` 内容脚本规范： - 只描述"什么信息需要呈现"，不描述"如何呈现" - 不要包含"Visual Description"/"视觉描述"/"视觉说明"等章节 - 不要描述颜色、背景、装饰元素、氛围效果、情绪或布局细节 - 专注于纯粹的信息架构，信任后续的视觉判断 - 每张幻灯片2-3个聚焦的子主题 - 页数由内容需要自然决定 **步骤2：顺序生成图像** 使用图像生成工具，逐张生成幻灯片： - 第一张：使用 gen_images（从零创建） - 后续张：使用 edit_images，base_image_file 指向上一张幻灯片 格式要求： - 默认 16:9 横向比例 - 保存每张幻灯片图像到本地 **提示词构建思维过程**： 读取 content_script.md，基于以下思考构建每张幻灯片的提示词： A. 根据内容关系决定布局、排版层级、视觉元素；信任你的视觉推理，避免过度指定 B. 评估信息组织：相关主题优先单页视觉层级而非多页分散。基于信息的内在逻辑关系做决定，而非基于文字体量；同页呈现时，通过视觉层级区分信息层次，而非物理分离 C. 判断一致性：对于前一张base_image，遵循最小必要继承原则，确保并平衡视觉多样性和一致性（例如：平行章节要求主标题在位置、大小、字体、字重上完全一致）。避免僵硬统一，判断什么程度的一致性服务于叙事 D. 语言：整个提示词使用用户对话语言书写，但图像中渲染的文字使用内容实际语言 E. 提示词是设计指令，不是内容复述 每张幻灯片的提示词必须包含以下6点： 1. **可视化类型**：优先图表形式而非文字主导的乏味呈现（剖面图、流程图、标注结构图、关系图、时间线叠加等）；将多个子主题整合为一个整体视觉结构；避免"平行卡片/网格展示/多栏布局"和文字密集的传统排版 2. **信息层级**：主次信息通过视觉层级（大小、位置、对比度）区分，不是平面列表 3. **构图指令**：不对称布局、对角线动势等打破僵硬对称的方法 4. **密度要求**：信息层级清晰优先于信息数量；适当留白服务可读性，不追求填满画布，但也不空洞稀疏 5. **布局独立性**：明确声明本张幻灯片的可视化类型基于其内容选择，不是复制上一张；不要默认使用上一张的布局 6. **风格一致性**：如果用户提供了视觉风格或参考图像，每个提示词必须详细描述该风格的特征 **步骤3：编译输出** 生成完所有幻灯片图像后： - 自动编译为 PDF 文档（150 DPI，95%质量，文件大小可控） - 自动编译为 PPTX 演示文稿 **输出**：`{topic}_slides.pdf` + `{topic}_slides.pptx` ### 幻灯片质量标准 1. 视觉信息传递：图表通过结构传递信息，而非仅提供氛围；视觉元素是信息载体，不是文字列表的装饰背景 2. 逻辑连贯性：幻灯片有清晰的起承转合 3. 个性化程度：视觉风格匹配目标年级；示例使用用户熟悉的场景 4. 输出质量：图像清晰，文字可读；PDF/PPTX可直接使用 --- ## 格式4：思维导图（mindmap） ### 思维导图生成工作流 **步骤1：设计内容结构** 确定思维导图的节点层级和关系： - 根节点：章节主题 - 一级节点：核心概念 - 二级节点：细节要点 - 层级不超过4层 - 每个节点文字简洁（不超过10字） - 标注概念间关系（并列/递进/因果/对比） **步骤2：生成图像** 使用 gen_images 生成思维导图图像： - 格式：16:9 或正方形（根据内容选择） - 风格：清晰的视觉层级，专业的信息图表风格 **步骤3：输出** - 思维导图图像文件：`{topic}_mindmap.png` - 附带Mermaid格式文本（可选，供需要编辑的用户使用） --- ## 格式5：音频课程（audio） ### 角色设定 **老师角色**： - 专业但亲和 - 善于用比喻解释复杂概念 - 耐心回答问题 - 适时鼓励和肯定 **学生角色**： - 好奇心强，主动提问 - 代表目标用户的视角 - 会犯常见错误，提出典型疑惑 - 有自己的兴趣背景（与用户设定一致） ### 音频生成工作流 **步骤1：编写对话脚本** 编写师生对话脚本，结构如下： ``` 开场（约1分钟） - 老师问候，引入今天主题 - 学生回应，表达已有认知或疑问 - 老师用用户兴趣领域建立连接 第一部分：概念引入（约4分钟） - 老师从用户兴趣场景提问 - 学生观察/回答 - 老师引出核心概念，用口语化方式定义 - 学生请求举例 - 老师用个性化例子详细讲解 - 学生用自己的话复述确认理解 第二部分：深入理解（约5分钟） - 老师讲解概念的重要特点 - 学生提出常见疑惑/误区 - 老师澄清误区 - 学生提出假设性问题 - 老师回答并拓展 第三部分：应用练习（约3分钟） - 老师出题 - 学生思考并回答 - 老师反馈（肯定或引导） 总结（约2分钟） - 学生尝试总结学到的内容 - 老师补充和肯定 - 学生表达收获，联系实际应用 - 互道再见 ``` 脚本要求： - 对话自然，符合真实师生对话节奏 - 避免书面化表达 - 包含语气词（"嗯"、"那个"、"对了"） - 允许学生"打断"提问 - 所有例子从用户兴趣领域取材 - 每分钟约150-180字 **步骤2：生成音频** 使用音频生成工具，将脚本转换为音频： - 老师声音：温和、专业、有耐心 - 学生声音：好奇、活泼、真诚 - 语速：概念讲解中速，对话互动自然节奏，总结稍快 **步骤3：输出** **输出**：`{topic}_audio.mp3` ### 音频质量标准 1. 听感体验：听起来像真实对话，不像念稿；节奏有变化，不单调；重点内容有强调 2. 学习效果：概念讲解清晰易懂；学生的问题代表真实困惑；练习环节有实际检验效果 3. 个性化程度：例子100%来自用户兴趣领域；学生角色让用户有代入感；语言风格匹配目标年级 4. 音频质量：声音清晰；时长约15分钟；可直接播放 --- ## 通用约束 - 所有内容必须基于原教材，不添加未经验证的信息 - 每个格式只负责特定输出，确保专业质量 - 根据年级水平调整内容深度和表达方式 - 所有生成完成后统一交付，使用 `<deliver_assets>` 格式 - 禁止在对话中内嵌展示任何生成的文件（图片/PDF/音频/视频） - 中间产物（单独图像、脚本等）不交付给用户 ## Common Mistakes to Avoid 1. **内容偏离原教材**：不要添加原文没有的信息或自行发挥 2. **忽略年级适配**：不要用大学水平的语言给小学生出题 3. **笔记颜色过多**：全PDF严格限制不超过2种颜色 4. **测验HTML过度设计**：保持极简，不使用UI框架、渐变、阴影等装饰 5. **幻灯片文字主导**：视觉元素必须是信息载体，不是文字列表的装饰背景 6. **幻灯片使用蓝色/紫色**：除非用户明确指定，不使用蓝色或紫色作为主题色或背景色 7. **预览/内嵌展示**：生成完成后只返回文件路径，禁止在对话中预览 8. **音频自动播放**：音频文件禁止自动播放 9. **思维导图层级过深**：不超过4层，每节点不超过10字 10. **幻灯片布局复制**：每张幻灯片应基于其内容独立选择可视化类型，而非复制上一张布局 ## File & Output Conventions ### 文件命名规则 | 格式 | 文件名 | |------|--------| | 笔记 | `{topic}_notes.pdf` | | 测验 | `{topic}_quiz.html` | | 幻灯片 | `{topic}_slides.pdf` + `{topic}_slides.pptx` | | 思维导图 | `{topic}_mindmap.png` | | 音频 | `{topic}_audio.mp3` | ### 图像规格 - 幻灯片：16:9 横向比例 - 思维导图：16:9 或正方形 - PDF编译：150 DPI，压缩质量 90-95% ### 交付格式 ```xml <deliver_assets> <item> <path>文件路径1</path> </item> <item> <path>文件路径2</path> </item> </deliver_assets> ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)