Getting it into your agent
There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.
Wrote 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/beita6969/scienceclaw/chemistry-tools)<a href="https://agentmods.dev/skills/beita6969/scienceclaw/chemistry-tools"><img src="https://agentmods.dev/badge/skills/beita6969/scienceclaw/chemistry-tools/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/beita6969/scienceclaw/chemistry-tools"><img src="https://agentmods.dev/badge/skills/beita6969/scienceclaw/chemistry-tools.svg" alt="Reviewed on agentmods" width="80" 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.00099 | $0.01544 |
| Opus 5 | $0.00049 | $0.00772 |
| Sonnet 5 | $0.00020 | $0.00309 |
| Haiku 4.5 | $0.00010 | $0.00154 |
Grade C, and why
chemistry-tools scanned grade C with 2 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 11d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s "https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/aspirin/JSON" | python3 -m json.tool Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s "https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/aspirin/JSON" | python3 -m json.tool How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Chemistry Tools
Computational chemistry and cheminformatics. Venv: source /Users/zhangmingda/clawd/.venv/bin/activate
Molecular Properties
# Using RDKit if available, otherwise manual calculations
from sympy import symbols, Eq, solve
# Molecular weight calculation (manual)
ATOMIC_WEIGHTS = {
'H': 1.008, 'He': 4.003, 'Li': 6.941, 'Be': 9.012, 'B': 10.81,
'C': 12.011, 'N': 14.007, 'O': 15.999, 'F': 18.998, 'Ne': 20.180,
'Na': 22.990, 'Mg': 24.305, 'Al': 26.982, 'Si': 28.086, 'P': 30.974,
'S': 32.065, 'Cl': 35.453, 'Ar': 39.948, 'K': 39.098, 'Ca': 40.078,
'Fe': 55.845, 'Cu': 63.546, 'Zn': 65.38, 'Br': 79.904, 'Ag': 107.868,
'I': 126.904, 'Au': 196.967,
}
import re
def molecular_weight(formula):
"""Calculate MW from chemical formula like 'C6H12O6'"""
elements = re.findall(r'([A-Z][a-z]?)(\d*)', formula)
mw = sum(ATOMIC_WEIGHTS.get(el, 0) * (int(n) if n else 1) for el, n in elements)
return mw
# Example
print(f"Glucose (C6H12O6): {molecular_weight('C6H12O6'):.3f} g/mol")
Chemical Equation Balancing
from sympy import Matrix, lcm
def balance_equation(reactants_elements, products_elements):
"""
Balance using linear algebra (null space method).
Each compound is a dict of {element: count}.
"""
all_elements = set()
for compound in reactants_elements + products_elements:
all_elements.update(compound.keys())
all_elements = sorted(all_elements)
n_compounds = len(reactants_elements) + len(products_elements)
matrix = []
for el in all_elements:
row = []
for comp in reactants_elements:
row.append(comp.get(el, 0))
for comp in products_elements:
row.append(-comp.get(el, 0))
matrix.append(row)
M = Matrix(matrix)
null = M.nullspace()
if null:
coeffs = null[0]
# Make integer coefficients
denom = lcm(*[c.q for c in coeffs if hasattr(c, 'q')] or [1])
coeffs = [int(c * denom) for c in coeffs]
return coeffs
return None
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.
- 11d ago First seen · 148 lines · 99 tokens per session scan C 6f7d8c9f03b0
chemistry-tools is a skill published in the GitHub repository beita6969/ScienceClaw (898 stars, last pushed 3mo ago), licensed MIT. It adds 99 tokens to every session and 1,544 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
biopython
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use…
scanpy
Standard single-cell RNA-seq analysis pipeline. Use for QC, normalization, dimensionality reduction (PCA/UMAP/t-SNE), clustering, differential expression, and visualization. Best for exploratory scRNA-seq analysis with established workflows. For deep learning models use scvi-tools; for data format questions use…
structure-prediction
Protein structure prediction from sequence. ESMFold-based, single GPU, no MSA needed. Predicts 3D structures with pLDDT confidence scores for drug discovery targets.
biomcp
Search and retrieve biomedical data - genes, variants, clinical trials, diagnostic tests, articles, drugs, diseases, pathways, proteins, adverse events, pharmacogenomics, and phenotype-disease matching. Use for gene function, variant pathogenicity, trials, diagnostics, drug safety, pathway context, disease workups…
biomcp-research
Do biomedical literature and variant research with the BioMCP CLI, and file what you learn about the tool itself as issues in the biomcp repo.
biological-expert
Expert-level biology, biotechnology, genetics, bioinformatics, and computational biology. Use when the user mentions biology, biotechnology, genetics, bioinformatics, or genomics, or when the task involves Molecular Biology, Genomics & Bioinformatics, Systems Biology, or Data Analysis.