Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add fmschulz/omics-skills --skill bio-annotationgit clone --depth 1 https://github.com/fmschulz/omics-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fmschulz/omics-skills/bio-annotation)<a href="https://agentmods.dev/skills/fmschulz/omics-skills/bio-annotation"><img src="https://agentmods.dev/badge/skills/fmschulz/omics-skills/bio-annotation.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.02146 |
| Opus 5 | $0.00019 | $0.01073 |
| Sonnet 5 | $0.00008 | $0.00429 |
| Haiku 4.5 | $0.00004 | $0.00215 |
Grade A, and why
bio-annotation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Bio Annotation
Functional annotation and taxonomy inference from sequence homology.
Instructions
-
Read
docs/README.mdand the relevant tool guides before running anything. -
Normalize tool outputs and generate the complete comparison bundle with the schema-backed driver:
uv run --script skills/bio-annotation/scripts/build_annotation_artifacts.py \ raw_annotations.tsv --genomes genomes.tsv --markers marker_catalog.tsv \ --out results/bio-annotationThe driver refuses a non-empty destination, enforces globally unique protein identifiers, writes normalized Parquet tables, adds explicit absent-marker rows, and computes query-specific/missing/expanded/contracted families against the reference median. The artifact contract is in
schemas/artifacts.schema.json. -
When a nucleotide assembly, MAG, genome, or contig FASTA is available, run
/tracking-taxonomy-updatesfirst for the BBTools-container QuickCladepercontigdomain screen. Use that routing table to choose the right taxonomy/QC path before interpreting protein annotations. -
For InterProScan, read
docs/interproscan-usage.mdand validate the exact CLI with--helpor--version. Current stable is v5.77-108.0; InterProScan 6 (Nextflow-based) is a forward-looking migration target. -
Run InterProScan for domain/family annotation.
-
Run eggNOG-mapper v2.1.13+ for orthology-based annotation.
-
Run sequence-vs-database search and resolve taxonomy with TaxonKit v0.20.0+ (required for the March 2025 NCBI rank update that replaces "superkingdom" with "domain" and adds "realm" for viruses). Backend choice (DIAMOND, clustered nr, MMseqs2-GPU): see docs/README.md.
-
For domain-specific taxonomy after QuickClade:
- Bacteria/Archaea -> run GTDB-Tk when genome/MAG-level sequence is available and cross-check NCBI/DIAMOND lineage assignments.
- Viral/phage -> route to
/bio-viromics; use PHROG/NCVOG markers and vConTACT3 only for phage/prokaryotic-virus contexts. - Giant-virus/Nucleocytoviricota -> route to
/bio-viromicswith GVClass and NCLDV marker-gene phylogeny. - Eukaryota -> use EukCC for MAG/genome QC and lineage context; avoid CheckM/GTDB-Tk assumptions.
-
For group-appropriate marker families, run HMM searches against the relevant profile libraries (Pfam, TIGRFAM, COG/arCOG, PHROG/NCVOG for viruses, eukaryotic ribosomal/structural HMMs when applicable). Use
pyhmmer(Python bindings around HMMER 3.4 with native SIMD and batch-friendly APIs) by default; fall back to the HMMER CLI (hmmsearch/hmmscan) when an upstream tool requires it. The choice of profile libraries is derived from the literature-derived playbook for the inferred group. -
Build an annotation-wide feature inventory by genome/contig and by gene family/domain/pathway.
-
Marker-gene census — from the literature-derived playbook, list the diagnostic marker / machinery categories for the inferred group (e.g., replication, transcription, translation-related such as ribosomal proteins and translation factors, packaging, capsid/structural, chromatin/SMC/topoisomerase, host-interaction). For EACH query genome and each comparison-set genome supplied, record presence and copy number per category. Save as
marker_census.tsv(columns: genome, category, family_id, family_name, copy_number, evidence_source, e_value, notes). Expected-but-absent markers are first-class rows, not silent omissions. -
Per-family copy-number matrix — build a Pfam/InterPro/HMM-family × genome integer matrix covering queries AND the supplied relatives. Persist as
family_copy_number_matrix.parquet. Compute per-family fold change vs the relative median; flag query-specific families, missing-expected families, expansions, and contractions infamily_expansion_candidates.tsv. -
For exploratory work, read the literature-derived analysis playbook for the inferred organism or virus group before deciding what to flag.
-
Mine the inventory for discovery candidates relative to that playbook: expected features, missing expected features, rare or expanded families, unusual combinations, annotation/taxonomy conflicts, and high-value unknowns.
-
For specialized inputs such as viruses, organelles, symbionts, pathogens, or poorly characterized lineages, use the feature classes and outlier dimensions reported in the relevant literature rather than a fixed global checklist.
-
query_specificrequires the family to be absent from every reference. When the reference median is 0 but at least one reference carries the family, the status ispresent_in_reference_minoritywith an emptyfold_change: report it as a signal, never as a discovery. -
Order
discovery_candidates.tsvdeterministically before reporting. Sort bystatusin the orderquery_specific,missing_expected,expanded,contracted,present_in_reference_minority; then byfold_changedescending, withinffirst and blank or non-numeric values last; then bygenomeandfamily_idascending. Report the top rows in that order and keep the full table.
What ships with it
10 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- docs/diamond-usage.md 6.7 KB
- docs/eggnog-mapper-usage.md 14 KB
- docs/interproscan-usage.md 12 KB
- docs/README.md 9.9 KB
- docs/taxonkit-usage.md 9.3 KB
- fixtures/annotations.tsv 424 B
- fixtures/genomes.tsv 88 B
- fixtures/markers.tsv 113 B
- schemas/artifacts.schema.json 796 B
- scripts/build_annotation_artifacts.py 9.9 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed · +1 lines ea6f4d5ddf62
- 7d ago First seen · 98 lines · 38 tokens per session scan A b351840f4b44
bio-annotation is a skill published in the GitHub repository fmschulz/omics-skills (7 stars, last pushed 2d ago), licensed MIT. It adds 38 tokens to every session and 2,146 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
imaging-data-commons
Query and download public cancer imaging data from NCI Imaging Data Commons. Invoke for any question about IDC collections, cancer imaging datasets, DICOM data access, radiology (CT, MR, PET) or pathology AI training sets, metadata queries, visualization, or license checks — even when the user doesn't explicitly…
tamarind
Access a collection of open-source molecular design and structural biology tools on the Tamarind Bio platform, via its REST API or MCP server — no local GPUs required. Tamarind bundles popular open-source models for structure prediction (AlphaFold, Boltz, Chai, ESMFold), protein, binder, and de novo design…
lab-hardware-cad
Design custom laboratory hardware as parametric build123d models and export fabrication-ready STEP, STL, and DXF files - microfluidic chips and molds, optomechanical mounts and breadboard adapters, cuvette and microplate holders, tube racks, animal-behavior rigs, and 3D-printed instrument fixtures. Use when a research…
onekgpd
Query the 1000 Genomes Project dataset (3,202 whole-genome-sequenced individuals, GRCh38) at the level of individual participants. Use when a question is about individuals or variants in the 1000 Genomes Project cohort: which individuals carry variants matching specific criteria in a gene or region, which individuals…
pkpd-modeling
Pharmacokinetic and pharmacodynamic modelling and simulation - non-compartmental analysis, compartmental and population PK, PK/PD and exposure-response, TMDD, PBPK orientation, bioequivalence, allometric scaling and first-in-human dose, drug interaction prediction, and Bayesian therapeutic drug monitoring. Use when…
relsa-severity-assessment
Multivariate severity assessment and humane endpoint prediction for laboratory animal studies using the RELSA (RELative Severity Assessment) score and ARIMA-based foRcast forecasting. Use when combining welfare readouts — body weight or weight loss, body temperature, clinical or nesting scores, biomarkers, activity…