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 agentmods add skills/naity/fm4life/esmcnpx skills add naity/FM4Life --skill esmcgit clone --depth 1 https://github.com/naity/FM4LifeWrote 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/naity/fm4life/esmc)<a href="https://agentmods.dev/skills/naity/fm4life/esmc"><img src="https://agentmods.dev/badge/skills/naity/fm4life/esmc.svg" alt="Measured on agentmods" height="20"></a>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.00143 | $0.01709 |
| Opus 5 | $0.00072 | $0.00855 |
| Sonnet 5 | $0.00029 | $0.00342 |
| Haiku 4.5 | $0.00014 | $0.00171 |
Grade A, and why
esmc 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 6d 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 — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ESM-C: Efficient Protein Embeddings
Overview
ESM-C (Cambrian) is EvolutionaryScale's embedding-focused protein language model family, designed as a drop-in upgrade to ESM2 with ~3× faster inference and improved embedding quality across all model sizes.
Choosing between ESM-C and ESM2:
- Use ESM-C when embeddings are the primary goal — it's faster and produces better representations
- Use ESM2 when you also need variant effect scoring (
EsmForMaskedLM), contact prediction, or ESMFold structure prediction — those capabilities are not available in ESM-C
Installation
pip install esm
ESM-C models are also available on HuggingFace (evolutionaryscale/esmc-300m-2024-12, esmc-600m-2024-12) if you prefer the transformers ecosystem.
Model Selection
| Model | Params | Layers | Hidden dim | Use case |
|---|---|---|---|---|
esmc-300m |
300M | 30 | 960 | Fast inference, large batches, CPU-friendly |
esmc-600m |
600M | 36 | 1152 | Default — good quality/speed balance |
esmc-6b |
6B | 80 | 2560 | Maximum quality for downstream tasks |
Start with esmc-600m; drop to esmc-300m for real-time or CPU applications.
Core Usage
Basic Embeddings
from esm.models.esmc import ESMC
from esm.sdk.api import ESMProtein
import torch
import torch.nn.functional as F
model = ESMC.from_pretrained("esmc-600m").to("cuda")
model.eval()
sequence = "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGD"
protein = ESMProtein(sequence=sequence)
output = model.forward(model.encode(protein))
# output.embeddings: (1, seq_len, hidden_dim) — residues only, no special tokens to strip
per_residue = output.embeddings[0] # (L, 1152)
per_sequence = per_residue.mean(dim=0) # (1152,)
per_sequence_norm = F.normalize(per_sequence.unsqueeze(0), dim=-1) # L2 normalized
Key difference from ESM2: there are no [CLS]/[EOS] special tokens to strip. output.embeddings[0] is already residue-only.
What ships with it
2 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.
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.
- 6d ago First seen · 178 lines · 143 tokens per session scan A 447bb7a2c912
esmc is a skill published in the GitHub repository naity/FM4Life (2 stars, last pushed 5mo ago), licensed MIT. It adds 143 tokens to every session and 1,709 once invoked, about $0.0007 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
gsva-analysis-and-visualization
Use this skill to run GSVA or ssGSEA pathway-level differential analysis from a bulk expression matrix and a sample group file, then generate a heatmap from the saved GSVA result object. Trigger keywords: GSVA, ssGSEA, pathway enrichment, KEGG pathway analysis, MSigDB. NOT for: gene-level differential expression…
medical-research-literature-reader-pro
A medical-research-native literature reading skill for users with clinical, bioinformatics, translational, and basic experimental backgrounds. Use this skill whenever a user wants to read, analyze, critique, or interpret a medical or scientific paper — whether they provide a PDF, abstract, DOI, PMID, or just a title.…
anatomy-quiz-master
Generate interactive anatomy quizzes for medical education with multiple.
cibersort-immune-infiltration-analysis
Use when estimating relative immune cell infiltration from a bulk expression matrix with a CIBERSORT-style nu-SVR deconvolution workflow based on an LM22 signature matrix, comparing one case group against one control group, and generating structured tables plus immune-fraction plots. NOT for single-cell RNA-seq…
estimate-immune-score-analysis
Use this skill to compute ESTIMATE immune-related microenvironment scores from a bulk expression matrix, generate an ESTIMATE score heatmap, and optionally generate group-wise ESTIMATE score boxplots plus significance tables when a sample group file is supplied. Trigger keywords: ESTIMATE, immune score, stromal score…
knn-imputation
Use when filtering genes with high missingness and then imputing missing values in a bulk expression matrix with group-aware KNN through DMwR2, where donor samples are restricted by one annotation column before imputation. For strata with 10 or fewer samples, the script falls back to row-wise direct filling with mean…