@wy51ai/edulab
v0.1.6
Published
A Claude Code plugin: a collection of education skills that turn academic problems into interactive lesson web pages. Skills: edu-solid-geometry (solid geometry, coordinate+vector method, 3D Three.js + MathJax) and edu-analytic-geometry (conic sections, e
Maintainers
Readme
edulab
简体中文 · English
教育类技能集合:把学科问题转成可交互的教学网页。
安装
推荐 —— 用 skills 一行命令安装:
npx skills add wy51ai/edulab后续更新到最新版:
npx skills update或作为 Claude Code 插件市场使用:
/plugin marketplace add wy51ai/edulab
/plugin install edulab安装后,技能会随触发词自动激活,也可以手动调用。
技能:edu-solid-geometry

把一道立体几何题解成一个自包含的交互教学网页。支持三种入口:
| 入口 | 说明 | |---|---| | 文字题目 | 直接抽取题面求解 | | 上传图片 | 视觉读图识别题目,回显确认后求解 | | 随机出题 | 随机参数求解,答案不规整自动重抽 |
覆盖题型:正方体 / 长方体、棱锥 / 棱柱、圆柱 / 圆锥上的——线面角、二面角、异面直线夹角、点到平面距离、体积等。统一用"建系 + 向量法"。
触发词:立体几何、线面角、二面角、异面直线、点到平面距离、正四棱锥、解这道几何题、随机出一道立体几何题、这张图里的立体几何题;solid geometry, line-plane angle, dihedral angle, distance to plane, interactive geometry solution page 等。
依赖
计算核心 lib/geometry_kernel.py 依赖 sympy。用任意一个能 import sympy 的 python3 即可:
python3 -m pip install sympy # 若缺 sympy命令行直接生成(不经过 Claude)
cd skills/edu-solid-geometry
python3 scripts/generate.py cube ./cube.html # 正方体·线面角
python3 scripts/generate.py box ./box.html # 长方体·体积
python3 scripts/generate.py random 7 ./random.html # 随机出题(seed=7)
python3 lib/geometry_kernel.py # kernel 内置样例自检不传输出路径时,默认写到当前工作目录(cwd)。
技能:edu-analytic-geometry

把一道解析几何(圆锥曲线)题解成一个自包含的交互教学网页。三入口与上面一致(文字 / 图片 / 随机)。基于 2D Canvas 画板 + KaTeX 的通用数据驱动交互引擎:一个参数滑块驱动派生构造(直线∩曲线、曲线上动点、中心对称、切线…)与实时读数,并配理论范围条或定值指示。
覆盖题型:求标准方程、弦长、向量数量积取值范围 / 定值、三角形面积最值、定点、定值(斜率之积)、轨迹、切线、离心率——涵盖椭圆 / 双曲线 / 抛物线 / 圆。统一用"设含参直线 x=my+c + 联立 + 韦达 + 换元"。
kernel 内置的一个正确性细节:区间端点的开 / 闭由"是否有真实直线取到"判定,所以框出的答案始终与交互工具一致(例如椭圆
MA·MB的范围是闭区间[-3, 7/4]——把 θ 拖到 0° 屏幕上正好读到 −3)。
触发词:解析几何、圆锥曲线、椭圆、双曲线、抛物线、焦点弦、向量数量积取值范围、定点问题、定值问题、斜率之积、三角形面积最值、轨迹方程、离心率;analytic geometry, conic sections, ellipse, hyperbola, parabola, chord length, dot product range, fixed point, locus, interactive analytic geometry solution page 等。
依赖
计算核心 lib/analytic_kernel.py 依赖 sympy(同上)。
命令行直接生成(不经过 Claude)
cd skills/edu-analytic-geometry
python3 scripts/generate.py list # 列出已注册题型
python3 scripts/generate.py ellipse_dot_range ./sol.html # 椭圆 · MA·MB 范围 [-3, 7/4]
python3 scripts/generate.py parabola_dot_const ./sol.html # 抛物线焦点弦 · OA·OB ≡ -3
python3 scripts/generate.py all ./out_dir # 全部已注册题型
python3 lib/analytic_kernel.py # kernel 内置自检同上,不传输出路径时默认写到当前工作目录(cwd)。
工作原理
- 得到 problem spec —— 三入口归一成结构化描述(几何体类型与尺寸、已知条件、所求、语言)。
- kernel 精确计算 —— sympy 算出精确坐标、关键向量、法向量、最终答案及各步中间量(LaTeX 字符串),绝不心算。
- 组装并注入模板 —— 把
lesson/steps/model数据注入数据驱动模板template/lesson.html,3D 顶点坐标由kernel.to_three(...)给出,与解题同源。 - 自检 —— kernel 答案 == 答案卡 == 末步骤展示值;本地静态服务 + 预览检查无报错、公式与高亮正常。
- 交付 —— 成品写到用户当前工作目录,命名形如
solution-<题目简述>.html。
目录结构
edulab/
├── .claude-plugin/
│ ├── plugin.json # 插件元信息
│ └── marketplace.json # 市场清单
├── index.html # 成品样例(正四棱锥·线面角)
└── skills/
├── edu-solid-geometry/ # 立体几何 — 3D(Three.js)+ MathJax
│ ├── SKILL.md
│ ├── template/lesson.html # 数据驱动模板(通用 3D 渲染器 + 数据岛)
│ ├── lib/
│ │ ├── geometry_kernel.py # sympy 精确计算核心
│ │ └── bodies.py # 几何体棱拓扑库
│ ├── scripts/generate.py
│ ├── output/
│ └── references/ # problem-schema.md · conventions.md
└── edu-analytic-geometry/ # 解析几何 / 圆锥曲线 — 2D(Canvas)+ KaTeX
├── SKILL.md
├── template/board.html # 数据驱动模板(通用 2D 渲染器 + 参数引擎)
├── lib/
│ ├── analytic_kernel.py # sympy 精确求解核心(联立·韦达·范围·定值)
│ └── conics.py # 圆锥曲线定义库
├── scripts/generate.py
├── output/
└── references/ # problem-schema.md · conventions.md扩展
edu-solid-geometry
- 加题型:在
geometry_kernel.py加求解函数(见references/conventions.md配方表),在generate.py加一个build_*。 - 加几何体:在
geometry_kernel.py加坐标构建函数,在bodies.py加棱拓扑。
edu-analytic-geometry
- 加题型:在
analytic_kernel.py加目标量函数并复用range_over_m/is_constant_in_m,在generate.py加一个build_*(选交互范式:范围条 / 定值 / 定点 / 轨迹 trace)。 - 加曲线:椭圆 / 双曲线 / 抛物线 / 圆已内置;新曲线在
conics.py与board.html引擎各加一份。
License
作者
WY · @akokoi1
