Install
openclaw skills install @sanyangye/chatmosp-msr-generatorMSR (Multiscale Structure Reconstruction) calculation engine of the chatMOSP system. Invokes mosp-for-chatMOSP/utils/msr.py to generate metal cluster structures (Wulff construction), producing ini.xyz and {task_name}_cluster.xyz, then automatically generates PNG structure images and GIF rotation animations, and finally sends them to the user via Feishu. Triggers: after parameter-builder has built parameters and the user has confirmed via the 5-option prompt, this skill executes the MSR calculation.
openclaw skills install @sanyangye/chatmosp-msr-generatorLanguage routing / 语言路由 Detect the user's language from the latest message.
- If the user writes in English, continue with this English file and respond in English.
- If the user writes in Chinese, read
SKILL.mdin this same directory and respond in Chinese. Always match the response language to the user's input language.
input.json exists at OUTPUT/{task_name}/input.jsonmosp-for-chatMOSP installed, with utils/msr.py and utils/paint.py| Field | Description |
|---|---|
| Element | Metal element (Pd, Pt, Au, etc.) |
| Temperature / Pressure | Temperature / Pressure |
| Gas1_name / Gas1_pp / Gas1_S | Gas 1 name / partial pressure / gas entropy |
| Gas2_name / Gas2_pp / Gas2_S | Gas 2 name / partial pressure / gas entropy |
| Radius | Cluster radius (Å) |
| nFaces / Face1 / Face2 / Face3 | Surface facet parameters |
Gas entropy (Gas1_S / Gas2_S) is calculated by parameter-builder using the formula in §7.1. DO NOT manually fill or reuse values from example files.
MUST check cluster radius before execution. Warn user when R ≥ 50Å:
⚠️ Calculation Time Warning:
Current cluster radius is {R}Å, estimated calculation time is approximately
{estimated_minutes} minutes.
(R=50Å ~20 min, R=65Å ~40 min)
Continue with MSR calculation?
| Radius | Atoms (approx) | Time (approx) |
|---|---|---|
| 50 Å | 11,000 | 20 min |
| 65 Å | 35,000 | 40 min |
| Larger | Cubic growth | Significantly longer |
cd mosp-for-chatMOSP
python3 utils/msr.py --json OUTPUT/{task_name}/input.json --output OUTPUT/{task_name}/
cd -
ls -lh OUTPUT/{task_name}/ini.xyz
ls -lh OUTPUT/{task_name}/{task_name}_cluster.xyz
ini.xyz MUST exist and be > 0KB, otherwise MSR failed{task_name}_cluster.xyz MUST exist (for visualization)# Static structure image
cd mosp-for-chatMOSP && python3 utils/paint.py \
OUTPUT/{task_name}/{task_name}_cluster.xyz \
--output OUTPUT/{task_name}/structure.png
# Rotation animation
cd mosp-for-chatMOSP && python3 utils/paint.py \
OUTPUT/{task_name}/{task_name}_cluster.xyz \
--gif OUTPUT/{task_name}/rotation.gif
paint.pycan only generate ONE type per call (PNG OR GIF); two separate steps are required. For atom counts > 20,000, recommend generating only the static image.
{
"action": "send",
"channel": "feishu",
"filePath": "{workspace}/mosp-for-chatMOSP/OUTPUT/{task_name}/structure.png",
"caption": "{Metal}-{T}K-{P}Pa-CO{pp1}%-O2{pp2}%-R{R}Å"
}
Requirements:
structure.png to userrotation.gif to user| File | Description |
|---|---|
| ini.xyz | Real cluster structure (all atoms), input for KMC |
| {task_name}_cluster.xyz | Surface-atom-classified structure for plotting |
| faceinfo.txt | Facet information statistics |
| input.json | MSR parameter file |
| structure.png | Static structure image |
| rotation.gif | Rotation animation |
input.json MUST NOT contain KMC parameters — KMC parameters are prepared independently by kmc-simulatorini.xyz is the OUTPUT of MSR, NOT the input — do not prepare ini.xyz for MSR tasksMOSP_database — use parameter-builder to recalculate gas entropy| Error | Action |
|---|---|
| ini.xyz missing or 0KB | MSR failed; suggest adjusting parameters and retrying |
| {task_name}_cluster.xyz missing | Check MSR log; may be convergence failure |
| MSR timeout | Reduce cluster radius or check parameter validity |
| User cancellation | Terminate, preserve generated files |
ini.xyz is produced. KMC tasks independently fetch complete KMC parameters from MOSP_database via kmc-simulator. Do NOT reuse this skill's input.json. See kmc-simulator.chatmosp-msr-generator/
├── SKILL.md # Chinese reference
└── SKILL_cn.md # This file (English)
User: Calculate Pt nanoparticle cluster structure at 500K
System: [Recognize as MSR task → parameter-builder searches params →
Show 5-option confirmation → User confirms → R=20Å, no warning →
Invoke msr.py → Validate output → Generate PNG+GIF → Send via Feishu]
This skill is part of the ChatMOSP skill set. For complete functionality, install the companion ChatMOSP skills from ClawHub when they are missing:
If a required companion skill is unavailable, ask the user to install the missing ChatMOSP skill from ClawHub before continuing. Use the GitHub repository only as a fallback.