edulab is a collection of coding-agent skills that turn academic questions into interactive lesson web pages. It is used to solve and present educational problems, including solid-geometry exercises, through guided, self-contained lessons. The catalogue add-ons are the project's own education-focused skills and plugins.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add wy51ai/edulab --skill edu-chem-reactiongit clone --depth 1 https://github.com/wy51ai/edulabWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/wy51ai/edulab/edu-chem-reaction)<a href="https://agentmods.dev/skills/wy51ai/edulab/edu-chem-reaction"><img src="https://agentmods.dev/badge/skills/wy51ai/edulab/edu-chem-reaction/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/wy51ai/edulab/edu-chem-reaction"><img src="https://agentmods.dev/badge/skills/wy51ai/edulab/edu-chem-reaction.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
- Socket pass
- Snyk warn
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00495 | $0.02652 |
| Opus 5.5 | $0.00198 | $0.01061 |
| Sonnet 5.5 | $0.00099 | $0.00530 |
| Haiku 4.5 | $0.00049 | $0.00265 |
Grade A, and why
edu-chem-reaction scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
化学反应微观演示 → 交互网页
这个技能产出什么
一个可直接用浏览器打开的单页 HTML:一侧是反应对应的 3D 分子动画(Three.js,可旋转缩放,
拖动“反应进度”滑块逐帧看 化学键断裂/生成、原子重新组合,分步高亮 + 浮动分子标签),
另一侧是 KaTeX 反应方程 + 分步讲解 + 原子守恒计数器,并可选 能量-反应进程曲线、
火焰、催化剂质子、电子转移等叠加层。形态与 template/reaction.html 一致。
依赖(重要)
计算核心 lib/reaction_kernel.py 依赖 sympy(用于配平)。运行脚本前先确认有一个能 import
sympy 的 python3:跑 python3 -c "import sympy"(本机:/opt/homebrew/bin/python3.11)。
缺库时的处理(重要):若 import 报错(sympy 或后续用到的任何库都同理),先询问用户是否安装,
同意后再装(python3 -m pip install <库名>)或换解释器;不要未经询问直接装。
RDKit 是可选项:装了则混合几何会用它由 SMILES 生成真实构象,没装就用自建 VSEPR 库——
两种都能跑,本技能任何时候都不会自动安装 RDKit。
工作流程
第 1 步:得到 reaction spec(三入口归一)
把反应整理成结构化 spec(格式见 references/problem-schema.md):反应物/产物、原子映射或显式原子、
条件(点燃/通电/催化/可逆)、所属类别、分步讲解、语言。
- 文字反应/方程:直接抽取反应物与产物,调 kernel 自动配平。
- 图片:用视觉读图抽取方程,并把识别到的反应回显给用户确认(方程/条件/类别/语言)后再继续。
- 随机出题:从注册表挑一个反应,或在库内物种间组合并用
balanced_coefficients配平、答案规整再用。
输出语言跟随提示词语言:英文提示 → 英文网页,中文 → 中文。spec 里记下
meta.language。
第 2 步:用 kernel 精确计算(不要心算)
按 references/conventions.md 的建模约定,调用 lib/reaction_kernel.py:
balanced_coefficients(...)用 sympy 零空间自动配平(方程系数有保证);assemble_data(spec)展开分子实例、校验原子守恒与原子映射双射、推导键的断/成(差集)、 算出每个原子在反应物态/产物态的世界坐标,产出注入模板的data。
可先命令行自检:
python3 lib/reaction_kernel.py # 配平 + 守恒 + 键差 自检
python3 lib/molecules.py # 分子库自检
第 3 步:写 build_* 拼 spec 并注入模板
📍 输出位置(重要):成品 HTML 一律写到用户当前工作目录(
Path.cwd()),除非用户显式指定路径。 绝不要写进技能自身目录(skills/edu-chem-reaction/output/等)——那是技能内部的开发样例目录。
照着 scripts/generate.py 里的 build_* 改即可,再 render_html(K.assemble_data(spec), out):
from pathlib import Path
out = Path.cwd() / "reaction-<反应简述>.html" # 落在用户当前目录
render_html(K.assemble_data(spec), out)
范例(直接照抄改):
build_combustion_ch4(甲烷燃烧·morph·火焰·能量)——高层species + atom_map的范本;build_redox_na_cl2(钠+氯气·氧化还原·电子转移)——叠加electrons;build_esterification(酯化·mechanism·催化剂·过渡态)——低层atoms + fragments + 关键帧的范本。
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 123 lines · 495 tokens per session scan A f99362d4c1c6
edu-chem-reaction is a skill published in the GitHub repository wy51ai/edulab (1,675 stars, last pushed 4d ago), licensed Apache-2.0. It adds 495 tokens to every session and 2,652 once invoked, about $0.0020 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
lean-formalize
Develop and verify a mathematical proof in Lean, continue an incomplete Lean project, or audit whether it proves the original statement. Connect actual inputs to intermediate lemmas, assemble the target theorem, check its transitive axioms, and provide a reproducible handoff. Use when Lean is requested or a specific…
build-interactive-explainers
A guide for building interactive explainers, calculators, and simulations driven by an executable model. Users change inputs, steps, states, or events to understand a rule or see how a process develops over time.
tooluniverse-organic-chemistry
Organic chemistry reasoning guide for reaction product prediction, mechanism analysis (electrophilic/nucleophilic substitution, addition, elimination, pericyclic, radical), and spectroscopy interpretation (1H/13C NMR, IR, MS). Reasons from first principles (electron flow, kinetic vs thermodynamic) rather than…
scaffold-exercises
Scaffold a graded problem set with sections, problems, worked solutions, and short "why this matters" explainers across analytical, empirical, and coding types. Use when user says "make a problem set on X", "scaffold exercises for this lecture", "create practice problems", "generate homework with a solution key"…
anatomy-quiz-master
Generate interactive anatomy quizzes for medical education with multiple.
present-paper
Use when preparing an academic talk such as a journal club, grand rounds, seminar, conference presentation, or lecture/teaching deck. Analyzes the source, drafts audience-adapted speaker scripts, builds or augments the PPTX with speaker notes and prepares Q&A.