{
  "schemaVersion": "1.0",
  "item": {
    "slug": "lobster-bio-dev",
    "name": "LobsterBio - Dev",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/cewinharhar/lobster-bio-dev",
    "canonicalUrl": "https://clawhub.ai/cewinharhar/lobster-bio-dev",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/lobster-bio-dev",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=lobster-bio-dev",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "references/architecture.md",
      "references/cli.md",
      "references/creating-services.md",
      "references/testing.md",
      "references/code-layout.md",
      "references/creating-agents.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/lobster-bio-dev"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/lobster-bio-dev",
    "agentPageUrl": "https://openagent3.xyz/skills/lobster-bio-dev/agent",
    "manifestUrl": "https://openagent3.xyz/skills/lobster-bio-dev/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/lobster-bio-dev/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Lobster AI Development Guide",
        "body": "Lobster AI is a multi-agent bioinformatics platform using LangGraph for orchestration.\nThis skill teaches you how to work with, extend, and contribute to the codebase."
      },
      {
        "title": "Quick Navigation",
        "body": "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"
      },
      {
        "title": "Critical Rules",
        "body": "ComponentRegistry is truth — Agents discovered via entry points, NOT hardcoded\nAGENT_CONFIG at module top — Define before heavy imports for <50ms discovery\nServices return 3-tuple — (AnnData, Dict, AnalysisStep) always\nAlways pass ir — log_tool_usage(..., ir=ir) for reproducibility\nNo lobster/__init__.py — PEP 420 namespace package"
      },
      {
        "title": "Package Structure",
        "body": "lobster/\n├── packages/                    # Agent packages (PEP 420)\n│   ├── lobster-transcriptomics/ # transcriptomics_expert, annotation_expert, de_analysis_expert\n│   ├── lobster-research/        # research_agent, data_expert_agent\n│   ├── lobster-visualization/   # visualization_expert\n│   ├── lobster-metadata/        # metadata_assistant\n│   ├── lobster-structural-viz/  # protein_structure_visualization_expert\n│   ├── lobster-genomics/        # genomics_expert\n│   ├── lobster-proteomics/      # proteomics_expert\n│   └── lobster-ml/              # machine_learning_expert\n└── lobster/                     # Core SDK\n    ├── agents/supervisor.py     # Supervisor (stays in core)\n    ├── agents/graph.py          # LangGraph builder\n    ├── core/                    # Infrastructure (registry, data_manager, provenance)\n    ├── services/                # Analysis services\n    └── tools/                   # Agent tools"
      },
      {
        "title": "Quick Commands",
        "body": "# Setup (development)\nmake dev-install              # Full dev setup with editable install\nmake test                     # Run all tests\nmake format                   # black + isort\n\n# Setup (end-user testing via uv tool)\nuv tool install 'lobster-ai[full,anthropic]'   # Install as users see it\nuv tool upgrade lobster-ai                      # Upgrade to latest\n\n# Running\nlobster chat                  # Interactive mode\nlobster query \"your request\"  # Single-turn\n\n# Testing\npytest tests/unit/            # Fast unit tests\npytest tests/integration/     # Integration tests"
      },
      {
        "title": "Service Pattern (Essential)",
        "body": "All services return a 3-tuple:\n\ndef analyze(self, adata, **params) -> Tuple[AnnData, Dict, AnalysisStep]:\n    # Your analysis logic\n    stats = {\"n_cells\": adata.n_obs, \"status\": \"complete\"}\n    ir = AnalysisStep(\n        activity_type=\"analyze\",\n        inputs={\"n_obs\": adata.n_obs},\n        outputs=stats,\n        params=params\n    )\n    return processed_adata, stats, ir\n\nTools wrap services:\n\n@tool\ndef analyze_modality(modality_name: str, **params) -> str:\n    result, stats, ir = service.analyze(adata, **params)\n    data_manager.log_tool_usage(\"analyze\", params, stats, ir=ir)  # IR mandatory!\n    return f\"Complete: {stats}\""
      },
      {
        "title": "Agent Registration (Entry Points)",
        "body": "Agents register via pyproject.toml:\n\n[project.entry-points.\"lobster.agents\"]\nmy_agent = \"lobster.agents.my_domain.my_agent:AGENT_CONFIG\"\n\nAGENT_CONFIG must be defined at module top (before imports):\n\n# lobster/agents/mydomain/my_agent.py\nfrom lobster.config.agent_registry import AgentRegistryConfig\n\nAGENT_CONFIG = AgentRegistryConfig(\n    name=\"my_agent\",\n    display_name=\"My Expert Agent\",\n    description=\"What this agent does\",\n    factory_function=\"lobster.agents.mydomain.my_agent.my_agent\",\n    handoff_tool_name=\"handoff_to_my_agent\",\n    handoff_tool_description=\"Assign tasks for my domain analysis\",\n    tier_requirement=\"free\",  # All official agents are free\n)\n\n# Heavy imports AFTER config\nfrom lobster.core.data_manager_v2 import DataManagerV2\n# ... rest of implementation"
      },
      {
        "title": "Key Files",
        "body": "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"
      },
      {
        "title": "Online Documentation",
        "body": "Full documentation at docs.omics-os.com (or local docs-site/):\n\nGetting Started: docs/getting-started/\nCore SDK: docs/core/\nAgents: docs/agents/\nDeveloper Guide: docs/developer/\nAPI Reference: docs/api-reference/"
      },
      {
        "title": "Adding a New Agent",
        "body": "Create package: packages/lobster-mydomain/\nDefine AGENT_CONFIG at top of agent file\nRegister entry point in pyproject.toml\nImplement agent with tools\nAdd tests in tests/unit/agents/\n\nSee references/creating-agents.md for full guide."
      },
      {
        "title": "Adding a New Service",
        "body": "Create service class in appropriate package\nImplement 3-tuple return pattern\nWrap in tool with log_tool_usage\nAdd unit tests\n\nSee references/creating-services.md for full guide."
      },
      {
        "title": "Understanding Data Flow",
        "body": "User Query → CLI → LobsterClientAdapter → AgentClient\n                                              ↓\n                            LangGraph (supervisor → agents)\n                                              ↓\n                               Services → DataManagerV2\n                                              ↓\n                                    Results + Provenance"
      },
      {
        "title": "Testing",
        "body": "# Unit tests (fast, no external deps)\npytest tests/unit/ -v\n\n# Integration tests (may need env vars)\npytest tests/integration/ -v\n\n# Specific test\npytest tests/unit/test_my_feature.py -v\n\n# With coverage\npytest --cov=lobster tests/"
      },
      {
        "title": "Contributing",
        "body": "Fork the repository\nCreate feature branch: git checkout -b feature/my-feature\nMake changes following patterns above\nRun tests: make test\nFormat code: make format\nSubmit PR with clear description"
      }
    ],
    "body": "Lobster AI Development Guide\n\nLobster 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.\n\nQuick Navigation\nTask\tDocumentation\nArchitecture overview\treferences/architecture.md\nCreating new agents\treferences/creating-agents.md\nCreating new services\treferences/creating-services.md\nCode layout & finding files\treferences/code-layout.md\nTesting patterns\treferences/testing.md\nCLI reference\treferences/cli.md\nCritical Rules\nComponentRegistry is truth — Agents discovered via entry points, NOT hardcoded\nAGENT_CONFIG at module top — Define before heavy imports for <50ms discovery\nServices return 3-tuple — (AnnData, Dict, AnalysisStep) always\nAlways pass ir — log_tool_usage(..., ir=ir) for reproducibility\nNo lobster/__init__.py — PEP 420 namespace package\nPackage Structure\nlobster/\n├── packages/                    # Agent packages (PEP 420)\n│   ├── lobster-transcriptomics/ # transcriptomics_expert, annotation_expert, de_analysis_expert\n│   ├── lobster-research/        # research_agent, data_expert_agent\n│   ├── lobster-visualization/   # visualization_expert\n│   ├── lobster-metadata/        # metadata_assistant\n│   ├── lobster-structural-viz/  # protein_structure_visualization_expert\n│   ├── lobster-genomics/        # genomics_expert\n│   ├── lobster-proteomics/      # proteomics_expert\n│   └── lobster-ml/              # machine_learning_expert\n└── lobster/                     # Core SDK\n    ├── agents/supervisor.py     # Supervisor (stays in core)\n    ├── agents/graph.py          # LangGraph builder\n    ├── core/                    # Infrastructure (registry, data_manager, provenance)\n    ├── services/                # Analysis services\n    └── tools/                   # Agent tools\n\nQuick Commands\n# Setup (development)\nmake dev-install              # Full dev setup with editable install\nmake test                     # Run all tests\nmake format                   # black + isort\n\n# Setup (end-user testing via uv tool)\nuv tool install 'lobster-ai[full,anthropic]'   # Install as users see it\nuv tool upgrade lobster-ai                      # Upgrade to latest\n\n# Running\nlobster chat                  # Interactive mode\nlobster query \"your request\"  # Single-turn\n\n# Testing\npytest tests/unit/            # Fast unit tests\npytest tests/integration/     # Integration tests\n\nService Pattern (Essential)\n\nAll services return a 3-tuple:\n\ndef analyze(self, adata, **params) -> Tuple[AnnData, Dict, AnalysisStep]:\n    # Your analysis logic\n    stats = {\"n_cells\": adata.n_obs, \"status\": \"complete\"}\n    ir = AnalysisStep(\n        activity_type=\"analyze\",\n        inputs={\"n_obs\": adata.n_obs},\n        outputs=stats,\n        params=params\n    )\n    return processed_adata, stats, ir\n\n\nTools wrap services:\n\n@tool\ndef analyze_modality(modality_name: str, **params) -> str:\n    result, stats, ir = service.analyze(adata, **params)\n    data_manager.log_tool_usage(\"analyze\", params, stats, ir=ir)  # IR mandatory!\n    return f\"Complete: {stats}\"\n\nAgent Registration (Entry Points)\n\nAgents register via pyproject.toml:\n\n[project.entry-points.\"lobster.agents\"]\nmy_agent = \"lobster.agents.my_domain.my_agent:AGENT_CONFIG\"\n\n\nAGENT_CONFIG must be defined at module top (before imports):\n\n# lobster/agents/mydomain/my_agent.py\nfrom lobster.config.agent_registry import AgentRegistryConfig\n\nAGENT_CONFIG = AgentRegistryConfig(\n    name=\"my_agent\",\n    display_name=\"My Expert Agent\",\n    description=\"What this agent does\",\n    factory_function=\"lobster.agents.mydomain.my_agent.my_agent\",\n    handoff_tool_name=\"handoff_to_my_agent\",\n    handoff_tool_description=\"Assign tasks for my domain analysis\",\n    tier_requirement=\"free\",  # All official agents are free\n)\n\n# Heavy imports AFTER config\nfrom lobster.core.data_manager_v2 import DataManagerV2\n# ... rest of implementation\n\nKey Files\nFile\tPurpose\nlobster/agents/graph.py\tLangGraph orchestration\nlobster/core/component_registry.py\tAgent discovery\nlobster/core/data_manager_v2.py\tData/workspace management\nlobster/core/provenance.py\tW3C-PROV tracking\nlobster/cli.py\tCLI implementation\nOnline Documentation\n\nFull documentation at docs.omics-os.com (or local docs-site/):\n\nGetting Started: docs/getting-started/\nCore SDK: docs/core/\nAgents: docs/agents/\nDeveloper Guide: docs/developer/\nAPI Reference: docs/api-reference/\nCommon Tasks\nAdding a New Agent\nCreate package: packages/lobster-mydomain/\nDefine AGENT_CONFIG at top of agent file\nRegister entry point in pyproject.toml\nImplement agent with tools\nAdd tests in tests/unit/agents/\n\nSee references/creating-agents.md for full guide.\n\nAdding a New Service\nCreate service class in appropriate package\nImplement 3-tuple return pattern\nWrap in tool with log_tool_usage\nAdd unit tests\n\nSee references/creating-services.md for full guide.\n\nUnderstanding Data Flow\nUser Query → CLI → LobsterClientAdapter → AgentClient\n                                              ↓\n                            LangGraph (supervisor → agents)\n                                              ↓\n                               Services → DataManagerV2\n                                              ↓\n                                    Results + Provenance\n\nTesting\n# Unit tests (fast, no external deps)\npytest tests/unit/ -v\n\n# Integration tests (may need env vars)\npytest tests/integration/ -v\n\n# Specific test\npytest tests/unit/test_my_feature.py -v\n\n# With coverage\npytest --cov=lobster tests/\n\nContributing\nFork the repository\nCreate feature branch: git checkout -b feature/my-feature\nMake changes following patterns above\nRun tests: make test\nFormat code: make format\nSubmit PR with clear description"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/cewinharhar/lobster-bio-dev",
    "publisherUrl": "https://clawhub.ai/cewinharhar/lobster-bio-dev",
    "owner": "cewinharhar",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/lobster-bio-dev",
    "downloadUrl": "https://openagent3.xyz/downloads/lobster-bio-dev",
    "agentUrl": "https://openagent3.xyz/skills/lobster-bio-dev/agent",
    "manifestUrl": "https://openagent3.xyz/skills/lobster-bio-dev/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/lobster-bio-dev/agent.md"
  }
}