← 返回 Skills 市场
boeingart

SynBO (Synthetic Bayesian Optimization)

作者 Zhenzhi Tan · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ✓ 安全检测通过
30
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install synbo
功能描述
Bayesian optimization for chemical reactions using the synbo package. This skill provides Python scripts to set up reaction spaces, build descriptors, run op...
使用说明 (SKILL.md)

synbo

Bayesian optimization for chemical reactions using the synbo package. This skill provides Python scripts to set up reaction spaces, build descriptors, run optimization, download recommended conditions, and upload results.


CRITICAL: BO Optimization Prerequisites

Before executing ANY Bayesian Optimization (synbo) tasks, you MUST sequentially verify the following 5 prerequisites. Do NOT proceed with the optimization process until ALL criteria are met:

1. Find Conda Environment and synbo package

  • Verify if conda is installed in the current environment. If not, confirm with the user to install Miniconda (see reference/installation.md).
  • Check if the synbo_env conda environment exists. If not, create it; if it exists, activate it.
  • Verify if the synbo package is installed in synbo_env. If not, run pip install synbo

2. Working Directory (project_wd) & Project Name (project_name)

  • Initial Check: Read config.json located in the skill's directory. If both project_wd and project_name are found, display the project name to the user (e.g., "Found existing project: [Project Name]") and use them.
  • If NOT found: Stop and prompt the user to input a Working Directory and a Project Name.
  • Validation & Saving (CRITICAL): Upon receiving the user's input:
    1. Verify Path: Check if the provided working directory actually exists on the local file system. If it does NOT exist, inform the user "The path is invalid/does not exist" and prompt them to re-enter it.
    2. Sanitize & Save: If the path exists, sanitize the project name (replace spaces and special characters with underscores). Then, immediately write/update the config.json file with this format: {"project_wd": "xxx", "project_name": "xxx"}.
    3. Use this path and sanitized project name to define the save_dir for all subsequent outputs.

3. Reaction Space

  • Check: Verify if standard reaction space data exists specifically within the project_wd/rxn_space directory.
  • If NOT found: Stop and prompt the user: "Reaction space data is missing in the project_wd/rxn_space directory. Please provide the standard reaction space data." Do not proceed until provided.

4. Condition Descriptors

  • Check: Verify if the corresponding Condition Descriptors exist specifically within the project_wd/descriptors directory.
  • If NOT found: Stop and prompt the user: "Condition Descriptors are missing in the project_wd/descriptors directory. Please provide the standard Condition Descriptors, OR let me know if you would like me to automatically generate them for you."

5. Optimization Metrics

  • Check: Verify if the optimization settings file (e.g., optimization_settings.json) exists directly within the project_wd directory.
  • If NOT found: Stop and prompt the user: "Optimization metrics are not defined. Please specify the target metrics you want to optimize (e.g., yield, ee), along with their optimization direction (max/min), expected numerical ranges, and relative weights (default 1.0)."
  • Validation & Saving (CRITICAL): Upon receiving the user's optimization goals, format the data and immediately save it as optimization_settings.json in the project_wd. The JSON file MUST strictly adhere to the following structure:
{
    "reagent_types": ["reagent1", "reagent2", "condition1", "condition2"],
    "opt_metrics": ["target1", "target2"],
    "opt_direct_info": [
        {
            "opt_direct": "max",
            "opt_range": [0, 100],
            "metric_weight": 1.0
        },
        {
            "opt_direct": "min",
            "opt_range": [0, 100],
            "metric_weight": 1.0
        }
    ]
}

Execution Block: You are strictly forbidden from executing any initialization (initialize), optimization (optimize), or other synbo tasks until Steps 1 through 4 are fully verified and resolved.


Reaction Space

When the user is required to provide the reaction space data, they may submit it via one of two methods:

  1. Direct Input: Providing the SMILES strings for the corresponding molecules directly in the chat.
  2. File Upload: Providing tabular files containing the SMILES strings.

Naming Conventions: It is highly recommended that the user assigns a specific name to each molecule. If no names are provided, you must automatically assign names using a sequential format based on the reagent type: {reagent_type}-1, {reagent_type}-2, etc.

Data Storage Rules: Regardless of the user's submission method, all reaction space data must be formatted and saved strictly into the project_wd/rxn_space directory.

  • Each reagent type must be saved as an individual file named {reagent_type}.csv.
  • The CSV files must contain exactly two headers: SMILES (for the SMILES strings) and name (for the molecule names).

Condition Descriptors

see [reference/get_desc.md](reference/get_desc.md)


Initialize

see [reference/initialize.md](reference/initialize.md)


Optimize

see [reference/optimize.md](reference/optimize.md)

安全使用建议
Before installing, review the Miniconda and pip commands, prefer trusted sources and pinned versions if needed, and confirm the saved project directory is correct before letting the skill write reaction data, descriptors, settings, or optimization results.
功能分析
Type: OpenClaw Skill Name: synbo Version: 0.1.0 The skill bundle provides a legitimate framework for Bayesian optimization in chemical research using the 'synbo' package. The Python scripts (scripts/get_desc.py, scripts/initialize.py, and scripts/optimize.py) handle molecular descriptor generation and optimization logic using standard libraries like RDKit and pandas, with no evidence of data exfiltration or unauthorized execution. While the installation guide (reference/installation.md) utilizes curl to download Miniconda, it points to a reputable academic mirror (Tsinghua TUNA), and the agent instructions in SKILL.md include explicit requirements for input sanitization and user confirmation before proceeding with tasks.
能力评估
Purpose & Capability
The described purpose matches the included scripts: they generate descriptors, initialize sampling, run optimization, and save results in the project directory.
Instruction Scope
The instructions require prerequisite checks and user prompts before missing reaction data, descriptors, or optimization metrics are created or used.
Install Mechanism
The skill has no formal install spec, but its documentation includes user-directed conda, Miniconda, and pip installation steps using external sources and unpinned packages.
Credentials
The skill writes reaction-space files, descriptors, settings, and results under a user-provided project directory, which is expected for this workflow.
Persistence & Privilege
The skill stores project_wd and project_name in a config.json in the skill directory so future runs can reuse the project context.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install synbo
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /synbo 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Upload SynBO skills first time.
元数据
Slug synbo
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

SynBO (Synthetic Bayesian Optimization) 是什么?

Bayesian optimization for chemical reactions using the synbo package. This skill provides Python scripts to set up reaction spaces, build descriptors, run op... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 30 次。

如何安装 SynBO (Synthetic Bayesian Optimization)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install synbo」即可一键安装,无需额外配置。

SynBO (Synthetic Bayesian Optimization) 是免费的吗?

是的,SynBO (Synthetic Bayesian Optimization) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

SynBO (Synthetic Bayesian Optimization) 支持哪些平台?

SynBO (Synthetic Bayesian Optimization) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 SynBO (Synthetic Bayesian Optimization)?

由 Zhenzhi Tan(@boeingart)开发并维护,当前版本 v0.1.0。

💬 留言讨论