nutrigenomics
GitHub提供特定基因变异对营养代谢、食物耐受及味觉影响的单标记证据。严格拒绝饮食处方、补充剂剂量等越界请求,仅基于已声明领域(如叶酸代谢、APOE)返回证据。
Trigger Scenarios
Install
npx skills add exon-research/genomi --skill nutrigenomics -g -y
SKILL.md
Frontmatter
{
"name": "nutrigenomics",
"tools": [
"nutrigenomics.list_domains",
"nutrigenomics.build_source_context",
"nutrigenomics.retrieve_domain_markers",
"nutrigenomics.retrieve_variant_records",
"gnomad.fetch_population_frequency",
"gwas.compare_variant_associations"
],
"mutating": true,
"description": "Curated single-marker evidence for declared nutrient-metabolism,\nfood-tolerance, and taste-perception domains. Refuses diet prescriptions,\nsupplement dosing, weight-loss prediction, methylation-cycle prescriptions,\nmicrobiome-mediated effects, and other out-of-scope nutrigenomic claims.\n"
}
Nutrigenomics
Use this skill when the user asks how a germline variant affects nutrient metabolism, food tolerance, or taste perception within declared domains:
- folate metabolism
- vitamin D status
- iron storage
- lactose tolerance
- lipid diet response (APOE e2/e3/e4)
- obesity predisposition (single-marker context only)
Out of scope — refuse, do not approximate
Do NOT use this skill for, and DO surface as refusals:
- Macronutrient ratio prescriptions ("eat X% fat because of your APOE")
- Specific supplement dosing recommendations
- Weight-loss outcome prediction from genotype
- Diet-matching to genotype for fitness goals
- Microbiome-mediated dietary effects
- "Methylation cycle" prescriptions beyond folate marker context
- General health-outcome prediction from a small marker set
- "Detox capacity" framings
- Food allergy risk prediction
- Vitamin megadose prescriptions
The capability returns coverage_status: out_of_scope_for_input for these
domain ids. Treat the refusal literally — do not reach for adjacent records
that look similar.
Contract
- Reads public catalogue metadata only; does not read an Active Genome Index.
- For scanning an active genome, compose with
active_genome_index.classify_genotype_supportusing the variant coordinates carried in each record. - For stratified allele frequencies, call
gnomad.fetch_population_frequency. - For primary GWAS effect sizes, call
gwas.compare_variant_associationsusing thegwas_catalog_idcarried in each record'sdownstream_traits_with_gwas.
Convention: See
skills/conventions/context-routing.md. Convention: Seeskills/conventions/evidence-quality.md. Convention: Seeskills/_output-rules.md.
First Actions
- If the request is shaped like a diet prescription, supplement dosing, weight-loss prediction, or any item in the out-of-scope list, refuse first. Do not call retrieval tools.
- Use
nutrigenomics.list_domainsto confirm the relevant domain is declared and to inspect evidence-tier counts before drilling in. - Use
nutrigenomics.build_source_contextwhen grounding a discussion in provenance is needed — e.g. when a user asks where the records come from or why diet prescriptions are out of scope. - Use
nutrigenomics.retrieve_domain_markerswith the validateddomain_id. Defaultmin_evidence_tier="established". Loosen to"probable"only when the question explicitly invites less-replicated evidence. - Use
nutrigenomics.retrieve_variant_recordswhen the agent already has an rsID and wants to know which declared domains reference it.
Interpretation Rules
- Each record carries
out_of_scope_claims. Surface these as explicit disclaimers — do not paraphrase around them. evidence_tieris literal. Anemergingrecord is not equivalent to anestablishedone; hedge in any agent-generated text accordingly.- Single-marker evidence does not substitute for measured lab values (serum 25(OH)D, ferritin/transferrin saturation, homocysteine, lipid panel) when clinical decisions are at stake.
- Absence of a marker from the catalogue is not evidence of negligible effect — the catalogue is intentionally small and curated.
User-Facing Answer Shape
Do not add a routine Active Genome Index status line for these public catalogue tools. For each cited marker:
- Variant identifier (rsID + gene)
- Established effect (single sentence)
- Evidence tier
- One or two of the most relevant
out_of_scope_claimsas disclaimers - The single most relevant lab measurement that should accompany the marker (when applicable: homocysteine for MTHFR, 25(OH)D for vitamin D markers, ferritin + transferrin saturation for HFE)
Cross-Capability Synthesis
A scope-limited result from this capability is not a final user-facing answer when other Genomi capabilities can contribute orthogonal evidence to the same question. Returning "cannot answer" while applicable capabilities remain unexamined is a host-agent failure mode.
Tools
nutrigenomics.build_source_context
Explain nutrigenomic catalogue provenance, domain definitions, evidence-tier meanings, method limitations, and the non-prescription boundary.
Use when: The user or agent asks what the nutrigenomics catalogue is, where the records come from, what evidence tiers mean, or why the capability refuses diet prescriptions.
Why necessary: Nutrigenomic language is easy to overstate. Explicit source context grounds the agent in the boundary before it interprets records.
Not for: Returning marker records; use nutrigenomics.retrieve_domain_markers or nutrigenomics.retrieve_variant_records.
Example prompts: Explain the source and limitations of Genomi's nutrigenomic catalogue.
Result semantics: Public metadata only. Returns capability provenance, declared domains, evidence-tier definitions, out-of-scope-by-construction items, and the non-prescription boundary note.
nutrigenomics.list_domains
List declared nutrigenomic domains with evidence-tier coverage and explicit out-of-scope-by-construction notes.
Use when: The user asks what nutrigenomic domains Genomi covers, or the host agent needs to validate that a domain is in scope before retrieving markers.
Why necessary: Nutrigenomics is a pseudoscience-prone domain. Listing declared domains and explicit out-of-scope-by-construction items lets the agent refuse out-of-scope questions before reaching for marker records.
Not for: Returning specific marker records; use nutrigenomics.retrieve_domain_markers. Diet prescriptions, supplement dosing, weight-loss prediction.
Example prompts: What nutrigenomic domains does Genomi cover? Is weight-loss diet matching in scope for Genomi nutrigenomics?
Result semantics: Returns the declared domain catalogue, evidence-tier counts per domain, the out-of-scope-by-construction list, and the non-prescription boundary note.
nutrigenomics.retrieve_domain_markers
Retrieve curated single-marker records for a declared nutrigenomic domain, filtered by minimum evidence tier.
Use when: The host agent needs curated single-marker evidence for a declared domain (folate_metabolism, lactose_tolerance, iron_storage, vitamin_d_status, lipid_diet_response, obesity_predisposition).
Why necessary: Returns evidence-tiered records with explicit out_of_scope_claims so the agent can ground a nutrient/tolerance discussion without propagating pseudoscience claims about the variant.
Not for: Diet prescriptions, supplement dosing, weight-loss prediction. Polygenic risk scoring; this is single-marker evidence only. Genome scanning; compose with active_genome_index.classify_genotype_support using the variant coordinates from each record. Population-stratified allele frequencies; use gnomad.fetch_population_frequency. Primary GWAS effect sizes; use gwas.compare_variant_associations with the gwas_catalog_id from downstream_traits_with_gwas.
Example prompts: What does Genomi have on folate_metabolism markers? Retrieve established-tier iron_storage records.
Result semantics: Each record carries variant identifiers, established_effect with GWAS Catalog chain-out, evidence_tier, resolvable source citations, established_caveats, and out_of_scope_claims. The agent must surface out_of_scope_claims as disclaimers rather than paraphrase around them.
nutrigenomics.retrieve_variant_records
Retrieve any nutrigenomic catalogue records referencing a specific rsID.
Use when: The host agent has a specific variant identifier and wants to know whether the nutrigenomic catalogue carries any records for it.
Why necessary: A variant may participate in more than one declared domain. Variant-anchored lookup surfaces all matching curated records at once.
Not for: Variant resolution from coordinate to rsID; use variant.resolve first. Variants outside declared nutrigenomic domains; in_scope_empty indicates the catalogue does not cover the variant.
Example prompts: What does Genomi say about rs1801133 nutrigenomically? Are there nutrigenomic records for rs429358?
Result semantics: Returns one or more curated records referencing the variant. coverage_status='in_scope_empty' when the variant is not in the catalogue; absence is not evidence of negligible effect.
Version History
- 47e0d05 Current 2026-07-05 10:53


