Guide · Agent skill
How to use the LabArchives Integration agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The labarchive-integration skill is a packaged set of instructions, reference notes and small Python scripts that an AI agent can load when you work on LabArchives electronic lab notebook (ELN) or Inventory API code. It is written for developers at institutions with LabArchives Enterprise API access and for lab data managers who need to check endpoint settings or inspect a local LA container file. After this guide you will know how to install the skill, how to phrase requests that trigger it, and which safety limits apply.
Quick start
- 1Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder.
- 2Or upload it in the Claude apps. Under Settings → Capabilities → Skills, upload the ZIP instead of copying files manually.
- 3Set LABARCHIVES_* variables. Export the named environment variables in your process or secret manager. Do not place them in YAML, code or .env files.
- 4Run the configuration check. From the skill directory, run the regions command and the check command to confirm endpoint structure and variable presence.
- 5Ask for a specific task. Describe the LabArchives ELN or Inventory task, naming the region and surface, so the agent loads the skill.
- 6Review the dry-run plan. Check the redacted plan the agent produces, including target region and notebook or lab, before approving anything.
- 7Approve or stop the remote call. Give explicit approval only for remote writes you have reviewed, then have the agent verify the resulting object.
What the skill makes the agent do
Once installed, the agent knows how the two LabArchives interfaces differ. The legacy ELN API uses regional hosts, /api/<class>/<method> paths and signed query parameters. The Inventory API v1 uses relative /public/v1/ paths, JSON responses and signed X-LabArchives-* headers. The agent is told not to mix them.
The skill also tells the agent to check official method pages before writing code, to build HMAC-SHA-512 signed requests according to the documented algorithm, and to require human approval before any remote write. It can validate a LabArchives container ZIP file locally.
Install the skill
Download the ZIP from the skill's page on this directory and unzip it. For a personal install, place the skill folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder.
In the Claude apps you can instead upload the ZIP under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/labarchive-integration
- Project: .claude/skills/labarchive-integration
Set up credentials and check configuration
The skill reads only named LABARCHIVES_* environment variables and never loads .env files. Keep the Access Key ID and Access Password in the process environment or an approved secret manager, not in code, prompts, logs or committed files.
From the skill directory, run the regional list and the configuration check. The check validates endpoint structure and variable presence; it does not authenticate or print credentials.
- LABARCHIVES_ELN_API_URL: one exact regional ELN API URL ending in /api
- LABARCHIVES_ACCESS_KEY_ID and LABARCHIVES_ACCESS_PASSWORD
- LABARCHIVES_USER_ID: optional, needed for user-scoped calls
- LABARCHIVES_INVENTORY_LAB_ID: needed for lab-scoped Inventory calls
uv run scripts/setup_config.py regions
uv run scripts/setup_config.py check --require-user-idTrigger the skill with natural requests
Ask for LabArchives work in plain terms that name the product and the task. The agent should load the skill when your request mentions LabArchives ELN, the LabArchives API, the Inventory API, signed requests, a regional endpoint, or a LabArchives .zip container.
Good requests state the goal and the surface. Mention whether you need ELN or Inventory, since the two use different signing rules.
- Which regional ELN API host should my LabArchives integration use for an Australian institution?
- Write Python that builds a signed ELN request for entry_info, and show me the dry-run plan first.
- Check whether my LABARCHIVES_* settings are complete before I run the sync.
- Inspect example_lacontainer.zip and report whether its manifest references all files.
Use the local planning and inspection tools
The request planner is network-free. It prints redacted JSON plans and never sends a live request or a reusable signature. Use it to review what a call would look like before any code touches the network.
The container inspector reads a LabArchives ZIP without extracting it. It checks archive size, member count, unsafe paths and manifest references, and writes JSON only to a path you choose.
uv run scripts/entry_operations.py self-test
uv run scripts/entry_operations.py eln-plan --api-class entries --api-method entry_info
uv run scripts/entry_operations.py inventory-plan --path /public/v1/users/me
uv run scripts/notebook_operations.py inspect example_lacontainer.zip
uv run scripts/notebook_operations.py inspect example_lacontainer.zip --output container-report.jsonSafety notes: scripts and network
The skill runs Python scripts and uses the network for official documentation and remote API calls. The bundled scripts do not contact LabArchives. They only validate settings, print redacted request plans and inspect local ZIP files. The ZIP inspector is not a notebook backup tool; it reads attachment container metadata only.
The skill requires HTTPS with certificate verification on. Before any remote write, the agent must open the exact method page, produce a redacted dry run, confirm the target region and notebook or lab, and get your explicit approval. Approval gates do not stop the agent from making the remote call once you approve it, so review carefully.
- Use only the approved HTTPS endpoints; the skill rejects credentials in URLs.
- Do not treat a successful HTTP 200 as proof of success when the method documents a response body; re-read the object.
- Access credentials are issued by LabArchives and are not ordinary account passwords.
Tips for better results
Give the agent the exact official method page or path you need, so it verifies the right verb, parameters and response. Always confirm the region, since browser login hosts and API hosts are different and an API URL must never be built from a login URL.
For Inventory calls, call the users/me route first to discover an authorized Lab ID, then include that Lab ID in lab-scoped calls. Keep the Inventory numeric userId separate from the ELN UID.
- Name the surface (ELN or Inventory) in every request.
- Ask for a dry-run plan before any write.
- Keep institution-specific LabArchives development documentation available; it controls where it differs from the skill's summary.
What people use it for
- Write or review Python code that builds HMAC-signed ELN requests for a documented method.
- Confirm which regional ELN API host and environment variables an integration should use.
- Build the Inventory request headers and discover an authorized Lab ID before lab-scoped calls.
- Inspect a local LabArchives container ZIP and produce a JSON report of its metadata.
- Audit how an existing team's LabArchives request signing code compares with the documented algorithm.
Frequently asked questions
Is the labarchive-integration skill free to use?
The skill is published under the MIT licence, as stated in its SKILL.md. Using the LabArchives API itself requires access that LabArchives grants, which is an Enterprise capability for ELN developer access.
What do I need before I can use this skill with live LabArchives data?
You need Python 3.11+, uv, network access, and a LabArchives Access Key ID and Access Password. User-scoped calls also need a UID, and Inventory calls need Inventory API permission and a Lab ID.
Does the skill contact LabArchives directly?
The bundled scripts do not. They validate settings, print redacted request plans and inspect local ZIP files. The agent can make remote calls through its own code once you approve them.
Can the skill back up my notebooks?
No. The ZIP inspector reads attachment container metadata only and does not extract, upload or download content. Do not treat it as a backup tool.
Why does the agent say my region is wrong?
API hosts and browser login hosts are different. Use the allowlisted regional ELN API URL from setup_config.py regions, and never build an API URL from a browser login URL.
Where do I put my LabArchives credentials?
Store them in environment variables or an approved secret manager. The skill never reads .env files, and secrets should not appear in code, prompts, logs or command-line arguments.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you have LabArchives Enterprise API or Inventory API access and want an agent to help write or check integration code, validate endpoint settings, or inspect a local container file. Pick something else if you lack that access, or if you want an agent to change live notebook data without you reviewing each step, since the skill still performs remote calls once you approve them.
Download the skill