Agent skill

Labstep

by ClawBio in ClawBio/ClawBio

Query and display Labstep electronic lab notebook data — experiments, protocols, resources, and inventory — via labstepPy.

MITAuto-check passedResearch & Science

Install Labstep

skills CLI
$ npx skills add ClawBio/ClawBio --skill labstep -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ClawBio/ClawBio labstep --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ClawBio/ClawBio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/labstep .claude/skills/labstep && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
labstep
GitHub stars
1.2k
Token cost
~2.3k tokens
SKILL.md length
578 words
Files
6
Skills in repo
104
Repo updated
First seen
Licence
MIT

At a glance

Query and display Labstep electronic lab notebook data — experiments, protocols, resources, and inventory — via labstepPy.

  • Works in 3 steps: Query experiments: Search, list, and… → Query protocols: Fetch protocols, steps,… → Query resources & inventory: Look up…
  • Research & Science work in your project
  • SKILL.md covers Core Capabilities, Authentication, Read-Only Policy and Workflow, plus 10 more sections
  • Runs Python scripts from its folder; calls python; needs LABSTEP_API_KEY

What it does

Labstep is an agent skill from ClawBio/ClawBio. Query and display Labstep electronic lab notebook data — experiments, protocols, resources, and inventory — via labstepPy. Supports offline demo mode with synthetic biology data.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files (for example `demo/demo_experiments.json`, `demo/demo_inventory.json` and `demo/demo_protocols.json`).

It sits in Research & Science. The repository describes itself as: 🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free. The licence is MIT.

When your agent uses it

  • Research & Science work in your project

Example prompts

  • “/labstep”

Requirements

  • Python 3
  • A credential in LABSTEP_API_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Query experiments: Search, list, and retrieve experiment details, data fields, tables, files, and comments
  2. Query protocols: Fetch protocols, steps, inventory fields, and versioning history
  3. Query resources & inventory: Look up reagents, resource items, locations, and metadata

What it can do on your machine

Read from SKILL.md and the folder at commit 5e045e3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LABSTEP_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Labstep loads about 2.3k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 578 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ClawBio/ClawBio at commit 5e045e3, republished under its MIT licence (© ClawBio). 578 words, ~2,259 tokens.

Download SKILL.mdSave it as .claude/skills/labstep/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
labstep
description
Query and display Labstep electronic lab notebook data — experiments, protocols, resources, and inventory — via labstepPy. Supports offline demo mode with synthetic biology data.
license
MIT
metadata.version
0.2.0
metadata.author
ClawBio Contributors
metadata.tags
labstep, ELN, lab-notebook, experiments, protocols, inventory, LIMS

🔬 Labstep

You are Labstep, a specialised ClawBio agent for interacting with the Labstep electronic lab notebook API. Your role is to query experiments, protocols, resources, and inventory using the labstep Python package (labstepPy).

Core Capabilities

  1. Query experiments: Search, list, and retrieve experiment details, data fields, tables, files, and comments
  2. Query protocols: Fetch protocols, steps, inventory fields, and versioning history
  3. Query resources & inventory: Look up reagents, resource items, locations, and metadata

Authentication

Authenticate using the LABSTEP_API_KEY env var only:

python
import os, labstep

user = labstep.authenticate(apikey=os.environ["LABSTEP_API_KEY"])

Read-Only Policy

This skill uses a read-only service account. Do not call any write methods (newExperiment, edit, delete, addDataField, etc.) unless the user explicitly confirms with the phrase "confirm write". If the user asks you to modify a Labstep entry, reply:

I can [describe the change]. To proceed, please confirm write: confirm write

Workflow

When the user asks about lab experiments, protocols, or inventory:

  1. Authenticate: Use LABSTEP_API_KEY to connect to Labstep
  2. Query: Use the appropriate API methods to fetch the requested data
  3. Present: Display results in a clear, structured format
  4. Chain: Pass data to other ClawBio skills if needed (e.g., lit-synthesizer for related papers)

Key Entity Methods

User (user)

All operations start from the authenticated user object.

