From Cobaya Assistant
Set up and execute a cobaya MCMC run end-to-end (write YAML, install packages, launch chain). Forks into the cobaya-engineer subagent so install/chain output doesn't flood the main thread.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cobaya:setup-run <run-name> [hints...]<run-name> [hints...]cobaya-engineerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up and execute a cobaya MCMC run named `$0`. The skill assembles a YAML from four independent decisions; treat them separately and ask the user when underspecified — don't pre-bin into preset "styles".
Set up and execute a cobaya MCMC run named $0. The skill assembles a YAML from four independent decisions; treat them separately and ask the user when underspecified — don't pre-bin into preset "styles".
The four decisions:
camb (CAMB), classy (CLASS), or classy_szfast.classy_sz.classy_sz (class_sz; itself a full Boltzmann code with CosmoPower emulators in fast mode, plus halo-model observables). Pick what supports the requested observables.extra_args (e.g. with use_class_sz_no_cosmo_mode: 1 for class_sz), or partially constrained. Same for astro/nuisances.Rminus1_stop target, starting covmat.Hints in $ARGUMENTS after $0 can shortcut any of these (e.g. planck_2018_lowl.TT,planck_2018_lowl.EE → likelihood set; --theory=class_sz → theory choice; --data-dir=… → bandpower workdir). Ask for anything left underspecified before writing.
Resolve the four decisions. From $ARGUMENTS, existing files in the workdir (e.g. an existing <run-name>.yaml to amend, a data/ dir, a reference-*/ baseline), and the user.
Sketch the YAML with the four standard blocks:
theory: { <code>: { stop_at_error: True, [extra_args: { ... }] } }likelihood: { <name1>: null, <name2>: { ... } }params: { ... fixed values, sampled priors, derived ... }sampler: { mcmc: { Rminus1_stop: 0.05, max_tries: 1000, learn_proposal: True, [covmat: ...] } }output: chains/<run-name> (or absolute path inside a workdir)debug: True, timing: trueInstall external packages if any are referenced (e.g. Planck likelihoods):
cobaya-install -y -p packages/ <run-name>.yaml. Skip for runs that only use in-venv code (class_sz, classy_szfast, a standalone Likelihood module).
Validate with --test before launching:
cobaya-run --test <run-name>.yaml. Reports the model assembly, initial point, per-component speed measurements; takes seconds.
Launch:
cobaya-run <run-name>.yamlmpirun -np N cobaya-run <run-name>.yaml (N parallel chains; bump for more cores)Report back:
--test result|R-1| reached, total samples, n_chains, acceptance rate from .progressTraceback/error in stderr or <run-name>.log)Rminus1_stop, switch to MPI, add a likelihood, etc.)/class-sz:build-likelihood is the right entry point if loaded — it scaffolds a standalone likelihood module + a working YAML in one shot./class-sz:explain.<workdir>/
├── <likelihood-module>.py # standalone Likelihood/Theory (optional)
├── <run-name>.yaml
├── data/ # whatever the likelihood reads
└── chains/ # cobaya output
cd <workdir> before running cobaya-run so any local module is importable.
pip install cobaya or its deps — assume the venv is complete.resume: True or pick a new name.${VARS} and any path with spaces.cobaya/ subdir (PEP 420 cwd collision — see /cobaya:explain Pitfalls).Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub borisbolliet/cobaya-claude-plugin --plugin cobaya