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
| File | Role |
|---|---|
SKILL.md | Umbrella Genomi skill and core operating rules |
AGENTS.md | Project/session rules for agents working in the repository |
INSTALL_FOR_AGENTS.md | Canonical install workflow |
skills/<capability>/SKILL.md | Capability-specific routing and result semantics |
skills/conventions/*.md | Shared 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_contextfor selected user, AGI, access readiness, and active response profile.genomi.check_librariesfor 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:
| Profile | Use |
|---|---|
eli5 | Teaching style with definitions and step-by-step explanation |
patient | Concise patient-friendly explanations |
literate | Genetics-literate answers with genes, variants, zygosity, and evidence classes |
expert | Methods, 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 --helpDeveloper/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.