Iteratively optimize expensive black-box objectives — such as materials properties, experimental yields, or simulation outputs — by learning from past evaluations to select the most promising next…
Install the "ml-bayesian-optimization" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/ml-bayesian-optimization into .claude/skills/ml-bayesian-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-bayesian-optimization", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "ml-bayesian-optimization" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/ml-bayesian-optimization into .agents/skills/ml-bayesian-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-bayesian-optimization", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "ml-bayesian-optimization" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/ml-bayesian-optimization into .cursor/skills/ml-bayesian-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-bayesian-optimization", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "ml-bayesian-optimization" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/ml-bayesian-optimization into .gemini/skills/ml-bayesian-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-bayesian-optimization", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "ml-bayesian-optimization" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/ml-bayesian-optimization into .github/skills/ml-bayesian-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-bayesian-optimization", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "ml-bayesian-optimization" agent skill from https://github.com/learningmatter-mit/AtomisticSkills/tree/main/skills/ml-bayesian-optimization into .opencode/skills/ml-bayesian-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-bayesian-optimization", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
ml-bayesian-optimization
GitHub stars
176
Token cost
~2.3k tokens
SKILL.md length
846 words
Files
32 (incl. scripts)
Skills in repo
129
Repo updated
First seen
Licence
MIT
At a glance
Iteratively optimize expensive black-box objectives — such as materials properties, experimental yields, or simulation outputs — by learning from past evaluations to select the most promising next…
Works in 5 steps: Define the Search Space → Initialize with Quasi-Random Sobol Samples → Evaluate Candidates Using MCP Tools → …
Agent Workflows work in your project
SKILL.md covers Goal, Instructions, Examples and Constraints, plus 1 more section
What it does
ML Bayesian Optimization is an agent skill from learningmatter-mit/AtomisticSkills. Iteratively optimize expensive black-box objectives — such as materials properties, experimental yields, or simulation outputs — by learning from past evaluations to select the most promising next candidates.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 34 other files, including scripts (for example `examples/branin-function/README.md`, `examples/branin-function/campaign_state.json` and `examples/branin-function/search_space.yaml`).
It sits in Agent Workflows. It works with Model Context Protocol and Python. The repository describes itself as: Integrating AtomisticSkills into Agentic IDEs (Cursor, Claude Code, Codex, Google Antigravity, Hermes Agent, etc). The licence is MIT.
When your agent uses it
Agent Workflows work in your project
Example prompts
“/ml-bayesian-optimization”
Requirements
Python 3
Workflow steps
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6257444. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Network
Links to these hosts (documentation or services it may open):
doi.org
arxiv.org
github.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
ML Bayesian Optimization loads about 2.3k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 846 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~58
When it runs· the whole SKILL.md, loaded when a task matches
~2.3k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/ml-bayesian-optimization/SKILL.md (or your agent's skills folder). This skill also uses 31 other files; get the full folder from GitHub.
name
ml-bayesian-optimization
description
Iteratively optimize expensive black-box objectives — such as materials properties, experimental yields, or simulation outputs — by learning from past evaluations to select the most promising next candidates.
metadata.category
machine-learning
metadata.venv
cpu, mlip
Bayesian Optimization
<!-- mcp-tools-note -->
[!NOTE]
Steps written server.tool are MCP tool calls: mace.relax_structure is the relax_structure
tool of the mace server (mcp__mace__relax_structure, or
mcp__plugin_atomistic-skills_mace__relax_structure when installed as a plugin).
Without a connected server, run the same tools from the shell. Tools named in
one command share a process, so a model loaded by load_model stays loaded:
Efficiently find the optimal input parameters (e.g., alloy composition, simulation hyperparameters, process conditions) that minimize or maximize one or more expensive black-box objectives (e.g., formation energy, bandgap, elastic modulus) using Bayesian Optimization (BO). BO builds a probabilistic surrogate model (Gaussian Process) over the objective landscape and uses an acquisition function to intelligently select the next most informative experiments, minimizing the number of expensive evaluations required.
Single-objective: Expected Improvement (EI) maximized via multi-start L-BFGS-B.
Multi-objective: ParEGO — random Chebyshev scalarization with independent GPs, one weight vector per batch element, naturally steering candidates toward different Pareto-front regions.
Instructions
Step 1: Define the Search Space
Create a search_space.yaml in the research directory. Use the template at resources/search_space_template.yaml as a starting point:
yaml
# research_dir/search_space.yaml
parameters:
# Continuous range parameter
- name: x_Fe
type: range
bounds: [0.0, 1.0]
value_type: float
# Integer range parameter
- name: supercell_size
type: range
bounds: [2, 6]
value_type: int
objectives:
# Single-objective: minimize formation energy
- name: formation_energy_eV_atom
minimize: true
# Multi-objective: additionally maximize bandgap (uncomment to enable)
# - name: bandgap_eV
# minimize: false
Guidelines:
Use type: range for continuous or integer parameters with known bounds. Only range parameters are passed to the GP surrogate.
choice and fixed types are recorded in output CSVs but not optimized. Run separate campaigns per discrete choice.
Choose bounds informed by domain knowledge; avoid unnecessarily wide ranges.
Step 2: Initialize with Quasi-Random Sobol Samples
Generate an initial space-filling design using Sobol sequences. Use a power-of-2 batch_size (4, 8, 16, …) for optimal Sobol balance:
With no --results provided (or fewer than 2 × N_range_params evaluated points), the script automatically uses Sobol initialization. The output CSV lists candidate parameter values only — it does not evaluate the objective.
Step 3: Evaluate Candidates Using MCP Tools
For each row in candidates_round_0.csv, call the appropriate MCP tool to evaluate the objective and record results. The script plays no role in this step.
Objective type
Recommended MCP tool
Energy / formation energy
mace.relax_structure or matgl.relax_structure
Bandgap
matgl.predict_bandgap
Arbitrary property
mace.predict_structure
DFT reference
atomate2.run_atomate2_vasp_calculation
Save all results to evaluated.csv — one row per candidate, parameter columns plus objective column(s):
Environment: cpu. Dependencies: scikit-learn, scipy, numpy, pandas, pyyaml. No BoTorch or ax-platform required.
GP Scaling: Training is O(n³). Practical upper limit is ~500 evaluated points before training time becomes noticeable.
Batch Size: Use a power-of-2 for initialization (batch_size = 4, 8, 16, …). For BO rounds, batch_size ≤ 8 is recommended; larger is fine when evaluations are embarrassingly parallel.
Minimum Data: The GP needs at least 2 × N_range_params evaluated points to fit reliably. The Sobol initialization (Step 2) should provide at least this many.
Parameter Bounds: Bounds in search_space.yaml must be physically meaningful. The GP has no information about the objective outside the specified domain.
Noise Handling: For deterministic objectives (analytic functions, noiseless ML models) set --noise_std 0. For stochastic objectives (MD-derived properties, noisy experiments) set --noise_std <estimated_std>.
References
Frazier, P.I., "A Tutorial on Bayesian Optimization", arXiv, 2018. arXiv:1807.02811
Knowles, J., "ParEGO: A Hybrid Algorithm with On-Line Landscape Approximation for Expensive Multiobjective Optimization Problems", IEEE Transactions on Evolutionary Computation, 2006. DOI:10.1109/TEVC.2005.851274
Balachandran, P.V. et al., "Adaptive strategies for materials design using uncertainties", Scientific Reports, 2016. DOI:10.1038/srep19660
Lookman, T. et al., "Active learning in materials science with emphasis on adaptive sampling using uncertainties for targeted design", npj Computational Materials, 2019. DOI:10.1038/s41524-019-0153-8
ML Bayesian Optimization next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
ML Bayesian Optimization compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
ML Bayesian Optimization this skilllearningmatter-mit/AtomisticSkills
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
Installs and configures MemPalace as a private local palace, a shared-brain hub or a client of an existing hub, including MCP registration and version-correct initialization.
Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification.
Iteratively optimize expensive black-box objectives — such as materials properties, experimental yields, or simulation outputs — by learning from past evaluations to select the most promising next…. ML Bayesian Optimization is an agent skill from learningmatter-mit/AtomisticSkills. Iteratively optimize expensive black-box objectives — such as materials properties, experimental yields, or simulation outputs — by learning from past evaluations to select the most promising next candidates.
When should I use ML Bayesian Optimization?
ML Bayesian Optimization fits situations like: agent Workflows work in your project.
How do I install ML Bayesian Optimization in Claude Code?
Run `npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a claude-code`. Or copy the skill folder (skills/ml-bayesian-optimization in learningmatter-mit/AtomisticSkills) into .claude/skills/ml-bayesian-optimization in your project. Claude Code loads it when a task matches its description.
How do I install ML Bayesian Optimization in Codex?
Run `npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a codex`. Or copy the skill folder (skills/ml-bayesian-optimization in learningmatter-mit/AtomisticSkills) into .agents/skills/ml-bayesian-optimization in your project. Codex loads it when a task matches its description.
Can I use ML Bayesian Optimization in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add learningmatter-mit/AtomisticSkills --skill ml-bayesian-optimization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ml-bayesian-optimization, .gemini/skills/ml-bayesian-optimization, .github/skills/ml-bayesian-optimization and .opencode/skills/ml-bayesian-optimization in your project.
What does ML Bayesian Optimization need to run?
SKILL.md names no scripts, command-line tools or credentials: ML Bayesian Optimization is instructions for the agent only. Our summary lists: Python 3.
Does ML Bayesian Optimization access the network?
SKILL.md names 3 domains. As links in the text: doi.org, arxiv.org and github.com. This is read from the text; nothing was executed.
Is ML Bayesian Optimization safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does ML Bayesian Optimization use?
ML Bayesian Optimization is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does ML Bayesian Optimization use?
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to ML Bayesian Optimization?
Skills that share tags, products or a category with ML Bayesian Optimization: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), Fastmcp Client CLI (PrefectHQ/fastmcp, 28k stars) and MemPalace Setup and Operation (MemPalace/mempalace, 59k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains ML Bayesian Optimization?
learningmatter-mit (a GitHub organization) maintains it in learningmatter-mit/AtomisticSkills, which has 176 GitHub stars. The repository holds 129 skills in this directory. The repository was last updated on October 7, 2026.