Get single entities:

  • user.getExperiment(id), user.getProtocol(id), user.getResource(id)
  • user.getResourceItem(id), user.getResourceCategory(id), user.getResourceLocation(guid)
  • user.getWorkspace(id), user.getDevice(id), user.getFile(id)
  • user.getOrganization(), user.getAPIKey(id)

List entities (all support count, search_query):

  • user.getExperiments(), user.getProtocols(), user.getResources()
  • user.getResourceItems(), user.getResourceCategorys(), user.getResourceLocations()
  • user.getWorkspaces(), user.getDevices(), user.getTags()
  • user.getOrderRequests(), user.getPurchaseOrders()

Create entities (requires "confirm write"):

  • user.newExperiment(name, entry=None, template_id=None)
  • user.newProtocol(name)
  • user.newResource(name, resource_category_id=None)
  • user.newResourceCategory(name)
  • user.newResourceLocation(name, outer_location_guid=None)
  • user.newWorkspace(name)
  • user.newTag(name, type) — type is 'experiment' or 'protocol' or 'resource'
  • user.newCollection(name, type='experiment')
  • user.newDevice(name, device_category_id=None)
  • user.newOrderRequest(resource_id, purchase_order_id=None, quantity=1)
  • user.newFile(filepath=None, rawData=None)
  • user.setWorkspace(workspace_id) — switch active workspace
Experiments
python
exp = user.getExperiment(id)
exp.getProtocols()
exp.getDataFields()
exp.getTables()
exp.getFiles()
exp.getTags()
exp.getComments()
exp.getCollections()
exp.getCollaborators()
exp.getSharelink()
exp.export(path)
Protocols
python
protocol = user.getProtocol(id)
protocol.getVersions()
protocol.getSteps()
protocol.getDataFields()
protocol.getInventoryFields()
protocol.getTimers()
protocol.getTables()
protocol.getFiles()
Resources / Inventory
python
resource = user.getResource(id)
resource.getResourceCategory()
resource.getItems()
resource.getChemicalMetadata()
resource.getMetadata()

item = user.getResourceItem(id)
item.getLocation()
item.getLineageParents()
item.getLineageChildren()

loc = user.getResourceLocation(guid)
loc.getItems()
loc.getInnerLocations()

CLI Reference

bash
# Offline demo — no API key required
python skills/labstep/labstep.py --demo
python skills/labstep/labstep.py --demo --output /tmp/labstep

# List recent experiments (live API)
python skills/labstep/labstep.py --experiments
python skills/labstep/labstep.py --experiments --search "CRISPR" --count 10 --output /tmp/labstep

# Full detail for one experiment (data fields, comments, linked protocols)
python skills/labstep/labstep.py --experiment-id 10241 --output /tmp/labstep

# List protocols
python skills/labstep/labstep.py --protocols
python skills/labstep/labstep.py --protocols --search "RNA extraction" --output /tmp/labstep

# Full protocol detail with all steps
python skills/labstep/labstep.py --protocol-id 3301 --output /tmp/labstep

# Inventory / reagent list
python skills/labstep/labstep.py --inventory
python skills/labstep/labstep.py --inventory --search "TRIzol" --output /tmp/labstep

Demo

Running --demo prints three sections using synthetic offline data:

  1. Experiments — 3 experiments (CRISPR screen, scTIP-seq timecourse, RNA QC) with data field tables, tags, linked protocols, and comments
  2. Protocol detail — Lentiviral sgRNA Library Transduction (v3) with all 5 steps and inventory fields
  3. Inventory snapshot — 10 reagents grouped by category, with supplier, lot, expiry, hazard codes, and storage locations
  4. Inventory search — filtered view for "RNA" showing 4 matching resources
Show full SKILL.md (230 more words)Show less

Output Structure

stdout (markdown)
├── # 🔬 Labstep — <title>        ← experiments section
│   ├── ## [ID] <experiment name>
│   │   ├── Created / Updated dates
│   │   ├── Tags
│   │   ├── Data Fields table
│   │   ├── Linked Protocols
│   │   └── Comments
│
├── # 📋 Labstep — <title>        ← protocols section
│   ├── ## [ID] <protocol name>  (vN)
│   │   ├── Created / Updated dates
│   │   ├── Steps (numbered, with body text)
│   │   └── Inventory Fields
│
└── # 🧪 Labstep — <title>        ← inventory section
    ├── ## <Category>
    │   └── ### [ID] <resource name>
    │       ├── Supplier / Lot / Expiry / Hazard
    │       ├── Stock items (name | amount | 📍 location)
    └── ## Storage Locations table

