Skill: catalyst SAR screening
SkillMonitoring & opsHARD-LOCKED Catalyst-Design-Agent FAIRChem UMA (uma-s-1p1, oc20) SAC SAR screening for dissolution potential / adsorption / overpotential. Always call run_pipeline with the user's metals/metrics into a fresh workdir and present ONLY that run's result["deliverables"]. FORBIDDEN to return committed demo shells (metal_center_dissolution_*) as user results. FORBIDDEN tabular/heuristic/other MLIPs. If HF_TOKEN or hub unreachable, STOP and ask (HF_TOKEN / HF_ENDPOINT). Keywords: MLFF, UMA, OC20, catagent, M–N4, dissolution, graphene.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Skill: catalyst SAR screening skill
What this skill tells your AI
The instructions your AI receives, as published by pku-yuangroup/openai4s in skills/catalyst_sar_screening/SKILL.md and read by ahel’s review.
SAC structure–activity screening with a fixed pipeline: build graphene M–N–C POSCARs from the embedded catalog, evaluate metrics with FAIRChem UMA only, analyze SAR trends, and write a lean visual report.
All skill files live flat under this directory (no data/ or examples/
subfolders).
HARD LOCK
- Energy engine: Catalyst-Design-Agent FAIRChem UMA
uma-s-1p1, taskoc20 - Runtime: conda env
catagent - Forbidden: tabular / heuristic / lookup / other MLIPs; skipping UMA when
HF_TOKENor Hugging Face is missing; returning committed demo shells (metal_center_dissolution_*) as the user answer
When blocked: ask the user for HF_TOKEN and/or HF_ENDPOINT
(e.g. https://hf-mirror.com). Do not substitute another method.
Example user prompt
Use this as the canonical prompt shape (replace the token placeholder; never commit a real token):
请使用 catalyst_sar_screening 这个 skill,基于 UMA 模型评估载体为石墨烯的
M–N4 的电化学稳定性;电化学稳定性用溶解电位量化;金属中心搜索空间包括
Mn、Fe、Cu;分析金属中心与电化学稳定性的关系并生成可视化报告。
huggingface 的 API 使用 <HF_TOKEN_PLACEHOLDER>;
运行代码前 export HF_ENDPOINT=https://hf-mirror.com。
Mapped run:
import os
os.environ["HF_TOKEN"] = "<HF_TOKEN_PLACEHOLDER>" # from the user message only
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
from catalyst_sar_screening.kernel import check_uma_readiness, run_pipeline
ready = check_uma_readiness()
if not ready["ok"]:
raise SystemExit(ready["ask_user"])
result = run_pipeline(
["Mn-N4", "Fe-N4", "Cu-N4"],
workdir="outputs/sac_mn_fe_cu_udiss",
metrics=["dissolution"],
min_dissolution=0.0,
)
# Present ONLY these paths to the user (never demo shells in this skill dir).
deliverables = result["deliverables"]
Fixed pipeline
- Map the user request → descriptions + metrics (example above →
["Mn-N4","Fe-N4","Cu-N4"],metrics=["dissolution"]). - Set
HF_TOKEN/HF_ENDPOINTfrom the user if provided (do not hardcode). check_uma_readiness(); if not ok → stop and ask.run_pipeline(...)builds POSCARs fromcontcar_catalog.json(embedded POSCAR text; exact lookup first, else derive). Do not read an externalchem/tree.- Evaluate with UMA only; analyze SAR; write report/figures under
workdir. - Present only
result["deliverables"].
Module layout
skills/catalyst_sar_screening/
├── SKILL.md
├── kernel.py
├── contcar_catalog.json # minimal graphene M–N4 slab POSCAR texts
├── build_example.py # regenerate demo shells
├── metal_center_dissolution_*.json # synthetic demos — NOT user outputs
├── metal_center_dissolution_*.md
└── metal_center_dissolution_*.html
The catalog is intentionally limited to graphene / pyridineN / slab entries for the public skill fixture. It is not an experimental dataset release.
Import
from catalyst_sar_screening.kernel import check_uma_readiness, run_pipeline
Backend setup
Pinned runtime packages for conda env catagent:
fairchem-core==2.19.0pandas==3.0.2pymatgen==2026.3.23
conda create -n catagent python=3.11 -y
conda activate catagent
python -m pip install ase numpy matplotlib pandas==3.0.2 pymatgen==2026.3.23
python -m pip install fairchem-core==2.19.0 fairchem-data-oc==1.0.2 torch
export HF_TOKEN=... # ask user if unset — never commit real tokens
export HF_ENDPOINT=https://hf-mirror.com
Deliverables
Only paths under the run workdir listed in result["deliverables"]:
<workdir>/
├── catalyst_sar_report.md
├── catalyst_sar_dashboard.html
├── summary.json
└── figures/
├── fig01_*.png
└── structures_collage.png
Do not return committed demo shells such as:
skills/catalyst_sar_screening/metal_center_dissolution_*
Developer demos
Synthetic placeholder HTML/Markdown/JSON live flat in this skill directory for maintainers. They must not include unpublished numeric screening results or figure PNGs. Regenerate text shells with:
uv run python skills/catalyst_sar_screening/build_example.py
Analyst checklist
- ran
run_pipelinefor this request's metals/metrics - every presented file is under that run's
deliverables - no committed
metal_center_dissolution_*demo was attached - report includes model + statistical figures + structure collage + SAR insights
- no real HF token was written into files or commits
Signals
- GitHub stars
- 404
- Forks
- 48
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
catalyst-sar-screening- Source
- github.com/pku-yuangroup/openai4s