Claude Skill MartBrowse skillsWhat is a Skill?
Back to list

LabArchives Integration

A skill for safely integrating with the LabArchives ELN REST-like API and Inventory API v1, covering regional endpoints, HMAC signing, and verify-before-write workflows.

Web & APIAdvanced33,0303,248AI score 7/10Last updated: Aug 9, 2026

What it does

  • Keeps the two LabArchives surfaces separate: the legacy ELN API (notebooks, entries, attachments, XML, signed query params) and Inventory API v1 (JSON, /public/v1/... routes, X-LabArchives-* signed headers).
  • Walks through the HMAC-SHA-512 signing algorithm step by step, including the api_user_login redirect special case and Inventory's route-based signature input.
  • Ships a regional API host allowlist and warns against deriving API URLs from browser login hosts.
  • Includes network-free helper scripts that emit redacted dry-run request plans, plus a safe LA container (ZIP) inspector that never extracts content.
  • Enforces credential hygiene (env vars only, no .env loading, no logging of query strings or auth headers) and operational rules on retries, throttling, and untrusted notebook content.

Who it's for

  • Research data engineers exporting or backing up institutional LabArchives ELN data.
  • Lab managers and developers syncing reagents, inventory, orders, or vendors through the Inventory API.
  • IT and security reviewers who need a concrete checklist before approving an ELN integration.

Example uses

  1. "Validate our ELN API endpoint config" → run setup_config.py regions and check --require-user-id to confirm URL shape and required environment variables.
  2. "Plan an entries/entry_info call before I write code" → entry_operations.py eln-plan returns a redacted JSON plan you can review and approve.
  3. "Is this downloaded example_lacontainer.zip a valid LA container?" → notebook_operations.py inspect checks the manifest, bounds archive size, and rejects unsafe member paths, optionally writing a JSON report.

· · · Install guide · · ·

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download 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/labarchive-integration folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/labarchive-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/labarchive-integration ~/.claude/skills/

This is a third-party skill. Check the source repository before installing.

  1. Open a terminal and confirm Python 3.11+ and uv are installed (python3 --version, uv --version).
  2. Clone the repository: git clone https://github.com/K-Dense-AI/scientific-agent-skills.git
  3. Copy the skill into your Claude skills folder: mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/labarchive-integration ~/.claude/skills/
  4. Request an Access Key ID and Access Password from your institution's LabArchives contact (Enterprise licensing required), then export LABARCHIVES_ELN_API_URL, LABARCHIVES_ACCESS_KEY_ID, LABARCHIVES_ACCESS_PASSWORD, and optionally LABARCHIVES_USER_ID / LABARCHIVES_INVENTORY_LAB_ID. Never commit these values.
  5. From the skill directory, run uv run scripts/setup_config.py check --require-user-id to validate your setup.
  6. Restart Claude Code and ask something like "help me integrate with the LabArchives ELN API" to trigger the skill.