本 skill 是一个面向初中和高中学生的智能错题管理系统。核心能力包括:
~/错题库/,用户可通过参数 $ARGUMENTS 指定其他路径~/错题库/
├── 数学/
│ ├── images/ # 原始题目图片
│ ├── figures/ # AI 重绘的清晰图形(SVG/PNG)
│ ├── 数学_错题001.md # 单道错题 Markdown
│ ├── 数学_错题002.md
│ └── ...
├── 物理/
│ ├── images/
│ ├── figures/
│ ├── 物理_错题001.md
│ └── ...
├── <其他学科>/
│ └── ...
├── index.json # 全局错题索引(用于相似题检索)
├── config.json # 用户配置文件
└── exports/ # PDF 导出目录
当用户上传一张题目图片(或提供图片路径)时,自动完成解答并直接归档,无需等待用户确认归档操作。按以下步骤依次执行:
读取用户提供的图片后,首先判断图片内容是否属于学科题目。仅当图片包含明确的学科题目(如数学题、物理题、英语题等中小学学科内容)时,才继续执行后续步骤。
应当拒绝处理的图片类型(包括但不限于):
判断后的处理方式:
has_figure: true/false)数学、物理等学科的题目经常包含几何图形、函数图像、电路图、力学示意图等图形,这些图形是题目不可分割的一部分。为了确保归档后打印复习时图形清晰可读,必须对图形进行处理。
处理策略(按优先级依次尝试):
方案 A:使用 SVG 重绘(优先推荐)
对于可以用矢量图形精确表达的图形(几何图形、函数图像、坐标图、简单电路图等),使用 SVG 代码进行重绘:
font-family: "SimSun", "宋体", serif"<学科>/figures/图形_<编号>_<日期>.svg方案 B:使用 Mermaid/LaTeX TikZ 重绘
对于流程图、树状图、或更复杂的几何图形,可以使用:
将代码嵌入到 Markdown 文件中:
graph TD
A[起点] --> B[终点]
`
或:
\begin{tikzpicture}
\draw (0,0) -- (3,0) -- (3,4) -- cycle;
\end{tikzpicture}
`` `
方案 C:增强处理原始图片(最后兜底)
对于无法通过矢量重绘的复杂图形(如实验装置实物图、复杂生物结构图等):
图形处理判断表:
| 图形类型 | 推荐方案 | 说明 |
|---|---|---|
| ---------- | ---------- | ------ |
| 几何图形(三角形、圆、四边形等) | SVG 重绘 | 标注所有点、线段、角度 |
| 函数图像(抛物线、直线、三角函数等) | SVG 重绘 | 标注坐标轴、关键点、渐近线 |
| 坐标系与数据点 | SVG 重绘 | 标注坐标轴刻度和数据点 |
| 电路图 | SVG 重绘 | 使用标准电路符号 |
| 力学示意图(受力分析、运动轨迹等) | SVG 重绘 | 标注力的方向和大小、速度方向 |
| 光路图 | SVG 重绘 | 标注入射角、反射角、折射角 |
| 化学实验装置图 | 文字描述 + 原图 | 装置较复杂,辅以详细文字说明 |
| 生物细胞/器官结构图 | 文字描述 + 原图 | 结构复杂,辅以详细文字说明 |
| 地理地图/等高线图 | 文字描述 + 原图 | 辅以关键信息文字说明 |
| 数据统计图表(柱状图、饼图等) | SVG 重绘 | 精确还原数据值 |
对题目进行详细、逐步的解答,要求:
解题语言风格:使用清晰、耐心、鼓励性的语言,适合中学生理解。数学公式使用 LaTeX 格式($...$ 行内,$$...$$ 行间)。
在归档的同时,执行相似错题检索(检测结果不影响归档,归档照常进行):
index.json 文件${CLAUDE_SKILL_DIR}/scripts/search_similar.py 来检索相似错题:```bash
python3 "${CLAUDE_SKILL_DIR}/scripts/search_similar.py" \
--index "<错题库根目录>/index.json" \
--subject "<学科>" \
--knowledge-points "<知识点1>,<知识点2>,..." \
--question-text "<题目文字摘要>"
```
<知识点> 上也做错过类似的题,建议回顾一下之前的错题,确保该知识点已经掌握。需要再看一遍之前的错题吗?"解答完成后 立即自动归档,不需要询问用户是否归档:
images/ 和 figures/ 子目录存在<学科>/images/ 目录下,重命名为 题目_<编号>_<日期>.{ext}<学科>/figures/图形_<编号>_<日期>.svg图形_<编号>_<日期>_1.svg、图形_<编号>_<日期>_2.svg 依次编号${CLAUDE_SKILL_DIR}/assets/templates/question_template.md 模板格式<学科>/<学科>_错题<编号>.mdindex.json(如不存在则创建)${CLAUDE_SKILL_DIR}/references/index_schema.json 中定义的 schema 添加新条目index.json当用户请求导出错题为 PDF 时:
```bash
python3 "${CLAUDE_SKILL_DIR}/scripts/export_pdf.py" \
--source "<错题库根目录>" \
--subject "<学科/all>" \
--output "<错题库根目录>/exports/" \
--date-range "<起始日期>:<结束日期>" # 可选
```
当用户请求复习或查看错题时:
index.json,按用户指定的条件筛选:当用户首次使用或需要创建新的错题库时:
python3 "${CLAUDE_SKILL_DIR}/scripts/init_archive.py" --path "<目标路径>"
该脚本将创建标准目录结构和空的 index.json、config.json。
| 文件 | 路径 | 用途 |
|---|---|---|
| ------ | ------ | ------ |
| 错题 Markdown 模板 | ${CLAUDE_SKILL_DIR}/assets/templates/question_template.md | 单道错题的标准 Markdown 格式 |
| 索引 Schema | ${CLAUDE_SKILL_DIR}/references/index_schema.json | index.json 的数据结构定义 |
| 相似错题检索脚本 | ${CLAUDE_SKILL_DIR}/scripts/search_similar.py | 在已有错题中搜索相似知识点的错题 |
| PDF 导出脚本 | ${CLAUDE_SKILL_DIR}/scripts/export_pdf.py | 将 Markdown 错题导出为格式化 PDF |
| 错题库初始化脚本 | ${CLAUDE_SKILL_DIR}/scripts/init_archive.py | 创建标准的错题库目录结构 |
| 示例错题 | ${CLAUDE_SKILL_DIR}/examples/sample_question.md | 一个完整的错题示例,展示期望的输出格式 |
共 1 个版本