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 inflexa-ai/inflexa --skill enrichmentgit clone --depth 1 https://github.com/inflexa-ai/inflexaWrote 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/inflexa-ai/inflexa/enrichment)<a href="https://agentmods.dev/skills/inflexa-ai/inflexa/enrichment"><img src="https://agentmods.dev/badge/skills/inflexa-ai/inflexa/enrichment/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/inflexa-ai/inflexa/enrichment"><img src="https://agentmods.dev/badge/skills/inflexa-ai/inflexa/enrichment.svg" alt="Reviewed on agentmods" width="80" 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.00029 | $0.01830 |
| Opus 5 | $0.00015 | $0.00915 |
| Sonnet 5 | $0.00006 | $0.00366 |
| Haiku 4.5 | $0.00003 | $0.00183 |
Grade A, and why
enrichment 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 — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Enrichment & Functional Annotation
This skill guides method selection and execution for gene set enrichment, over-representation analysis, per-sample pathway scoring, and transcription factor activity inference.
Method Selection Decision Tree
Choose the method based on your input data and analytical goal:
-
Input is a ranked gene list (with scores, fold-changes, or test statistics)
- Use GSEA via
gseapy.prerank()(Python) orfgsea::fgsea()(R via rpy2). - Rank by signed statistic (e.g.,
sign(log2FC) * -log10(pvalue)), not by p-value alone.
- Use GSEA via
-
Input is an unranked gene list (e.g., DE genes at FDR < 0.05)
- Use ORA via
gseapy.enrich()(Python) orclusterProfiler::enrichGO()(R via rpy2). Do NOT useenrichKEGG()— KEGG is not staged and the call needs network access it will not get. - Pass gene sets as a file resolved from the reference data available to you, never as an Enrichr library name string — those trigger HTTP requests and fail.
- ALWAYS supply the background gene set (all expressed/detected genes).
- Use ORA via
-
Need per-sample pathway activity scores
- Use ssGSEA via
gseapy.ssgsea()for MSigDB-style gene sets. - Use GSVA via
gsva()(R via rpy2) when downstream analysis expects continuous scores per pathway per sample.
- Use ssGSEA via
-
Pathway activity on AnnData (single-cell or bulk)
- Use decoupler
dc.mt.ulm()ordc.mt.mlm()with the PROGENy model. - Results integrate directly into
adata.obsm(score_ulm/padj_ulm) for downstream plotting and clustering.
- Use decoupler
-
Transcription factor activity inference
- Use decoupler with CollecTRI regulon resource (NOT enrichment databases).
- This is TF activity, not pathway enrichment -- use the correct framing.
Gene Set Database Selection
Ask for a database by name and resolve it from the reference data available to you — never assume a path, a filename, or a format. What is provisioned varies per environment, so confirm what you have before committing to a method.
What ships with it
5 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.
- yesterday First seen · 113 lines · 29 tokens per session scan A db628e378994
enrichment is a skill published in the GitHub repository inflexa-ai/inflexa (33 stars, last pushed yesterday), licensed Apache-2.0. It adds 29 tokens to every session and 1,830 once invoked, about $0.0001 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-09-09.
Other skills, from other repositories
bulkrna-enrichment
Load when running pathway / GO term enrichment on a bulk RNA-seq DE result list. Skip when the input is single-cell (use sc-enrichment); the input is spatial (use spatial-enrichment); metabolite pathways (use metabolomics-pathway-enrichment).
sc-enrichment
Load when running bulk-style pathway enrichment (ORA / GSEA / GSEA-R / GSVA-R) on a per-group ranked DE / marker list against a gene-set library. Skip when computing per-cell pathway scores in-place (use sc-pathway-scoring); de-novo gene-program discovery (use sc-gene-programs).
spatial-enrichment
Pathway and gene set enrichment analysis for spatial transcriptomics data.
spatial-enrichment
Load when running pathway / gene-set enrichment per cluster on a preprocessed spatial AnnData via Enrichr (over-representation), GSEA (preranked), or ssGSEA (per-cell scores). Skip when ranking spatially variable genes (use spatial-genes); comparing pathways across conditions (use spatial-condition).
proteomics-enrichment
Load when running over-representation analysis (ORA) on a list of proteins via Fisher's exact test against a built-in 8-pathway DEMO dictionary, with BH-FDR correction. Skip when needing a real pathway database (this skill is demo-only) (use bulkrna-enrichment); rank-based GSEA.
metabolomics-pathway-enrichment
Load when running over-representation analysis (ORA) on a metabolite list via Fisher's exact test against a built-in 9-pathway DEMO dictionary, BH-FDR adjusted. Skip when needing real KEGG / Reactome (this skill is demo-only); mummichog / fella topology methods (CLI accepts them but only ORA runs).