Use this skill when designing new cQED experiments, creating new experiment classes, defining pulse sequences, or extending the experiment library. Trigger on: "new experiment", "pulse sequence", "protocol", "Rabi", "Ramsey", "T1", "T2", "spectroscopy", "readout", "calibration", "chevron", "Fock", "tomography", "SNAP", "SPA", or any request to add a new measurement type to qubox.
ExperimentDefinition → QUA program builder → Compiled QUA → OPX+ execution → Raw results → Analysis → ExperimentResult
Read: standard_experiments.md, API_REFERENCE.md, and the most similar existing experiment in qubox/legacy/experiments/.
Legacy-style (class in qubox/legacy/experiments/):
ExperimentRunner)build_plan(), run(), analyze() — session as first __init__ argqubox/legacy/experiments/__init__.pyModern template (in ):
qubox/experiments/templates/library.pysession.exp.<category>.<name>() namingLegacyExperimentAdapter in qubox/backends/qm/runtime.py _load_adapters()play(), wait(), measure(), align()Use qua-validation skill: compile → simulate on hosted server → verify sequence matches intent → standard experiments still pass. A new experiment without simulator check is incomplete.
Update: API_REFERENCE.md, docs/CHANGELOG.md, notebook if user-facing, limitations/ if applicable.
| Category | Location |
|---|---|
| Spectroscopy | qubox/legacy/experiments/spectroscopy/ |
| Time-domain (Rabi, T1, T2) | qubox/legacy/experiments/time_domain/ |
| Readout calibration | qubox/legacy/experiments/calibration/readout/ |
| Gate calibration | qubox/legacy/experiments/calibration/gates/ |
| Cavity / Fock / storage | qubox/legacy/experiments/cavity/ |
| Tomography | qubox/legacy/experiments/tomography/ |
| SPA | qubox/legacy/experiments/spa/ |