
Description
Plan a new calibration workflow by discussing experiment sequences, success/failure criteria, and extracted parameters with the user before any files are created. Use when the user asks to plan, design, or create a new calibration sequence, or to build a multi-step workflow for a qubit or device. Requires explicit user confirmation before writing workflow files.
SKILL.md
Workflow Planning
Create calibration workflows through discussion with the user. A workflow defines a sequence of operations with dependencies.
Before Planning
Always check memory first:
- Read
memory/workflow-preferences.mdif it exists - Look for past conventions, preferred experiment sequences, success criteria patterns
- Apply any user preferences to your proposal
Planning Process
Step 1: Understand the Goal
Ask the user:
- What is the calibration objective?
- Which qubits/targets are involved?
- Any specific constraints or requirements?
Step 2: Propose the Sequence
Based on the goal, propose a sequence of nodes. For each node, discuss:
- Experiment type - Which experiment to run
- Success criteria - How to know it worked
- Failure criteria - How to know it failed
- What to extract - Parameters to carry forward
Example discussion:
For Node 1 (Resonator Spectroscopy), I suggest:
- Success: Clear dip with depth > 3 dB
- Failure: No dip visible or multiple dips
- Extract: resonator_frequency
Does this match your expectations? Any adjustments?
Step 3: Wait for Confirmation
Do NOT create the workflow until the user confirms.
Wait for explicit confirmation like:
- "go ahead"
- "create it"
- "looks good, proceed"
- "confirmed"
If the user says "don't ask, just do it" for future workflows, note this in memory.
Step 4: Remember Corrections
If the user corrects your decisions:
- Apply the correction to the current workflow
- Update memory with the preference for future workflows
Example corrections to remember:
- "Always use SNR > 10, not SNR > 5"
- "For T1 measurements, extract t1_time in microseconds"
- "Start resonator sweeps at 5.5 GHz for this device"
Write to memory/workflow-preferences.md:
## Success Criteria Preferences
- Resonator spectroscopy: depth > 3 dB, SNR > 10
- Qubit spectroscopy: SNR > 10 (not 5)
## Parameter Conventions
- T1 times in microseconds
- Frequencies in GHz
## Device-Specific
- Resonator range: 5.5 - 6.5 GHz
Creating the Workflow
After confirmation, create the workflow files.
Storage Structure
data/workflows/
└── {workflow_id}/
├── workflow.json # DAG structure
└── plan.md # Detailed planning document
Step 1: Create Folder
mkdir -p data/workflows/{workflow_id}
Use a descriptive ID like calibrate_q0_20240315.
IMPORTANT: Always use relative paths when creating workflow files. Use data/workflows/{workflow_id}/workflow.json, NOT absolute paths like /home/.../data/workflows/.... Absolute paths will fail due to virtual filesystem mode.
Step 2: Write workflow.json
{
"id": "calibrate_q0",
"name": "Calibrate Qubit Q0",
"objective": "Full calibration sequence for Q0",
"status": "created",
"nodes": [
{
"id": "node_1",
"name": "Resonator Spectroscopy",
"dependencies": []
},
{
"id": "node_2",
"name": "Qubit Spectroscopy",
"dependencies": ["node_1"]
}
]
}
Required fields:
id: Must match folder namename: Human-readable namenodes: Array withid,name,dependencies
Status values: created, running, completed, failed
Step 3: Write plan.md
Include all discussed details:
# Calibration Plan: Calibrate Qubit Q0
## Objective
Full calibration sequence for qubit Q0.
## Node 1: Resonator Spectroscopy
**Experiment type**: ResonatorSpectroscopy
**Parameters**:
- Start frequency: 5.5 GHz
- Stop frequency: 6.5 GHz
- Number of points: 101
**Success criteria**:
- Clear dip visible
- Depth > 3 dB
- SNR > 10
**Failure criteria**:
- No dip visible
- Multiple dips (mode crossing)
**Extract**: `resonator_frequency`
---
## Node 2: Qubit Spectroscopy
**Experiment type**: QubitSpectroscopyFrequency
**Parameters**:
- Center: Use expected qubit frequency
- Span: 200 MHz
**Success criteria**:
- Single clear peak
- SNR > 10
**Failure criteria**:
- No peak visible
- Multiple peaks
**Extract**: `qubit_frequency`
Step 4: Validate (REQUIRED)
You MUST call validate after creating the workflow files:
workflow(action="validate", workflow_id="calibrate_q0")
The validation returns detailed checks:
valid: Whether the workflow is validchecks: List of individual validation checks with pass/fail statuserrors: Critical issues that must be fixedwarnings: Non-critical issues to considerworkflow_info: Summary of the workflow
If validation fails:
- Review the
errorslist - Fix each error in workflow.json
- Re-run validate until
valid: true
Do NOT consider the workflow creation complete until validation passes.
Dependencies
Nodes execute in dependency order:
node_1 ──→ node_2 ──→ node_3
│
└──→ node_4
In JSON:
{
"nodes": [
{"id": "node_1", "name": "First", "dependencies": []},
{"id": "node_2", "name": "Second", "dependencies": ["node_1"]},
{"id": "node_3", "name": "Third A", "dependencies": ["node_2"]},
{"id": "node_4", "name": "Third B", "dependencies": ["node_2"]}
]
}
Listing Workflows
workflow(action="list")
Modifying a Workflow
- Read the current
workflow.json - Edit using the Edit tool
- Re-validate (REQUIRED):
workflow(action="validate", workflow_id="your_workflow_id") - Fix any errors and re-validate until
valid: true
You MUST validate after ANY modification to workflow.json.
More skills from the Quantum-Calibration-Agent-Blueprint repository
View all 6 skillsanalysis-scripts
analyze quantum experiment data
Jul 14Data AnalysisNVIDIAPythonQuantum Computingexperiment-execution
run quantum calibration experiments
Jul 14BenchmarkingNVIDIAQuantum ComputingSimulationvlm-configuration
configure Vision Language Models
Jul 14AI InfrastructureLLMNVIDIAworkflow-execution
execute quantum calibration workflows
Jul 14AutomationNVIDIAQuantum ComputingWorkflow Automationwriting-experiment-scripts
author quantum experiment scripts
Jul 14LaboratoryNVIDIAPythonQuantum Computing
More from NVIDIA
View publishernemoclaw-user-guide
retrieve NemoClaw documentation and configuration
NemoClaw
Jul 20DocumentationMCPSearchmcore-build-and-dependency
manage Megatron-LM development environments
Megatron-LM
Jul 14ContainersDeploymentPythonmcore-bump-base-image
update NVIDIA PyTorch base images
Megatron-LM
Jul 14CI/CDDeploymentmcore-cicd
manage CI/CD pipelines for Megatron-LM
Megatron-LM
Jul 14CI/CDDeploymentGitHubmcore-create-issue
investigate CI failures and create issues
Megatron-LM
Jul 14DebuggingGitHubTriagemcore-linting-and-formatting
lint and format Megatron-LM code
Megatron-LM
Jul 14Best PracticesCode Analysis