Skills Agentes

Pylabrobot

Desarrolla y revisa recursos de automatización de laboratorio, planes de manejo de líquidos y simulaciones offline con PyLabRobot, manteniendo la ejecución física detrás de una puerta de seguridad del operador.

Solicitaread write edit bash
Estrellas
34.8k

en todo el repo

Actividad
59

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
4

últimos 90 días

Contexto
2.4k tok

62 tok en reposo

Paquete
15 archivos

106 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add K-Dense-AI/scientific-agent-skills --skill pylabrobot --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Desarrolla y revisa recursos, planes de manejo de líquidos y simulaciones offline de PyLabRobot para automatización de laboratorio
  • Valida manifiestos de protocolo, geometría del deck y transferencias con CLIs locales antes de tocar hardware
  • Genera planes de simulación y ejecuta el backend chatterbox software-only para probar protocolos sin conectar equipos
  • Exige una puerta de seguridad explícita del operador antes de cualquier ejecución física en hardware real
  • Documenta los backends soportados (STARBackend, VantageBackend, EVOBackend, OpentronsOT2Backend) y sus nombres de API actuales

Úsalo cuando

  • El usuario trabaja con protocolos o preguntas de API de PyLabRobot
  • Necesita validar un manifiesto de protocolo, la geometría del deck o un plan de transferencias sin conectar hardware
  • Quiere simular un flujo de manejo de líquidos con el backend chatterbox antes de una ejecución real
  • Va a ejecutar algo en un dispositivo físico y necesita la lista de verificación de seguridad del operador

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Valida este manifiesto de protocolo de PyLabRobot
    • Simula una transferencia de líquidos con el backend chatterbox
    • Revisa la geometría del deck antes de correr el protocolo
    • Qué backend uso para un Hamilton STAR con PyLabRobot

    SKILL.md

    En inglés

    PyLabRobot

    Use PyLabRobot's hardware-agnostic frontends, resource tree, trackers, and device-specific backends to develop laboratory automation. Default to local manifest validation, bookkeeping, and the software-only chatterbox backend.

    Verified snapshot

    • PyPI stable: PyLabRobot==0.2.1, released 2026-03-23.
    • Upstream requirement: Python >=3.9. This skill uses Python 3.11 for its reproducible smoke tests.
    • /stable/ documentation identifies itself as 0.2.1. /dev/ and repository main describe unreleased work and must not be assumed available in 0.2.1.
    • Stable liquid-handler backends include STARBackend, VantageBackend, EVOBackend, OpentronsOT2Backend, and the offline LiquidHandlerChatterboxBackend.
    • PyLabRobot's GitHub Releases page has no 0.2.x software release entry; use the PyPI history, v0.2.1 tag, and changelog as release evidence.

    Non-negotiable hardware boundary

    Never connect to, initialize, home, move, heat, shake, spin, pump, open/close, or otherwise command physical equipment automatically. Do not turn a simulation plan into a live backend merely by changing an environment variable, config value, or import.

    Before any separately authorized live run, require a trained human to:

    1. Explicitly confirm the exact backend, device identity, firmware, transport, deck, and protocol revision.
    2. Reconcile the physical deck against the resource tree, including carriers, adapters, lids, plates, tip racks, waste, labware orientation, barcodes, and every occupied coordinate.
    3. Verify calibration, teaching, motion envelopes, collision risks, gripper or channel clearances, and all aspiration/dispense coordinates.
    4. Review source identity and actual fill volume, dead volume, destination capacity, tip type/capacity/filter compatibility, channel mapping, units, heights, rates, liquid class, blowout/mixing, and contamination boundaries.
    5. Confirm guards, doors, waste capacity, containment, emergency stop readiness, PPE, biosafety/chemical controls, and a safe abort/recovery procedure.
    6. Approve a slow dry run or nonhazardous commissioning run when anything is new or changed.

    Tracker state is bookkeeping, not sensing. It cannot prove that liquid or a tip is physically present. The Visualizer renders resource/tracker events; it does not model physics. Chatterbox prints planned operations; it does not prove calibration, reachability, collision freedom, liquid behavior, or device state.

    Required intake

    Do not guess any of these:

    • Exact device model, installed options, firmware, computer/OS, and transport.
    • Stable PyLabRobot version and required extras.
    • Deck/deck origin, carriers, adapters, resource definitions, dimensions, coordinates, orientations, and motion clearances.
    • Plate/tube/reservoir capacities and dead volumes; initial physical volumes.
    • Tip model, filter, fitting, capacity, rack state, channel count, and channel mapping.
    • Transfer units (uL, mm, uL/s, s), heights, rates, mixing, air gaps, blowout, liquid properties, and validated vendor liquid class.
    • Contamination policy, controls, waste handling, operator interventions, acceptance criteria, and recovery procedure.

    If information is missing, produce an assumptions/blockers list and an offline draft only.

    Reproducible install

    For offline API inspection and chatterbox simulation:

    uv venv --python 3.11 .venv-pylabrobot
    uv pip install --python .venv-pylabrobot/bin/python "PyLabRobot==0.2.1"
    

    On Windows, use .venv-pylabrobot\Scripts\python.exe. Do not install hardware extras until the user names the device and explicitly approves its transport dependencies. Then inspect the matching stable device page before considering a pin such as "PyLabRobot[serial]==0.2.1" or "PyLabRobot[usb]==0.2.1".

    Offline-first workflow

    Run from the repository root. Every bundled CLI uses strict, bounded UTF-8 JSON/CSV, local non-symlink paths, fixed allowlists, and JSON output. None can select a live backend.

    python3 skills/pylabrobot/scripts/validate_manifest.py \
      --input tests/pylabrobot/fixtures/protocol_manifest.json
    
    python3 skills/pylabrobot/scripts/check_deck_geometry.py \
      --input tests/pylabrobot/fixtures/protocol_manifest.json
    
    python3 skills/pylabrobot/scripts/plan_transfers.py \
      --manifest tests/pylabrobot/fixtures/protocol_manifest.json \
      --transfers tests/pylabrobot/fixtures/transfers.csv
    
    python3 skills/pylabrobot/scripts/generate_simulation_plan.py \
      --manifest tests/pylabrobot/fixtures/protocol_manifest.json \
      --transfers tests/pylabrobot/fixtures/transfers.csv
    
    python3 skills/pylabrobot/scripts/inspect_backends.py \
      --expected-version 0.2.1 --strict
    

    The geometry checker uses conservative static axis-aligned boxes; it is not a motion planner. The transfer planner requires one new tip per row and checks source/dead/destination volumes, tip capacity, wells, channels, heights, rates, units, and allowlists. Review assets/protocol-manifest.schema.json and the synthetic fixtures before making a project-specific manifest.

    Verified software-only example

    The exact backend below is software-only. Do not substitute a hardware backend.

    from pylabrobot.liquid_handling import LiquidHandler
    from pylabrobot.liquid_handling.backends import LiquidHandlerChatterboxBackend
    from pylabrobot.resources import (
        Cor_96_wellplate_360ul_Fb,
        PLT_CAR_L5AC_A00,
        TIP_CAR_480_A00,
        hamilton_96_tiprack_1000uL_filter,
        set_tip_tracking,
        set_volume_tracking,
    )
    from pylabrobot.resources.hamilton import STARLetDeck
    
    set_tip_tracking(True)
    set_volume_tracking(True)
    
    deck = STARLetDeck()
    tip_carrier = TIP_CAR_480_A00(name="tip_carrier")
    tips = hamilton_96_tiprack_1000uL_filter(name="tips")
    tip_carrier[0] = tips
    plate_carrier = PLT_CAR_L5AC_A00(name="plate_carrier")
    source = Cor_96_wellplate_360ul_Fb(name="source")
    destination = Cor_96_wellplate_360ul_Fb(name="destination")
    plate_carrier[0] = source
    plate_carrier[1] = destination
    deck.assign_child_resource(tip_carrier, rails=3)
    deck.assign_child_resource(plate_carrier, rails=15)
    source.get_well("A1").tracker.set_volume(100.0)  # planned state, not sensing
    
    lh = LiquidHandler(backend=LiquidHandlerChatterboxBackend(), deck=deck)
    await lh.setup()  # safe here only because the backend above is software-only
    try:
        await lh.pick_up_tips(tips["A1"])
        await lh.aspirate(source["A1"], vols=[10.0])
        await lh.dispense(destination["A1"], vols=[10.0])
        await lh.return_tips()
    finally:
        await lh.stop()
    

    API rules that prevent stale code

    • Current names are STARBackend, VantageBackend, EVOBackend, and OpentronsOT2Backend; do not use stale STAR, TecanBackend, OpentronsBackend, or ChatterboxBackend imports.
    • Use LiquidHandlerChatterboxBackend for generic offline liquid-handler testing. ChatterBoxBackend is a separate legacy-named export; do not conflate the two.
    • Visualizer(resource=...) is valid, followed by await vis.setup() and await vis.stop(); it starts localhost HTTP/WebSocket servers and may open a browser.
    • There is no generic from pylabrobot.liquid_handling import LiquidClass in 0.2.1. Stable liquid classes are vendor-specific, for example pylabrobot.liquid_handling.liquid_classes.hamilton.HamiltonLiquidClass.
    • Most frontend methods are async. Backend kwargs and capabilities are vendor/model specific; a shared frontend does not imply identical behavior.

    References

    • Liquid handling — operations, tips, tracking, liquid classes, units, and validation.
    • Resources — decks, coordinates, plates, tip racks, collisions, state, and serialization.
    • Hardware backends — verified names, support levels, capabilities, and live-run gate.
    • Analytical equipment — plate readers and scales.
    • Material handling — pumps, heaters, shakers, temperature control, storage, and centrifuges.
    • Visualization — chatterbox, Visualizer, localhost services, and simulation limits.

    Dated upstream sources

    Checked 2026-07-23:

    Reproducido de K-Dense-AI/scientific-agent-skills bajo licencia MIT. Leer esta página en markdown.

    Archivos

    15 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Verificado con PyLabRobot 0.2.1 en Python 3.9+; las CLIs de planificación solo necesitan Python 3.11+ sin red, y los dispositivos físicos requieren extras, calibración y aprobación de un operador entrenado.

    Necesita en el PATH:python3

    Detalles

    Creador
    K-Dense-AI
    Categoría
    Automatización
    Licencia
    MIT
    Recursos incluidos
    scripts en python + referencias
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de K-Dense-AI/scientific-agent-skills

    Este repo incluye 163 skills. Si instalas uno, normalmente ya tienes los demás.

    Gestión integral de citas académicas: busca en OpenAlex, PubMed y Google Scholar, extrae metadatos precisos, valida citas y genera entradas BibTeX correctamente formateadas.

    Costo de contexto al activarse
    3.7k tok
    Tamaño del paquete
    21 archivos
    Última actualización
    hace 28 días
    investigacion

    Realiza revisiones bibliográficas sistemáticas y completas usando varias bases académicas (PubMed, arXiv, bioRxiv, Semantic Scholar). Genera markdown y PDF con citas verificadas en varios estilos (APA, Nature, Vancouver).

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    12 archivos
    Última actualización
    hace 15 días
    investigacion

    Crea decks de diapositivas y presentaciones para charlas de investigación: PowerPoint, presentaciones de conferencia, seminarios, defensas de tesis. Da estructura, plantillas, guía de tiempos y validación visual.

    Costo de contexto al activarse
    5.1k tok
    Tamaño del paquete
    24 archivos
    Última actualización
    hace 15 días
    documentos

    Crea infografías profesionales con Nano Banana Pro AI y refinamiento iterativo inteligente. Usa Gemini 3.6 Flash para revisar la calidad e integra investigación con Perplexity Sonar. Soporta 10 tipos, 8 estilos y paletas para daltonismo.

    Costo de contexto al activarse
    2.7k tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 15 días
    diseno ui

    Crea pósteres de investigación profesionales en LaTeX con beamerposter, tikzposter o baposter, para conferencias y comunicación científica: layout, colores, columnas múltiples e integración de figuras.

    Costo de contexto al activarse
    3.9k tok
    Tamaño del paquete
    17 archivos
    Última actualización
    hace 15 días
    documentos

    Crea diagramas científicos de calidad de publicación con la IA Nano Banana 2 y refinamiento iterativo inteligente. Gemini 3.6 Flash revisa la calidad y solo regenera si está por debajo del umbral de tu tipo de documento.

    Costo de contexto al activarse
    4.1k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 15 días
    diseno ui

    Skills relacionados

    Arbor

    34.8k

    Mejora de forma autónoma un artefacto real (código, receta de entrenamiento, harness de agentes, pipeline de datos, prompt) frente a un objetivo y un evaluador, usando Hypothesis Tree Refinement (HTR) del paper Arbor.

    Costo de contexto al activarse
    3.4k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 28 días
    automatizacion

    Observa la pantalla del usuario vía screenpipe, detecta flujos de trabajo repetidos, los compara con las skills existentes y redacta nuevas skills o recetas de composición para los patrones aún no cubiertos.

    Costo de contexto al activarse
    3k tok
    Tamaño del paquete
    15 archivos
    Última actualización
    el mes pasado
    automatizacion

    Construye, ejecuta y depura pipelines Nextflow y workflows nf-core de extremo a extremo: módulos DSL2, samplesheets, contenedores, ejecutores HPC/nube y runs con -resume, incluyendo pipelines como nf-core/rnaseq o nf-core/sarek.

    Costo de contexto al activarse
    3.1k tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 28 días
    automatizacion