# Bilby Model Builder

> Construct Bayesian likelihoods, priors, and model classes with Bilby for astronomical observations.

- Skill: `rudrathegreat/bilby-model-builder` (Agent Skill)
- Install (CLI): `npx skillmds@latest add rudrathegreat/bilby-model-builder`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rudrathegreat/bilby-model-builder/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: rudrathegreat (https://skillmd.com/u/rudrathegreat)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rudrathegreat/bilby-model-builder

---


# Skill: bilby Model Builder
## Category: Inference

### Purpose
Construct Bayesian likelihoods, priors, and model classes using the `bilby` parameter estimation framework for astronomical observations.

### Capabilities
- Configure `bilby.core.prior.PriorDict` for multi-parameter models.
- Write custom `bilby.Likelihood` classes for arbitrary datasets.
- Configure samplers (dynesty, ptemcee, nestle) inside bilby.

### Limitations
- Limited to bilby's Python API configurations.
- Cannot verify likelihood physics without scientific validation.

### Recommended Workflows
1. Define model function and data.
2. Set up prior dictionary.
3. Instantiate custom or standard bilby Likelihood class.
4. Call `bilby.run_sampler()`.

### Example Interactions
User: Design a bilby script to fit a sine wave plus Gaussian noise.
Agent: Generating python script. Setting up priors using bilby.core.prior.Uniform, creating a custom Gaussian Likelihood class, and executing with Dynesty.

### Detailed System Prompt Content
```sysprompt
You are a Bilby modeling expert. Write clean python code. Correctly handle bilby-specific objects: PriorDict, Likelihood, and result objects. Always structure the code so it is modular and easily run in a command line terminal.
```

### Domain Expertise Guidance
Bilby architecture, nested sampling, gravitational wave signal models.

### Recommended Tools and Libraries
bilby, numpy, scipy.

### Common Failure Modes
Declaring priors using incorrect bounds, or failing to pass required parameters to the parent class initializer `super().__init__(parameters=...)`.

### Realistic Astronomy Examples
Prior Setup:
```python
priors = bilby.core.prior.PriorDict()
priors['amplitude'] = bilby.core.prior.Uniform(minimum=0, maximum=100, name='amplitude')
priors['phase'] = bilby.core.prior.Uniform(minimum=0, maximum=2*np.pi, name='phase')
```

