opentrons-integration
Enables your agent to work with Opentrons lab robots. It helps write, review, and test code for liquid handling and robotic equipment setup.
What it does
This tool helps create and test programs (called 'protocols') for Opentrons lab robots. It ensures robots perform liquid handling tasks accurately.
When to use it
- ✓When creating a new protocol for an Opentrons robot.
- ✓When testing if a protocol works correctly before running it on the robot.
- ✓When adapting a protocol for a different robot model (Flex or OT-2).
Example of what to ask your AI
“Create a protocol to transfer 100 microliters of liquid from reservoir A1 to well A1 of the plate, using a Flex robot.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You provide details about the robot, labware, and liquid. The tool then generates the necessary Python code and allows simulation of the run to check for errors.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill opentrons-integrationOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/opentrons-integration/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Opentrons Integration
Overview
Create production-minded Python Protocol API v2 protocols for Opentrons Flex and OT-2. This skill covers protocol structure, hardware and deck configuration, liquid handling, runtime customization, module control, simulation, and safe deployment.
The verified baseline as of 2026-10-01 is:
opentrons==10.0.0for reproducible Flex simulation.opentrons==9.0.0for local OT-2 API 2.28 compatibility simulation.- Flex supports API levels 2.15 through 2.30 on current software.
- OT-2 supports API levels 2.0 through 2.28 on current software.
- API 2.29 and later are Flex-only at this baseline. Keep OT-2 at 2.28 or lower.
- Bundled Flex templates retain API 2.29 because step grouping is their newest required feature. API 2.30 fixes start-only meniscus aspiration.
- The 10.0.0 library reports a local maximum of 2.31, ahead of the documented robot maximum 2.30. Do not infer robot support from that constant.
Read references/sources.md for the upstream documentation used for this
snapshot. Recheck the official versioning page before targeting newer robot
software.
Safety Boundary
Opentrons protocols control physical equipment. Never treat successful Python syntax or local simulation as permission to run on a robot.
Before live execution:
- Simulate locally with the same pinned
opentronsversion used for authoring. - Import the protocol into the correct Opentrons App and require successful analysis.
- Verify robot model, software, pipettes, mounts, modules, adapters, labware definitions, deck fixtures, tip count, source volumes, dead volumes, and destination capacity.
- Review the run preview and deck map with the operator.
- Perform a slow dry run with nonhazardous liquid when geometry, custom labware, partial tip pickup, or gripper moves are new.
- Keep the emergency stop accessible and follow site-specific biosafety, chemical-safety, and contamination-control procedures.
Simulation cannot verify physical calibration, liquid properties, meniscus behavior, labware manufacturing tolerances, cap or seal removal, tubing, or all possible collisions.
Choose the Right Interface
Use this skill for Python files imported into the Opentrons App and run through the Protocol API.
- Use Protocol Designer for supported no-code workflows.
- Use PyLabRobot for a hardware-agnostic workflow spanning vendors.
- Treat the robot's HTTP API as a separate integration surface. If direct HTTP control is explicitly required, use the OpenAPI document served by the target robot and do not infer endpoints from Protocol API methods.
Required Intake
Do not write final protocol code until these facts are known:
- Robot: Flex or OT-2, plus installed robot software.
- Pipette model, volume range, channel count, and mount.
- Modules and generations; Flex Gripper or Stacker availability.
- Exact labware API load names and custom definition files, if any.
- Deck fixtures: Flex trash bin, waste chute, staging slots, or Stackers.
- Source volumes, destination volumes, dead volume, mixing needs, and liquid characteristics.
- Tip policy: contamination boundaries, reuse policy, filters, partial pickup, and total tips.
- Operator interventions, incubation timing, runtime parameters, and output files.
- Acceptance criteria: tolerated volume error, required controls, and dry-run plan.
If any physical configuration is uncertain, produce a parameterized draft and an explicit assumptions list rather than guessing.
Install and Simulate
Flex:
uv run --no-project --isolated --python 3.12 --with "opentrons==10.0.0" opentrons_simulate protocol.py
OT-2 API 2.28:
uv run --no-project --isolated --python 3.12 --with "opentrons==9.0.0" opentrons_simulate protocol.py
The 10.0.0 package rejects OT-2 protocols after the Flex/OT-2 release-line split. Always complete OT-2 analysis in the current OT-2 App.
For a dedicated Flex environment:
uv venv --python 3.12 .venv-opentrons
uv pip install --python .venv-opentrons/bin/python -r skills/opentrons-integration/requirements-flex.txt
.venv-opentrons/bin/opentrons_simulate protocol.py
Use requirements-ot2.txt instead for an OT-2 compatibility environment. On
Windows, invoke the executable from .venv-opentrons\Scripts\opentrons_simulate.exe.
Local simulation is for Python protocols; import Protocol Designer JSON files
into the appropriate Opentrons App instead.
…
FAQ
What are 'protocols'?
Protocols are the step-by-step instructions that tell lab robots what to do, like moving liquids between containers.
What is the difference between Flex and OT-2?
Flex and OT-2 are two different models of Opentrons robots, each with its own specifications and software versions that need to be considered.
What is 'simulation'?
Simulation is like a virtual test run. The tool executes the protocol on a computer to see if it works as expected, without using the actual robot.
Details
Original description by the author
Authors, reviews, migrates, simulates, and troubleshoots official Opentrons Python Protocol API v2 protocols for Flex and OT-2 robots. Use for robot-specific liquid handling, deck and labware setup, pipettes, modules, runtime parameters, liquid classes, and Opentrons App analysis. Use pylabrobot instead when one workflow must support multiple robot vendors.
Popularity
- GitHub stars
- 51k
- Ranking position
- #1922
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
dashboard-builder
Helps your agent create useful monitoring dashboards. It turns data into charts that answer important system questions.
affaan-m/ECC
dev-team
Simulates a collaborative development team where different roles respond to a problem together. It's useful for getting multiple perspectives without manually switching agents.
affaan-m/ECC
ecc-council
Has your agent convene a four-voice council for difficult decisions. It's useful when there are multiple good options and debate is needed before choosing.
affaan-m/ECC