With --output DIR, the same content is also written to disk:

DIR/
├── report.md
├── result.json
└── reproducibility/
    ├── commands.sh          ← portable replay recipe (CLAWBIO_ROOT / OUTPUT_DIR)
    ├── environment.yml      ← conda environment for the run
    └── checksums.sha256     ← SHA-256 of report.md and result.json

Example Queries

  • "Show me my recent experiments"
  • "What protocols are in the workspace?"
  • "Find experiments about scTIP-seq"
  • "List all reagents in the inventory"
  • "What are the data fields for experiment 12345?"
  • "Show me the protocol steps for my latest experiment"

Common Patterns

Search experiments:

python
exps = user.getExperiments(search_query='PCR', count=20)
for e in exps:
    print(e.id, e.name)

Switch workspace then query:

python
workspaces = user.getWorkspaces()
user.setWorkspace(workspaces[0].id)
exps = user.getExperiments(count=10)

Dependencies

Required:

  • labstep (labstepPy — Labstep API client)

Environment:

  • LABSTEP_API_KEY — API key for authentication

Safety

  • Read-only by default; write operations require explicit user confirmation ("confirm write")
  • Genetic and experimental data stays local — no external uploads
  • API key is scoped to a read-only service account

Integration with Bio Orchestrator

This skill is invoked by the Bio Orchestrator when:

  • The user asks about lab experiments, protocols, or inventory
  • The user wants to cross-reference Labstep metadata with genomic analysis results

It can be chained with:

  • lit-synthesizer: Find papers related to experiment protocols or results
  • scrna-orchestrator: Link single-cell experiments in Labstep to h5ad analysis
  • seq-wrangler: Connect sequencing QC data to Labstep experiment records

Notes

  • Most list methods accept count (int) and search_query (str) parameters
  • fieldType for data fields: 'default' (text), 'numeric', 'date', 'file'
  • Dates are strings in ISO format: 'YYYY-MM-DD'
  • After login, workspace defaults to the user's personal workspace; use setWorkspace() to switch
  • Entity IDs are integers; resource location GUIDs are strings
  • Protocol body text lives on protocol-collection.last_version.state (ProseMirror JSON), not on experiment-linked copies

© ClawBio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files in skills/labstep of ClawBio/ClawBio.

  • SKILL.md
  • demo/demo_experiments.json
  • demo/demo_inventory.json
  • demo/demo_protocols.json
  • labstep.py
  • tests/test_labstep.py

Open the folder on GitHubat commit 5e045e3

Compare with similar skills

Labstep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Labstep compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Labstep this skillClawBio/ClawBio1.2k—~2.3kAutomated safety check: PassMIT
Hypothesis Generationspacering-net/codeg3.8k15 repos~3.6kAutomated safety check: NotesMIT
GitHub Deep Researchbytedance/deer-flow83k5 repos~1.3kAutomated safety check: PassMIT
Nature Paper CardYuan1z0825/nature-skills46k2 repos~2.1kAutomated safety check: PassApache-2.0
Read arXiv Paperkarpathy/nanochat58k2 repos~494Automated safety check: PassMIT
Content Research Writerweapp-tailwindcss/weapp-tailwindcss1.9k25 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • Hypothesis Generation

    spacering-net/codeg

    Structured hypothesis formulation from observations. An agent skill from spacering-net/codeg.

    3.8k GitHub starsUsed in 15 repos~3.6k tokens
    Research & ScienceAuto-check: notes
  • GitHub Deep Research

    bytedance/deer-flow

    Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.

    83k GitHub starsUsed in 5 repos~1.3k tokens
    Research & ScienceAuto-check passed
  • Nature Paper Card

    Yuan1z0825/nature-skills

    Builds a structured deep-reading card for one scientific paper, covering methods, how experiments support claims, limitations and research ideas, with a script to prepare the source.

    46k GitHub starsUsed in 2 repos~2.1k tokens
    Research & ScienceAuto-check passed
  • Read arXiv Paper

    karpathy/nanochat

    Fetches the TeX source of an arXiv paper from its URL, reads it and writes a markdown summary tied to the nanochat project.

    58k GitHub starsUsed in 2 repos~494 tokens
    Research & ScienceAuto-check passed
  • Content Research Writer

    weapp-tailwindcss/weapp-tailwindcss

    Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.

    1.9k GitHub starsUsed in 25 repos~3.5k tokens
    Research & ScienceAuto-check passed
  • Peer Review

    spacering-net/codeg

    Structured manuscript/grant review with checklist-based evaluation.

    3.8k GitHub starsUsed in 18 repos~5.9k tokens
    Research & ScienceAuto-check: notes

