Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Develop, extend, and contribute to Lobster AI — the multi-agent bioinformatics engine. Use when working on Lobster codebase, creating agents/services, understanding architecture, fixing bugs, adding features, or contributing to the open-source project. Trigger phrases: "add agent", "create service", "extend lobster", "contribute", "understand architecture", "how does X work in lobster", "fix bug", "add feature", "write tests", "lobster development", "agent development", "bioinformatics code"
Develop, extend, and contribute to Lobster AI — the multi-agent bioinformatics engine. Use when working on Lobster codebase, creating agents/services, understanding architecture, fixing bugs, adding features, or contributing to the open-source project. Trigger phrases: "add agent", "create service", "extend lobster", "contribute", "understand architecture", "how does X work in lobster", "fix bug", "add feature", "write tests", "lobster development", "agent development", "bioinformatics code"
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Lobster AI is a multi-agent bioinformatics platform using LangGraph for orchestration. This skill teaches you how to work with, extend, and contribute to the codebase.
TaskDocumentationArchitecture overviewreferences/architecture.mdCreating new agentsreferences/creating-agents.mdCreating new servicesreferences/creating-services.mdCode layout & finding filesreferences/code-layout.mdTesting patternsreferences/testing.mdCLI referencereferences/cli.md
ComponentRegistry is truth — Agents discovered via entry points, NOT hardcoded AGENT_CONFIG at module top — Define before heavy imports for <50ms discovery Services return 3-tuple — (AnnData, Dict, AnalysisStep) always Always pass ir — log_tool_usage(..., ir=ir) for reproducibility No lobster/__init__.py — PEP 420 namespace package
lobster/ ├── packages/ # Agent packages (PEP 420) │ ├── lobster-transcriptomics/ # transcriptomics_expert, annotation_expert, de_analysis_expert │ ├── lobster-research/ # research_agent, data_expert_agent │ ├── lobster-visualization/ # visualization_expert │ ├── lobster-metadata/ # metadata_assistant │ ├── lobster-structural-viz/ # protein_structure_visualization_expert │ ├── lobster-genomics/ # genomics_expert │ ├── lobster-proteomics/ # proteomics_expert │ └── lobster-ml/ # machine_learning_expert └── lobster/ # Core SDK ├── agents/supervisor.py # Supervisor (stays in core) ├── agents/graph.py # LangGraph builder ├── core/ # Infrastructure (registry, data_manager, provenance) ├── services/ # Analysis services └── tools/ # Agent tools
# Setup (development) make dev-install # Full dev setup with editable install make test # Run all tests make format # black + isort # Setup (end-user testing via uv tool) uv tool install 'lobster-ai[full,anthropic]' # Install as users see it uv tool upgrade lobster-ai # Upgrade to latest # Running lobster chat # Interactive mode lobster query "your request" # Single-turn # Testing pytest tests/unit/ # Fast unit tests pytest tests/integration/ # Integration tests
All services return a 3-tuple: def analyze(self, adata, **params) -> Tuple[AnnData, Dict, AnalysisStep]: # Your analysis logic stats = {"n_cells": adata.n_obs, "status": "complete"} ir = AnalysisStep( activity_type="analyze", inputs={"n_obs": adata.n_obs}, outputs=stats, params=params ) return processed_adata, stats, ir Tools wrap services: @tool def analyze_modality(modality_name: str, **params) -> str: result, stats, ir = service.analyze(adata, **params) data_manager.log_tool_usage("analyze", params, stats, ir=ir) # IR mandatory! return f"Complete: {stats}"
Agents register via pyproject.toml: [project.entry-points."lobster.agents"] my_agent = "lobster.agents.my_domain.my_agent:AGENT_CONFIG" AGENT_CONFIG must be defined at module top (before imports): # lobster/agents/mydomain/my_agent.py from lobster.config.agent_registry import AgentRegistryConfig AGENT_CONFIG = AgentRegistryConfig( name="my_agent", display_name="My Expert Agent", description="What this agent does", factory_function="lobster.agents.mydomain.my_agent.my_agent", handoff_tool_name="handoff_to_my_agent", handoff_tool_description="Assign tasks for my domain analysis", tier_requirement="free", # All official agents are free ) # Heavy imports AFTER config from lobster.core.data_manager_v2 import DataManagerV2 # ... rest of implementation
FilePurposelobster/agents/graph.pyLangGraph orchestrationlobster/core/component_registry.pyAgent discoverylobster/core/data_manager_v2.pyData/workspace managementlobster/core/provenance.pyW3C-PROV trackinglobster/cli.pyCLI implementation
Full documentation at docs.omics-os.com (or local docs-site/): Getting Started: docs/getting-started/ Core SDK: docs/core/ Agents: docs/agents/ Developer Guide: docs/developer/ API Reference: docs/api-reference/
Create package: packages/lobster-mydomain/ Define AGENT_CONFIG at top of agent file Register entry point in pyproject.toml Implement agent with tools Add tests in tests/unit/agents/ See references/creating-agents.md for full guide.
Create service class in appropriate package Implement 3-tuple return pattern Wrap in tool with log_tool_usage Add unit tests See references/creating-services.md for full guide.
User Query → CLI → LobsterClientAdapter → AgentClient ↓ LangGraph (supervisor → agents) ↓ Services → DataManagerV2 ↓ Results + Provenance
# Unit tests (fast, no external deps) pytest tests/unit/ -v # Integration tests (may need env vars) pytest tests/integration/ -v # Specific test pytest tests/unit/test_my_feature.py -v # With coverage pytest --cov=lobster tests/
Fork the repository Create feature branch: git checkout -b feature/my-feature Make changes following patterns above Run tests: make test Format code: make format Submit PR with clear description
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.