Opentrons Protocol Integration
Authors, reviews, migrates, and simulates Opentrons Python Protocol API v2 protocols for Flex and OT-2 lab robots.
AutomationAdvanced★ 33,030⑂ 3,248AI score 8/10Last updated: Aug 9, 2026
What it does
Helps you write, review, migrate, and debug Python Protocol API v2 protocols for Opentrons liquid-handling robots (Flex and OT-2).
- Correct
requirements/metadatablocks per robot type plus an API-level gate table (2.15–2.29) - Explicit deck building: slot assignment, exact labware load names, adapters, trash bins and waste chute, modules (Thermocycler, Absorbance Plate Reader, Flex Stacker, gripper paths)
- Pipette and tip selection, plus choosing the right liquid-handling layer (
transfer,distribute,consolidate, liquid classes, dynamic mixing) - Runtime parameters (including CSV), and resource budgeting for tips, dead volume, and destination capacity
- Layered validation:
py_compile→ pinned localopentrons_simulate→ Opentrons App analysis → operator-reviewed dry run - A curated list of common failure modes (legacy pipette names, duplicated
apiLevel, API 2.29 on OT-2, deprecatedWell.load_liquid())
Six bundled template scripts (basic transfer, serial dilution, PCR setup, runtime parameters, plate reader) and seven reference documents ship with the skill.
Who it's for
- Lab scientists and automation engineers operating Opentrons Flex or OT-2
- Teams updating older protocols to current robot software
- Reviewers who need a repeatable safety and code-review checklist
Example uses
- "Write an API 2.29 Flex protocol that distributes 100 µL of buffer from a 12-channel reservoir into a 96-well plate" → generates code with valid load names and an explicit trash bin.
- "Migrate this OT-2 API 2.13 protocol to 2.28 and give me the simulation command" → applies the migration reference plus
uv run --with "opentrons==9.0.0" opentrons_simulate. - "My plate reader read fails" → diagnoses the
initialize()-before-read()sequence and other known pitfalls.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/opentrons-integration folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/opentrons-integration/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/opentrons-integration ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Install Python 3.10+ and uv for local simulation.
- Clone the repository:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill in:
cp -r scientific-agent-skills/skills/opentrons-integration ~/.claude/skills/ - Restart Claude Code and ask something like "write an Opentrons Flex protocol for a serial dilution" to trigger the skill.
- Verify simulation:
uv run --with "opentrons==9.1.1" opentrons_simulate protocol.py(useopentrons==9.0.0for OT-2). - Never run on hardware until the protocol passes analysis in the matching Opentrons App and you complete an operator-reviewed dry run.
View source on GitHub ↗License: MIT