Genomi

Skills and Tools

How agents use Genomi skills, base MCP tools, genomi.invoke, semantic retrieval hints, defaults, and response profiles.

Genomi is designed for host agents. Skills provide routing rules; MCP tools perform the actual work.

Skill files

FileRole
SKILL.mdUmbrella Genomi skill and core operating rules
AGENTS.mdProject/session rules for agents working in the repository
INSTALL_FOR_AGENTS.mdCanonical install workflow
skills/<capability>/SKILL.mdCapability-specific routing and result semantics
skills/conventions/*.mdShared conventions for context routing and evidence quality

The installer symlinks the umbrella skill and per-capability skills into detected host skill directories such as ~/.claude/skills, ~/.codex/skills, ~/.openclaw/skills, ~/.hermes/skills, and ~/.agents/skills.

Static guidance vs live state

Skill files are static guidance. Live state comes from Genomi operations:

  • genomi.describe_context for selected user, AGI, access readiness, and active response profile.
  • genomi.check_libraries for installed public libraries.
  • Operation result envelopes for defaults, source state, missing libraries, and background jobs.

Do not infer current genome context from old chat memory or from a skill file.

Base tools

The default MCP tool list exposes the base capabilities:

  • genomi.* context, install, user/profile, library, background-job, and dispatcher tools.
  • journal.* notebook tools.
  • research.* reviewed-research memory tools because they belong to the journal capability.

Non-base capability tools are invoked through genomi.invoke.

Dispatching a capability tool

Read the capability skill first, then call:

{
  "tool": "pharmacogenomics.review_medication",
  "params": {
    "drug": "clopidogrel",
    "gene": "CYP2C19"
  }
}

genomi.invoke validates the registered operation name and that operation's own input schema before dispatch.

Semantic retrieval hints

Search-like operations can accept semantic_context. The host should always preserve the user's original wording as raw_query and add alternate biomedical wording only when the chat supports it.

Example:

{
  "tool": "prs.search_scores",
  "params": {
    "query": "will I go bald",
    "semantic_context": {
      "raw_query": "will I go bald",
      "host_expansions": [
        "male pattern baldness",
        "androgenetic alopecia",
        "hair loss"
      ],
      "host_entities": [
        {
          "text": "androgenetic alopecia",
          "type": "trait_or_condition"
        }
      ]
    }
  }
}

Semantic expansions are retrieval terms, not evidence. Inspect returned term_matches, term_misses, retrieval streams, and diagnostics.

Response profiles

The install flow asks for a default answer style and persists it in the Genomi registry. Current profiles:

ProfileUse
eli5Teaching style with definitions and step-by-step explanation
patientConcise patient-friendly explanations
literateGenetics-literate answers with genes, variants, zygosity, and evidence classes
expertMethods, quality checks, source provenance, caveats, and structured evidence

Response profiles shape communication style only. They do not override evidence limits, privacy boundaries, or clinical-confirmation language.

Direct CLI vs MCP

Routine use is MCP. The normal shell commands are:

genomi serve
genomi install
genomi --help

Developer/debug shell surfaces such as genomi tools and genomi call are gated by GENOMI_CLI=1 in the current runtime. Agent-facing docs should route tool execution through MCP.