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/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<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="Reviewed on agentmods" width="80" 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.02400 |
| Opus 5.5 | $0.00015 | $0.00960 |
| Sonnet 5.5 | $0.00008 | $0.00480 |
| Haiku 4.5 | $0.00004 | $0.00240 |
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 23d ago.
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 — 102 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-annotationraw_annotations.tsvis one row per protein and family hit with columnsgenome, protein_id, family_id, family_name, category, e_value, annotation, taxonomy, confidence, merged by you from the tool outputs below.genomes.tsvhasgenome, role (query|reference), domain, route;marker_catalog.tsvhascategory, family_id, family_name, expected.fixtures/holds a runnable example. The 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 inschemas/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. InterProScan 5 (5.78-109.0) and the Nextflow-based InterProScan 6 (6.0.2.2) both have current releases (checked 2026-10-01). Pin one release and one InterPro data release per project. -
Run InterProScan for domain/family annotation.
-
Run eggNOG-mapper v2.1.13+ for orthology-based annotation. v3.0.0 is in beta; use it only when the project pins it deliberately.
-
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.9 KB
- docs/eggnog-mapper-usage.md 15 KB
- docs/interproscan-usage.md 13 KB
- docs/README.md 10 KB
- docs/taxonkit-usage.md 9.9 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.
- 23d ago Changed · +3 lines 2a2df445ec44
- 1mo ago Changed · +1 lines ea6f4d5ddf62
- 1mo 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 (11 stars, last pushed 23d ago), licensed MIT. It adds 38 tokens to every session and 2,400 once invoked, about $0.0002 per session on Opus 5.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
Queries and downloads public cancer imaging data from NCI Imaging Data Commons. Supports IDC collection discovery, DICOM access, radiology (CT, MR, PET) and pathology AI datasets, metadata SQL, visualization, licensing, and citations. Uses public metadata and download routes without authentication; optional BigQuery…
genomic-intelligence
Predicts regulatory features, gene structure, and expression directly from DNA sequence using Genomic Intelligence's hosted transformer DNA language models — no local GPU or model weights. Six tasks over a REST API and a hosted MCP server (keyless public demo): promoter regions, splice donor/acceptor sites, enhancer…
lab-hardware-cad
Designs custom laboratory hardware as parametric build123d models and exports fabrication artifacts as 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…
onekgpd
Queries 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…
relsa-severity-assessment
Supports multivariate severity assessment and exploratory endpoint-time score forecasting 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…
scientific-slides
Builds slide decks and presentations for research talks. Used for making PowerPoint slides, conference presentations, seminar talks, research presentations, thesis defense slides, or any scientific talk. Provides slide structure, design templates, timing guidance, and visual validation. Works with PowerPoint and LaTeX…