Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/InternScience/ChemClawnpx agentmods add skills/internscience/chemclaw/mol-2d-viewerWrote 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/internscience/chemclaw/mol-2d-viewer)<a href="https://agentmods.dev/skills/internscience/chemclaw/mol-2d-viewer"><img src="https://agentmods.dev/badge/skills/internscience/chemclaw/mol-2d-viewer.svg" alt="Measured on agentmods" height="20"></a>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.00041 | $0.02242 |
| Opus 5 | $0.00020 | $0.01121 |
| Sonnet 5 | $0.00008 | $0.00448 |
| Haiku 4.5 | $0.00004 | $0.00224 |
Grade A, and why
mol-2d-viewer 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 6d 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 — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Molecular Structure Visualizer
将 SMILES 字符串或化学名称转换为分子结构图,支持聚合物 2D 结构绘制。
触发条件
- 用户提供 SMILES 并要求可视化
- 提到"分子结构"、"可视化"、"draw molecule"
- 说"SMILES 转图片"、"显示结构"
- 提供聚合物名称或 SMILES
功能
- ✅ SMILES → 分子结构图
- ✅ IUPAC 名称 → 结构图(自动通过 OPSIN 转 SMILES)
- ✅ 聚合物支持 - 正确渲染聚合物重复单元
- ✅ 输出 PNG 或 SVG 格式
- ✅ 可自定义尺寸、样式
- ✅ 批量生成
- ✅ 聚合物标题 - 自动添加化合物名称作为标题
聚合物渲染
对于聚合物 SMILES(包含 * 连接点标记):
- 自动识别聚合物标记
- 清理 SMILES 以便正确渲染
- 添加"Polymer Structure"标题
- 使用增强的渲染选项(更粗的键、更大的原子标签)
聚合物 SMILES 格式
*monomer* # 简单聚合物
*[linker]monomer* # 带连接基团的聚合物
*CC* # 聚乙烯
*OCC* # 聚环氧乙烷
*OCC(C)* # 聚环氧丙烷
使用方法
对话框中使用
画出 ethanol 的分子结构
SMILES: CCO,生成结构图
可视化 aspirin,保存为 SVG
poly[oxy(1-methylethylene)] 画结构图
批量生成:CCO,C1=CC=CC=C1
命令行使用
# 从 SMILES 生成
python3 scripts/mol_2d_viewer.py --smiles "CCO" --output ethanol.png
# 从名称生成
python3 scripts/mol_2d_viewer.py --name "aspirin" --output aspirin.svg
# 聚合物 SMILES
python3 scripts/mol_2d_viewer.py --smiles "*OCC*" --output peo.png
# 聚合物名称
python3 scripts/mol_2d_viewer.py --name "poly[oxy(1-methylethylene)]" --output ppo.png
# 批量生成
python3 scripts/mol_2d_viewer.py --smiles "CCO,C1=CC=CC=C1" --output-dir ./molecules
# 自定义尺寸
python3 scripts/mol_2d_viewer.py --smiles "CCO" --width 400 --height 300
参数说明
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--smiles |
-s |
SMILES 字符串(可多个) | - |
--name |
-n |
IUPAC 名称 | - |
--output |
-o |
输出文件路径 | 自动生成 |
--output-dir |
-d |
输出目录(批量模式) | ~/.openclaw/media/mol-2d-viewer |
--format |
-f |
输出格式:png/svg | png |
--width |
-W |
图片宽度(像素) | 400 |
--height |
-H |
图片高度(像素) | 300 |
--kekulize |
-k |
凯库勒化(显示双键) | false |
--quiet |
-q |
安静模式 | false |
--stdout |
输出 base64 到 stdout | false |
输出示例
单个分子
$ python3 mol_2d_viewer.py -s "CCO" -o ethanol.png
✓ 已生成:ethanol.png (400x300, PNG)
聚合物
$ python3 mol_2d_viewer.py -s "*OCC*" -o peo.png
✓ 已生成:peo.png (400x300, PNG) [聚合物]
$ python3 mol_2d_viewer.py -n "poly[oxy(1-methylethylene)]" -o ppo.png
✓ 已生成:ppo.png (400x300, PNG) [聚合物]
What ships with it
3 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.
- 6d ago First seen · 234 lines · 41 tokens per session scan A 0f835b0ba89e
mol-2d-viewer is a skill published in the GitHub repository InternScience/ChemClaw (52 stars, last pushed 5mo ago), licensed MIT. It adds 41 tokens to every session and 2,242 once invoked, about $0.0002 per session on Opus 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
instrument-data-to-allotrope
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV. Use this skill when scientists need to standardize instrument data for LIMS systems, data lakes, or downstream analysis. Supports auto-detection of instrument types. Outputs include full…
matlab
Build, review, migrate, and safely plan MATLAB or GNU Octave numerical workflows, including arrays, tabular/time data, tests, projects, graphics, MAT files, and explicit Python interoperability.
exploratory-data-analysis
Perform bounded, local exploratory analysis of explicitly supported scientific files. Use for redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain…
phylogenetics
Build and analyze phylogenetic trees using MAFFT (multiple alignment), IQ-TREE 2 (maximum likelihood), and FastTree (fast NJ/ML). Visualize with ETE3 or FigTree. For evolutionary analysis, microbial genomics, viral phylodynamics, protein family analysis, and molecular clock studies.
research-engineer
An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal verification, and optimal implementation across any required technology.
mapping-to-snomed
Maps clinical concept spans extracted by OpenMed to SNOMED CT concepts through a USER-SUPPLIED terminology server (the user's own Ontoserver, Snowstorm, or UMLS/UTS), never a bundled vocabulary. Use when the user wants to code findings, disorders, procedures, body structures, or substances to SNOMED CT, run an ECL…