executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
optimizer-workflowsUse BayesianOptimization for ordinary black-box optimization, manual ask-tell loops, persistence, prediction, and small ML hyperparameter optimization.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when a user wants to run the core bayes_opt.BayesianOptimization
lifecycle for a black-box objective or a small machine-learning hyperparameter
optimization job. This route is self-contained: future agents should not need to
open the original repository docs, notebooks, tests, or examples.
BayesianOptimization, pbounds, maximize, max, res,
probe, register, suggest, random_sample, set_bounds,
set_gp_params, save_state, load_state, or predict.bayesian-optimization.-loss or using a scikit-learn scorer whose larger value is better.pbounds keys must match the objective function keyword arguments exactly.
Dict inputs are safest. Array/list inputs use the pbounds insertion order.allow_duplicate_points=True only when repeated
evaluations at the same coordinates are intentional.f=None only for manual ask-tell loops: call suggest(), evaluate
outside the optimizer, then register(params, target). Do not call eager
probe(..., lazy=False) or maximize() with f=None.maximize(), call predict(..., fit_gp=True) before relying on GP
predictions; the final registered point may not be included in the fitted GP
until prediction refits it.pbounds, acquisition strategy, constraints,
duplicate policy, and any bounds transformer.TargetSpace result behavior, predict
return shapes, and state persistence details.f=None
misuse.scripts/bo_core_smoke.py: deterministic core API
smoke test. It runs a tiny optimizer, validates max/res, exercises
probe, register, suggest, random_sample, set_bounds, set_gp_params,
predict, duplicate handling, and optional JSON save/load.scripts/sklearn_hpo_smoke.py: deterministic
tiny scikit-learn HPO diagnostic with synthetic data. It demonstrates both
maximizing a score and negating a loss, with safe integer casting for model
hyperparameters.Run scripts only in an environment where bayesian-optimization and its normal
Python dependencies are installed. Both scripts support --help, use bounded
synthetic data, do not download from the network, and avoid destructive writes.
Stay in this sub-skill for the optimizer lifecycle, public result validation,
manual ask-tell loops, persistence/resume patterns, predict semantics, noisy
or duplicate objectives, bounds updates, GP parameter tuning through
set_gp_params, and ordinary small HPO recipes.
Route elsewhere for features that have distinct APIs or deeper contracts:
ConstantLiar, GPHedge,
and exploration/exploitation controls: ../acquisition-control/SKILL.md.BayesParameter, and sequential domain reduction:
../advanced-domain-features/SKILL.md.../repo-maintenance/SKILL.md.BayesianOptimization(f=objective, ...).BayesianOptimization(f=None, ...) and
use ask-tell with suggest()/register().pbounds with exact parameter names and realistic finite bounds.
Prefer log-transformed parameters for scale-sensitive HPO (log10_C,
log_learning_rate) and transform inside the objective wrapper.init_points=2,
n_iter=2; for expensive tasks, increase only after validating objective
sign, result shape, and runtime.maximize(init_points=..., n_iter=...) or the ask-tell loop.optimizer.max is not None, has keys target and params, all
returned params are within intended bounds, len(optimizer.res) matches the
number of registered observations, and the best target uses the intended
metric sign.save_state(path). To resume, recreate a
compatible optimizer and call load_state(path) before more suggestions or
maximize(init_points=0, n_iter=...).predict() with explicit
fit_gp=True after at least one observation; use return_std=True or
return_cov=True, never both.pbounds keys and objective kwargs match exactly.allow_duplicate_points is justified for noise; otherwise duplicate errors
are treated as a signal to change the loop.