npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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

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

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

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)

工作原理

  1. 得到 problem spec —— 三入口归一成结构化描述(几何体类型与尺寸、已知条件、所求、语言)。
  2. kernel 精确计算 —— sympy 算出精确坐标、关键向量、法向量、最终答案及各步中间量(LaTeX 字符串),绝不心算。
  3. 组装并注入模板 —— 把 lesson / steps / model 数据注入数据驱动模板 template/lesson.html,3D 顶点坐标由 kernel.to_three(...) 给出,与解题同源。
  4. 自检 —— kernel 答案 == 答案卡 == 末步骤展示值;本地静态服务 + 预览检查无报错、公式与高亮正常。
  5. 交付 —— 成品写到用户当前工作目录,命名形如 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.pyboard.html 引擎各加一份。

License

Apache-2.0

作者

WY · @akokoi1

Star History