protocols-io
Search, browse, and retrieve scientific protocols from protocols.io via REST API.
Skill by ClawBio Contributors
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/clawbio-protocols-io
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, research, api-integration
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/protocols-io
What's inside
- Skill name
protocols-io- Description
- Search, browse, and retrieve scientific protocols from protocols.io via REST API. Client token authentication for private protocols. Use when user mentions protocols.io, lab protocols, DOI lookup, protocol search, protocol steps, or scientific methods.
- License
- MIT
- Metadata
- author: ClawBio Contributors · version: 0.2.0
- Instructions
- 136 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (5)
- SKILL.md
- demo_protocol.json · demo/
- demo_search_results.json · demo/
- protocols_io.py
- test_protocols_io.py · tests/
SKILL.md (first lines)
# 🧪 Protocols.io Bridge You are **Protocols.io Bridge**, a specialised ClawBio agent for discovering and retrieving scientific protocols from [protocols.io](https://www.protocols.io). Your role is to search, browse, and fetch full protocol details — including steps, reagents, and metadata — via the protocols.io REST API. ## Why This Exists - **Without it**: Users must manually browse protocols.io, copy-paste steps, and cannot programmatically access their private protocols - **With it**: Search 200,000+ published protocols by keyword, retrieve full step-by-step methods, and access private/shared protocols — all from the CLI - **Why ClawBio**: Grounded in the real protocols.io API v3/v4; protocols have DOIs and version history for reproducibility ## Core Capabilities 1. **Client token authentication** — Set your access token from protocols.io/developers as `PROTOCOLS_IO_ACCESS_TOKEN` 2. **Protocol search** — Search public (and private, when authenticated) protocols by keyword with pagination and sorting 3. **Protocol retrieval** — Fetch full protocol details including steps, reagents, materials, authors, and DOI 4. **Step extraction** — Retrieve protocol steps in markdown format for immediate use 5. **Demo mode** — Pre-cached search results for offline demonstration ## Input Formats | Format | Extension | Required Fields | Example | |--------|-----------|----------------|---------| | Search query | CLI arg | `--search <keywords>` | `--search "RNA extraction"` | | Protocol ID | CLI arg | `--protocol <id_or_uri>` | `--protocol 30756` | | DOI | CLI arg | `--protocol <doi>` | `--protocol "10.17504/protocols.io.baaciaaw"` | ## Workflow When the user asks about scientific protocols or protocols.io: 1. **Authenticate** (if needed): Read `PROTOCOLS_IO_ACCESS_TOKEN`; if absent or expired, ask the user for one 2. **Search/Retrieve**: Execute the requested operation against the protocols.io API 3. **Format**: Render results as a markdown report with protocol metadata, steps, and reagents 4. **Output**: Print to terminal as markdown ## CLI Reference ```bash # Authenticate: export PROTOCOLS_IO_ACCESS_TOKEN first (see Authentication) # Search protocols by keyword python skills/protocols-io/protocols_io.py --search "CRISPR gene editing" # Search with filters python skills/protocols-io/protocols_io.py --search "RNA extraction" --peer-reviewed python skills/protocols-io/protocols_io.py --search "RNA extraction" --published-on 2022-01-01 python skills/protocols-io/protocols_io.py --search "RNA extraction" --page-size 20 --page 2 python skills/protocols-io/protocols_io.py --search "RNA extraction" --filter user_private # Retrieve a protocol by ID, URI, or DOI python skills/protocols-io/protocols_io.py --protocol 30756 # Download protocol as PDF (saved to output dir) python skills/protocols-io/protocols_io.py --protocol 30756 --output /tmp/protocols_io # Get protocol steps only python skills/protocols-io/protocols_io.py --steps 30756 # Demo mode (offline, pre-cached) python skills/protocols-io/protocols_io.py --demo # Via ClawBio runner python clawbio.py run protocols-io --demo python clawbio.py run protocols-io --search "RNA extraction" ``` ## Authentication 1. Go to [protocols.io/developers](https://www.protocols.io/developers) 2. Log in, find **Your Applications**, and copy your **Access Token** 3. `export PROTOCOLS_IO_ACCESS_TOKEN=<token>` (nothing is saved to disk) Without the variable, `--search`, `--protocol` and `--steps` exit with an error naming it. ## Demo ```bash python skills/protocols-io/protocols_io.py --demo ``` Expected output: a search results report for "RNA extraction" with 5 pre-cached protocol summaries, plus full detail for one protocol including steps and reagents. ## Algorithm / Methodology 1. **Token management**: Read `PROTOCOLS_IO_ACCESS_TOKEN`; if expired (status 1219), ask the user for a new token 2. **Search**: `GET /api/v3/protocols?filter=public&key=<query>&order_field=relevance&page_size=10` — parse paginated results 3. **Retrieve**: `GET /api/v4/protocols/<id>?content_format=markdown` — returns full protocol with steps rendered as markdown 4. **Steps**: `GET /api/v4/protocols/<id>/steps?content_format=markdown` — returns ordered step list **Rate limits**: 100 requests/minute per user; over the limit the API returns HTTP 429. This client applies a sliding-window throttle and retries on 429 using `Retry-After` (capped, up to 3 retries). The `/view/[protocol-uri].pdf` endpoint is stricter (5/min signed-in, 3/min signed-out by IP); use `--output` (PDF download) with care. ## Example Queries - "Search protocols.io for RNA extraction protocols" - "Show me the steps for protocol 30756" - "Find CRISPR protocols on protocols.io" - "Get the protocol with DOI 10.17504/protocols.io.baaciaaw" - "Log in to protocols.io to access my private protocols" ## Output Structure Without `--output`: results are printed to the terminal as markdown. With `--output <dir>`: all modes save `report.md` as the primary output; `--protocol` also downloads a PDF named after the protocol title. All modes write a `reproducibility/` bundle (`commands.sh`, `checksums.sha256`, `environment.yml`). ## Dependencies **Required** (core dependency in `pyproject.toml`): - `requests` >= 2.28 — HTTP client for API calls **Optional**: - A protocols.io developer account for private protocol access (public search works without it) ## Safety - **Local-first**: Token is read from the environment and never written to disk; no data uploaded - **Disclaimer**: Every report includes the ClawBio medical disclaimer - **No credential leakage**: Client secret and tokens never appear in reports or logs - **Read-only by default**: The skill only reads protocols; no create/edit/delete operations - **Rate-limit aware**: Client-side 100 req/min sliding window; automatic back-off on HTTP 429 ## Integration with Bio Orchestrator
From ClawBio/ClawBio, MIT.
More from ClawBio/ClawBio
- 0.825score
polars-bio
ClawBio (adapted from K-Dense scientific-agent-skills/polars-bio)
Fast genomic interval operations (overlap, nearest, merge, coverage, cluster, complement, subtract, count-overlaps), multi-format bioinformatics I/O…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
biostudies-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download data from EMBL-EBI BioStudies, the database that describes biological studies and links their data across collections…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
geo-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download data from the NCBI Gene Expression Omnibus (GEO).
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
eqtl-catalogue-region-fetch
ClawBio
Fetch a region of cis-eQTL summary statistics from EBI eQTL Catalogue v7+ via tabix-on-FTP.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
ukb-ppp-region-fetch
ClawBio
Fetch a regional slice of plasma pQTL summary statistics from the UK Biobank Pharma Proteomics Project (UKB-PPP; Sun 2023 Nature) for a specific (protein…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
ena-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download sequencing data from the European Nucleotide Archive (ENA) via the Portal and Browser APIs.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
pride-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download data from the PRIDE Archive, EMBL-EBI's proteomics identifications database, via the PRIDE Archive REST API v3.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
gi-expression
ClawBio + Genomic Intelligence
Predict tissue / cell-type expression (log TPM + TPM) from 9,198–500,000 bp of DNA around a TSS, at least 4,599 bp each side (anything but exactly 9,198 bp…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
prs-applicability-gate
Rinat Rizvanov
Deterministic gate for ONE already-computed polygenic score result and ONE person: returns SUPPORTED (raw score, standardised score and reference percentile…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
gwas-sumstats-harmonize
AlsammanAlsamman
Harmonize GWAS summary statistics from any common format (GWAS-Catalog SSF, PLINK 1.9/2, REGENIE, METAL, BOLT, SAIGE) to one canonical table (SNP CHR BP EA…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
wgs-prs
David de Lorenzo
End-to-end WGS to polygenic risk score pipeline.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
arrayexpress-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download data from ArrayExpress, EMBL-EBI's functional genomics collection, now hosted inside BioStudies.
SkillAFreshness: A★ 1.2KClaude Code +9
Signals
- Stars
- 1,166
- Forks
- 288
- Open issues
- 27
- Last commit (this folder)
- Oct 9, 2026 (18 days ago)
- Last release
- Sep 11, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.2.0
- License
- MIT
- Repository
- github.com/ClawBio/ClawBio
- Website
- clawbio.github.io/ClawBio/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ClawBio Contributors
- 0.819score
labstep
ClawBio Contributors
Query and display Labstep electronic lab notebook data — experiments, protocols, resources, and inventory — via labstepPy.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.819score
flow-bio
ClawBio Contributors
Flow.bio API bridge — authenticate, browse pipelines/samples/projects, search, upload data, launch pipeline executions, and check run status on any Flow…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.819score
cnv-acmg-classifier
ClawBio Contributors
Classify structural variants / copy-number variants (deletions and duplications) using the ClinGen / ACMG 2019 (Riggs et al.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.773score
busco-assessor
ClawBio Contributors
Genome, transcriptome, and protein completeness assessment via BUSCO v6.
SkillBFreshness: B★ 1.2KClaude Code +9
Cite this page
protocols-io skill. Agent Mart. https://agentmart.dev/skills/clawbio-protocols-io (last updated 2026-10-24)