Module Authoring
dna-seq/just-dna-lite
Author, resolve, compile and publish a just-dna annotation module — the spec directory layout, the CSV column contracts and vocabularies, the enrich→compile pipeline, and the checks that decide…
Query metadata and download sequencing data from the European Nucleotide Archive (ENA) via the Portal and Browser APIs.
$ npx skills add ClawBio/ClawBio --skill ena-fetch -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ClawBio/ClawBio ena-fetch --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ClawBio/ClawBio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ena-fetch .claude/skills/ena-fetch && rm -rf skills-srcUse ~/.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/
Install the "ena-fetch" agent skill from https://github.com/ClawBio/ClawBio/tree/main/skills/ena-fetch into .claude/skills/ena-fetch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ena-fetch", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ClawBio/ClawBio/tree/main/skills/ena-fetchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ClawBio/ClawBio --skill ena-fetch -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ClawBio/ClawBio ena-fetch --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClawBio/ClawBio.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ena-fetch .agents/skills/ena-fetch && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ena-fetch" agent skill from https://github.com/ClawBio/ClawBio/tree/main/skills/ena-fetch into .agents/skills/ena-fetch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ena-fetch", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ClawBio/ClawBio --skill ena-fetch -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ClawBio/ClawBio ena-fetch --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClawBio/ClawBio.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ena-fetch .cursor/skills/ena-fetch && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ena-fetch" agent skill from https://github.com/ClawBio/ClawBio/tree/main/skills/ena-fetch into .cursor/skills/ena-fetch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ena-fetch", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ClawBio/ClawBio.git --path skills/ena-fetch--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ClawBio/ClawBio --skill ena-fetch -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ClawBio/ClawBio ena-fetch --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClawBio/ClawBio.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ena-fetch .gemini/skills/ena-fetch && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ena-fetch" agent skill from https://github.com/ClawBio/ClawBio/tree/main/skills/ena-fetch into .gemini/skills/ena-fetch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ena-fetch", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ClawBio/ClawBio ena-fetchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ClawBio/ClawBio --skill ena-fetch -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ClawBio/ClawBio.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ena-fetch .github/skills/ena-fetch && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ena-fetch" agent skill from https://github.com/ClawBio/ClawBio/tree/main/skills/ena-fetch into .github/skills/ena-fetch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ena-fetch", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ClawBio/ClawBio --skill ena-fetch -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ClawBio/ClawBio ena-fetch --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClawBio/ClawBio.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ena-fetch .opencode/skills/ena-fetch && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ena-fetch" agent skill from https://github.com/ClawBio/ClawBio/tree/main/skills/ena-fetch into .opencode/skills/ena-fetch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ena-fetch", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ena-fetchQuery metadata and download sequencing data from the European Nucleotide Archive (ENA) via the Portal and Browser APIs.
Ena Fetch is an agent skill from ClawBio/ClawBio. Query metadata and download sequencing data from the European Nucleotide Archive (ENA) via the Portal and Browser APIs. Works with ENA/SRA accessions (PRJEB/PRJNA studies, ERR/SRR/DRR runs, ERX/SRX experiments, SAMEA/SAMN samples), listing runs and FASTQ links, building custom file reports, running advanced metadata searches, and emitting a standardised metadata.tsv plus a pipeline-ready nf-core/rnaseq or nf-core/scrnaseq samplesheet.csv.
Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files (for example `ena_fetch.py`, `ena_fetch_api.py` and `examples/demo_sample_xml.json`).
It sits in Documents & Office, covering CSV and tabular files. The repository describes itself as: 🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free. The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit dece754. It shows what the files ask for, not the result of running them.
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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pythoncurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
ftp.sra.ebi.ac.ukAlso links to:
ebi.ac.uknf-co.regithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ena Fetch loads about 4.9k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 1,919 words of instructions outside code blocks.
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.
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.
The full file from ClawBio/ClawBio at commit dece754, republished under its MIT licence (© ClawBio). 1,919 words, ~4,897 tokens.
.claude/skills/ena-fetch/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.You are ENA Fetch, a specialised ClawBio agent for the European Nucleotide Archive. Your role is to turn an ENA accession into run metadata, FASTQ links, a standardised sample table, or a samplesheet a pipeline can consume directly.
Fire this skill when the user says any of:
<organism>"Do NOT fire when:
GSE/GSM (GEO), PXD (PRIDE), E-MTAB (ArrayExpress) or
S-BSST (BioStudies) — route to the matching skill. geo-fetch resolves GEO
to ENA internally, so start there for a GSE.article-data-fetcher.fields exist, then reshape the TSV into whatever column names your pipeline
expects — differently for every project.metadata.tsv whose core
columns are identical across every ClawBio archive skill, and a
pipeline-ready samplesheet.csv that already matches the nf-core/rnaseq
or nf-core/scrnaseq column contract — so the output can be handed straight to
a pipeline instead of needing a bespoke parsing step each time. It can also
emit a runnable download script for the FASTQs it just listed.result type and fields list.tax_eq(3702).SAMPLE_ATTRIBUTES.One skill, one task. This skill talks to ENA and nothing else. GEO, SRA, PRIDE, ArrayExpress and BioStudies each have their own skill.
| Format | Example | Notes |
|---|---|---|
| Study | PRJEB56029, PRJNA... | Expands to all its runs |
| Run | ERR10181253, SRR..., DRR... | A single run |
| Experiment / Sample | ERX..., SAMEA... | Resolved to runs |
| Portal query | tax_eq(3702) AND library_layout="PAIRED" | With --command search |
runs; a query goes to search.filereport call, with the fields the command needs.metadata-table): pull each sample's SAMPLE_ATTRIBUTES
from the Browser API and map them onto the core columns.samplesheet): split fastq_ftp into R1/R2. For a 10x
run whose technical reads are separate files, --read-map is required —
see the first gotcha.report.md, result.json, tables/metadata.tsv,
samplesheet.csv and the reproducibility bundle into --output.download-script writes a script and stops. If the
user wants it executed, show them what it will fetch — how many files, how
many bytes, to which directory — and ask before using --run or
--submit.Steps 2–4 are prescriptive. Step 6 is a hard rule, not a preference.
# Demo — offline, from the bundled fixture
python skills/ena-fetch/ena_fetch.py --demo --output /tmp/ena_demo
# Runs and FASTQ links
python skills/ena-fetch/ena_fetch.py \
--command runs --accession PRJEB56029 --output /tmp/ena
# Standardised metadata table
python skills/ena-fetch/ena_fetch.py \
--command metadata-table --accession PRJEB56029 --output /tmp/ena
# Pipeline-ready samplesheet
python skills/ena-fetch/ena_fetch.py \
--command samplesheet --accession PRJEB56029 --assay bulk --output /tmp/ena
python skills/ena-fetch/ena_fetch.py \
--command samplesheet --accession PRJEB56029 --assay scrna --read-map 3,4 --output /tmp/ena
# Download script from that samplesheet (writes a script; runs nothing)
python skills/ena-fetch/ena_fetch.py \
--command download-script --accession PRJEB56029 --tool curl --output /tmp/ena
# Advanced search
python skills/ena-fetch/ena_fetch.py \
--command search --query 'tax_eq(3702) AND library_strategy="RNA-Seq"' --output /tmp/ena
# Via the ClawBio runner
python clawbio.py run ena-fetch --demo
python clawbio.py run ena-fetch --command runs --accession PRJEB56029
# The upstream positional form also works when called directly
python skills/ena-fetch/ena_fetch.py runs PRJEB56029 --output /tmp/enapython clawbio.py run ena-fetch --demoRuns runs, metadata-table, samplesheet and download-script against the
bundled PRJEB56029 fixture, entirely offline, and writes the full output tree.
GET /ena/portal/api/filereport?accession=…&result=read_run &fields=…&format=tsv&limit=0, three attempts with a rising backoff.run_accession, experiment_accession, sample_accession, study_accession, instrument_platform, instrument_model, library_strategy, library_layout, read_count, base_count, fastq_ftp, fastq_bytes, fastq_md5, submitted_ftp.GET /ena/browser/api/xml/{sample}, parsing
<TAG>/<VALUE> pairs and <SCIENTIFIC_NAME>. Tags beginning ENA- are
archive bookkeeping and are dropped.NA, n/a, none,
unknown, not applicable, -- and friends become empty; every unmapped
attribute is promoted to its own column so nothing is lost.fastq_ftp is a ;-separated list. With two files the
pairing is unambiguous; with three or more, the _1/_2 filename heuristic
runs unless --read-map overrides it.Key parameters
sample, replicate, species, sex, age, condition, genotype, treatment, tissueNAsample,fastq_1,fastq_2 (scrna) plus strandedness (bulk)auto — leave it there unless the record states the
library chemistry. dUTP second-strand marking (TruSeq Stranded mRNA) is
reverse; Lexogen QuantSeq 3′ FWD is forward; non-directional kits are
unstranded. "Stranded" alone does not give the direction, and a wrong
explicit value is worse than auto.sample,fastq_1,fastq_2,strandedness
SAMEA111350648,https://ftp.sra.ebi.ac.uk/vol1/fastq/ERR101/053/ERR10181253/ERR10181253_1.fastq.gz,https://ftp.sra.ebi.ac.uk/vol1/fastq/ERR101/053/ERR10181253/ERR10181253_2.fastq.gz,auto
SAMEA111350649,https://ftp.sra.ebi.ac.uk/vol1/fastq/ERR101/054/ERR10181254/ERR10181254_1.fastq.gz,https://ftp.sra.ebi.ac.uk/vol1/fastq/ERR101/054/ERR10181254/ERR10181254_2.fastq.gz,autosample replicate species sex age genotype tissue ecotype
SAMEA111350649 ERR10181254 Arabidopsis thaliana NA mature non-fertilized ovule wild type genotype plant ovule Col-0output_directory/
├── report.md # Commands run and what each returned
├── result.json # Machine-readable envelope
├── samplesheet.csv # Pipeline-ready nf-core samplesheet
├── fastq_md5.tsv # (optional) archive MD5 per URL; URL sheets only
├── download_ena.sh # Runnable bash + SLURM download script
├── tables/
│ └── metadata.tsv # Standardised sample x run table
├── downloads/ # (optional) only with --command download
└── reproducibility/
├── commands.sh # Exact command to reproduce
├── environment.yml # Environment snapshot
└── checksums.sha256 # SHA-256 of every artifactRequired: Python >= 3.10 only. The vendored client is standard library
(urllib, csv, re, html) — nothing to pip install.
Optional: wget or curl on the machine that runs the generated
download script; sbatch if it is submitted rather than run.
Gotcha 1: You will want to trust the _1/_2 filename heuristic for a
10x run. Do not. When the technical reads are separate files the heuristic
silently picks the barcode read and drops the cDNA read, and the pipeline
then quantifies nothing. Pass --read-map explicitly: 3 files (single index)
→ 2,3; 4 files (dual index) → 3,4.
Gotcha 2: You will read the age column as an age. It is the mapped
target for developmental stage too, so for the demo study it holds
"mature non-fertilized ovule". The core columns are a harmonisation, not a
schema the source guarantees — check the promoted extra columns before
drawing conclusions.
Gotcha 3: --read-map validates positions 1–9, not 1–4. A typo like
1,9 passes validation and fails much later with a missing-file error. Check
the run's actual file count in runs output first.
Gotcha 4: An empty result is normal, not an error. Controlled-access
studies and runs not mirrored to ENA return no fastq_ftp, and the skill
says so rather than inventing links. Those runs are still reachable from SRA
with sra-tools (prefetch + fasterq-dump), which is an external tool, not
a ClawBio skill — do not promise a skill that does not exist.
Gotcha 5: download-script writes a script and downloads nothing.
Never run or submit it without telling the user the file count and total size
first, and never treat one approval as covering a later run. The script
checks every file against ENA's fastq_md5 (from fastq_md5.tsv, written
by samplesheet) and stops on a mismatch. You will want to re-run it to
"resume" past that error. Do not. A resumed transfer of a corrupt file is
still corrupt: delete the named file first.
Gotcha 6: Upstream's --out defaults were relative to the working
directory. Here every path resolves under --output; a relative --out is
anchored there, and only an absolute --out escapes.
Gotcha 7: If metadata/runs work but download hangs or fails with a
connection timeout, suspect a firewall, not a bug — but check the
[download] line first. download prints the file count and total size
before it blocks, then produces no further output until it finishes — a
709 GB study is not hung, it is 709 GB. A firewall gives a connection
timeout; a slow link gives silence. Only the timeout is the case described
here. Metadata comes from
www.ebi.ac.uk (Portal + Browser); FASTQ bytes come from
ftp.sra.ebi.ac.uk. Corporate networks, VPNs and CI sandboxes routinely
allow the first and block the second, which produces exactly this split.
Both hosts must be allowlisted on TCP/443 — this skill never speaks the FTP
protocol despite the hostname, so opening FTP ports achieves nothing. See
docs/data-handling.md. Confirm with
curl -sI https://ftp.sra.ebi.ac.uk/vol1/ -o /dev/null -w '%{http_code}\n':
200 means reachable, 000 means blocked. The same applies to a generated
download-script run on a compute node, which often has stricter egress than
the login node it was written on.
Gotcha 8: --limit means different things per command, so it has no
global default. On search it caps hits (20 when omitted). On report it
caps data rows, and omitting it means all rows — passing a default here
once truncated a 95-run study to 20 with status: ok, which is
indistinguishable from a complete report. runs, metadata-table and
samplesheet always fetch everything. If a report comes back with exactly
--limit rows you get a truncation warning, in both the terminal and
report.md; re-run with --limit 0 to be certain.
www.ebi.ac.uk and receives
public archive data. Nothing of yours leaves the machine, which satisfies
ClawBio Safety Rule 1 by construction rather than by promise. See
docs/data-handling.md.download-script only writes a file. --run and
--submit are off by default and must be confirmed by the user each time.reproducibility/.The agent dispatches, explains, and asks before anything is executed. The skill
executes. The agent must not invent accessions or FASTQ URLs, must not guess a
--read-map it has not verified against the run's file count, and must not run
or submit a generated script without explicit confirmation.
Trigger conditions: the orchestrator routes here on an ENA accession
(PRJEB, ERR, ERX, SAMEA, ERZ) or an explicit mention of ENA.
Chaining partners:
fasterq-dump exposes the read structure faithfully, and
for runs not mirrored to ENA.geo-fetch: GEO resolves to ENA for its FASTQ links, so the two agree.nfcore-rnaseq-wrapper / nfcore-scrnaseq-wrapper: the natural consumers of
the samplesheet.csv this skill writes.article-data-fetcher: upstream producer. It resolves a DOI or PMID to
the repository accessions a paper deposited, ENA among them. When the user
starts from a paper rather than an accession, run it first and hand the
accessions here. It downloads files and writes a manifest.json, but it
does not harmonise sample annotation into metadata.tsv or emit a
pipeline-ready samplesheet.csv — that is this skill's job, so the two
chain rather than compete.DEFAULT_RUN_FIELDS names a field the Portal drops;
the Browser XML schema changing SAMPLE_ATTRIBUTES; nf-core changing its
samplesheet column contract.7cc3e6e (ena/, plus fastq-download-script/ folded in as
download-script), © 2026 UK Dementia Research Institute, MIT.© ClawBio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files in skills/ena-fetch of ClawBio/ClawBio.
Open the folder on GitHubat commit dece754
Ena Fetch 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ena Fetch this skillClawBio/ClawBio | 1.2k | — | ~4.9k | Automated safety check: Pass | MIT | |
| Module Authoringdna-seq/just-dna-lite | 141 | — | ~4.8k | Automated safety check: Notes | AGPL-3.0 | |
| Vdjdb Extractantigenomics/vdjdb-db | 157 | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Nwb ConversionK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Generate CodebookAperivue/medsci-skills | 331 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Auditing Part11 Trailsmaziyarpanahi/openmed | 5.5k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 |
dna-seq/just-dna-lite
Author, resolve, compile and publish a just-dna annotation module — the spec directory layout, the CSV column contracts and vocabularies, the enrich→compile pipeline, and the checks that decide…
antigenomics/vdjdb-db
Extract TCR:pMHC specificity records from raw submission sources - supplementary XLS/CSV tables, PDF manuscripts, 10x Genomics contig and clonotype files, AIRR Rearrangement TSVs, Adaptive ImmunoSEQ…
K-Dense-AI/scientific-agent-skills
Converts neuroscience acquisition data to Neurodata Without Borders files with NeuroConv and PyNWB, preserves metadata and timebases, checks evidence-based clock alignment, and produces schema…
Aperivue/medsci-skills
A skill your agent uses when a tabular dataset (CSV, Excel, Parquet, Stata, SAS) needs a data dictionary.
maziyarpanahi/openmed
Generates and verifies 21 CFR Part 11-style audit trails — who/what/when, electronic signatures, and tamper-evidence — for OpenMed pipelines in GxP and clinical-trial (GCP) settings.
aipoch/medical-research-skills
Classifies and organizes literature by theme, method, and conclusion; use when you need to batch-read a folder of PDF/MD/DOCX/TXT files and output a structured CSV for literature reviews and…
ClawBio/ClawBio
Fetch a region of cis-eQTL summary statistics from EBI eQTL Catalogue v7+ via tabix-on-FTP.
ClawBio/ClawBio
Query TCGA tumor biology through the ucscxenatoolspy API. An agent skill from ClawBio/ClawBio.
ClawBio/ClawBio
Fetch a region of GWAS summary statistics from the NHGRI-EBI GWAS Catalog harmonised collection via tabix-on-FTP.
ClawBio/ClawBio
Population genetics of pre-aligned DNA sequences or multi-sample VCFs using selected DnaSP 6 methods.
ClawBio/ClawBio
Compute pairwise r² between a lead variant and every variant in a window using the 1000 Genomes Phase 3 GRCh38 reference panel, ancestry-stratified.
ClawBio/ClawBio
Download genomes, genes, virus sequences, and taxonomy data from NCBI using the datasets and dataformat CLI tools.
Categories
Query metadata and download sequencing data from the European Nucleotide Archive (ENA) via the Portal and Browser APIs. Ena Fetch is an agent skill from ClawBio/ClawBio. Query metadata and download sequencing data from the European Nucleotide Archive (ENA) via the Portal and Browser APIs.
Ena Fetch fits situations like: tasks that involve CSV and tabular files.
Run `npx skills add ClawBio/ClawBio --skill ena-fetch -a claude-code`. Or copy the skill folder (skills/ena-fetch in ClawBio/ClawBio) into .claude/skills/ena-fetch in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ClawBio/ClawBio --skill ena-fetch -a codex`. Or copy the skill folder (skills/ena-fetch in ClawBio/ClawBio) into .agents/skills/ena-fetch in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ClawBio/ClawBio --skill ena-fetch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ena-fetch, .gemini/skills/ena-fetch, .github/skills/ena-fetch and .opencode/skills/ena-fetch in your project.
Going by SKILL.md and its folder, Ena Fetch needs Python for the scripts in its folder and the command-line tools its instructions call (python and curl). Our summary lists: Python 3.
SKILL.md names 4 domains. In commands or code: ftp.sra.ebi.ac.uk; the agent is likely to contact it when it follows the instructions. As links in the text: ebi.ac.uk, nf-co.re and github.com. This is read from the text; nothing was executed.
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.
Ena Fetch is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ena Fetch: Module Authoring (dna-seq/just-dna-lite, 141 stars), Vdjdb Extract (antigenomics/vdjdb-db, 157 stars), Nwb Conversion (K-Dense-AI/scientific-agent-skills, 48k stars) and Generate Codebook (Aperivue/medsci-skills, 331 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 8, 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.