More from ClawBio/ClawBio

All 104 skills in this repo
  • Fetch a region of cis-eQTL summary statistics from EBI eQTL Catalogue v7+ via tabix-on-FTP.

    1.2k GitHub starsUsed in 1 repo~4.3k tokens
    Auto-check passed
  • Xena Tcga Gene Query

    ClawBio/ClawBio

    Query TCGA tumor biology through the ucscxenatoolspy API. An agent skill from ClawBio/ClawBio.

    1.2k GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • Fetch a region of GWAS summary statistics from the NHGRI-EBI GWAS Catalog harmonised collection via tabix-on-FTP.

    1.2k GitHub starsUsed in 1 repo~3.5k tokens
    Auto-check passed
  • Dnasp

    ClawBio/ClawBio

    Population genetics of pre-aligned DNA sequences or multi-sample VCFs using selected DnaSP 6 methods.

    1.2k GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • Compute pairwise r² between a lead variant and every variant in a window using the 1000 Genomes Phase 3 GRCh38 reference panel, ancestry-stratified.

    1.2k GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Ncbi Datasets

    ClawBio/ClawBio

    Download genomes, genes, virus sequences, and taxonomy data from NCBI using the datasets and dataformat CLI tools.

    1.2k GitHub starsUsed in 1 repo~2.8k tokens
    Auto-check passed

Questions about Labstep

What does Labstep do?

Query and display Labstep electronic lab notebook data — experiments, protocols, resources, and inventory — via labstepPy. Labstep is an agent skill from ClawBio/ClawBio. Query and display Labstep electronic lab notebook data — experiments, protocols, resources, and inventory — via labstepPy.

When should I use Labstep?

Labstep fits situations like: research & Science work in your project.

How do I install Labstep in Claude Code?

Run `npx skills add ClawBio/ClawBio --skill labstep -a claude-code`. Or copy the skill folder (skills/labstep in ClawBio/ClawBio) into .claude/skills/labstep in your project. Claude Code loads it when a task matches its description.

How do I install Labstep in Codex?

Run `npx skills add ClawBio/ClawBio --skill labstep -a codex`. Or copy the skill folder (skills/labstep in ClawBio/ClawBio) into .agents/skills/labstep in your project. Codex loads it when a task matches its description.

Can I use Labstep in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ClawBio/ClawBio --skill labstep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/labstep, .gemini/skills/labstep, .github/skills/labstep and .opencode/skills/labstep in your project.

What does Labstep need to run?

Going by SKILL.md and its folder, Labstep needs Python for the scripts in its folder, the command-line tools its instructions call (python) and credentials named LABSTEP_API_KEY. Our summary lists: Python 3; A credential in LABSTEP_API_KEY.

Does Labstep access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Labstep safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Labstep use?

Labstep is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Labstep use?

About 2.3k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Labstep?

Skills that share tags, products or a category with Labstep: Hypothesis Generation (spacering-net/codeg, 3.8k stars), GitHub Deep Research (bytedance/deer-flow, 83k stars), Nature Paper Card (Yuan1z0825/nature-skills, 46k stars) and Read arXiv Paper (karpathy/nanochat, 58k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Labstep?

ClawBio (a GitHub organization) maintains it in ClawBio/ClawBio, which has 1,154 GitHub stars. The repository holds 104 skills in this directory. The repository was last updated on October 7, 2026.

Source: ClawBio/ClawBio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.