Hybrid-Engine Data Analysis
code-yeongyu/oh-my-openagent
Analyzes CSV, Parquet and JSON data with DuckDB, Polars, numpy and matplotlib, preferring a persistent kernel over repeated one-shot processes.
Guide for using OptimusKG, the biomedical knowledge graph, through the optimuskg Python client.
$ npx skills add mims-harvard/OptimusKG --skill optimuskg -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mims-harvard/OptimusKG optimuskg --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mims-harvard/OptimusKG.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/optimuskg .claude/skills/optimuskg && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "optimuskg" agent skill from https://github.com/mims-harvard/OptimusKG/tree/main/skills/optimuskg into .claude/skills/optimuskg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimuskg", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mims-harvard/OptimusKG/tree/main/skills/optimuskgType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mims-harvard/OptimusKG --skill optimuskg -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mims-harvard/OptimusKG optimuskg --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mims-harvard/OptimusKG.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/optimuskg .agents/skills/optimuskg && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "optimuskg" agent skill from https://github.com/mims-harvard/OptimusKG/tree/main/skills/optimuskg into .agents/skills/optimuskg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimuskg", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mims-harvard/OptimusKG --skill optimuskg -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mims-harvard/OptimusKG optimuskg --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mims-harvard/OptimusKG.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/optimuskg .cursor/skills/optimuskg && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "optimuskg" agent skill from https://github.com/mims-harvard/OptimusKG/tree/main/skills/optimuskg into .cursor/skills/optimuskg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimuskg", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mims-harvard/OptimusKG.git --path skills/optimuskg--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mims-harvard/OptimusKG --skill optimuskg -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mims-harvard/OptimusKG optimuskg --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mims-harvard/OptimusKG.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/optimuskg .gemini/skills/optimuskg && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "optimuskg" agent skill from https://github.com/mims-harvard/OptimusKG/tree/main/skills/optimuskg into .gemini/skills/optimuskg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimuskg", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mims-harvard/OptimusKG optimuskgInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mims-harvard/OptimusKG --skill optimuskg -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mims-harvard/OptimusKG.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/optimuskg .github/skills/optimuskg && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "optimuskg" agent skill from https://github.com/mims-harvard/OptimusKG/tree/main/skills/optimuskg into .github/skills/optimuskg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimuskg", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mims-harvard/OptimusKG --skill optimuskg -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mims-harvard/OptimusKG optimuskg --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mims-harvard/OptimusKG.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/optimuskg .opencode/skills/optimuskg && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "optimuskg" agent skill from https://github.com/mims-harvard/OptimusKG/tree/main/skills/optimuskg into .opencode/skills/optimuskg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimuskg", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
optimuskgGuide for using OptimusKG, the biomedical knowledge graph, through the optimuskg Python client.
Optimuskg is an agent skill from mims-harvard/OptimusKG. Guide for using OptimusKG, the biomedical knowledge graph, through the optimuskg Python client. Use this when loading, querying, filtering, or analyzing OptimusKG data — genes, drugs, diseases, phenotypes, anatomy, pathways, and their relationships — as Polars DataFrames or a NetworkX graph, or when downloading the published graph from Harvard Dataverse.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `reference/graph-schema.md`).
It sits in Data & Analytics, covering DataFrames and Knowledge graphs. It works with NetworkX, Polars and Python. The repository describes itself as: A modern multimodal knowledge graph with type-specific metadata across biomedical domains. The licence is MIT.
Read from SKILL.md and the folder at commit 4fb3529. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvpipFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
dataverse.harvard.eduAlso links to:
optimuskg.aidoi.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Optimuskg loads about 1.9k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 581 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from mims-harvard/OptimusKG at commit 4fb3529, republished under its MIT licence (© mims-harvard). 581 words, ~1,872 tokens.
.claude/skills/optimuskg/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.OptimusKG is a modern multimodal biomedical knowledge graph (190,531 nodes
across 10 entity types, 21,813,816 edges across 27 relation types) integrating
65 resources grounded in 18 ontologies via the BioCypher framework and Biolink
Model. It is published on Harvard Dataverse
as Apache Parquet files and consumed through the optimuskg PyPI client.
This skill covers using the published graph via the client. It is not for
developing the data pipeline in the mims-harvard/optimuskg repo — that work
uses the repo's own /node-catalog-sync skill.
Use the optimuskg client when you need to:
MultiDiGraph.Always prefer this client over hand-rolling Dataverse downloads — it resolves file IDs automatically and caches locally.
uv add optimuskg # in a uv project (preferred — see the `uv` skill)
pip install optimuskgThe client depends on polars (DataFrames) and networkx (graph view).
import optimuskg
# Download a specific file; returns its local cached path
local_path = optimuskg.get_file("nodes/gene.parquet")
# Read a single Parquet file as a Polars DataFrame
drugs = optimuskg.load_parquet("nodes/drug.parquet")
# Load nodes + edges as Polars DataFrames (lcc=True -> largest connected component only)
nodes, edges = optimuskg.load_graph(lcc=True)
# Load as a NetworkX MultiDiGraph with properties merged onto node/edge attrs
G = optimuskg.load_networkx(lcc=True)| Need | Function | Returns |
|---|---|---|
| Just the file on disk | get_file(path, *, force=False) | pathlib.Path |
| One table as a DataFrame | load_parquet(path, *, force=False, **read_parquet_kwargs) | pl.DataFrame |
| Whole graph as DataFrames | load_graph(*, lcc=False, force=False) | (nodes, edges) tuple of pl.DataFrame |
| Whole graph as NetworkX | load_networkx(*, lcc=False, force=False, parse_properties=True) | nx.MultiDiGraph |
Notes:
load_parquet forwards extra kwargs to pl.read_parquet — e.g. push down
column selection: optimuskg.load_parquet("nodes/drug.parquet", columns=["id"]).force=True re-downloads even if the file is already cached.load_networkx always builds a MultiDiGraph regardless of edge
directionality; call G.to_undirected() if you need an undirected view.lcc=True for a smaller,
connected variant unless you specifically need every node.Paths mirror the catalog layout under data/gold/kg/parquet/ in the source repo:
optimuskg.get_file("nodes.parquet") # full nodes table
optimuskg.get_file("edges.parquet") # full edges table
optimuskg.get_file("largest_connected_component_nodes.parquet") # LCC nodes
optimuskg.get_file("largest_connected_component_edges.parquet") # LCC edges
optimuskg.get_file("nodes/gene.parquet") # only Gene (GEN) nodes
optimuskg.get_file("edges/disease_gene.parquet") # only DIS-GEN edgesnodes/<type>.parquet files use the lowercase entity name (gene, drug, …);
edges/<a>_<b>.parquet files use the lowercase node pair (disease_gene,
drug_gene, …).
Node table columns: id, label (the type code, e.g. GEN), properties.
Edge table columns: from, to, label (e.g. DIS-GEN), relation
(e.g. ASSOCIATED_WITH), undirected, properties.
In the unified nodes.parquet / edges.parquet tables, properties is a JSON
string. In the stratified per-type files (nodes/<type>.parquet,
edges/<label>.parquet) it is expanded into native typed columns as a Polars
Struct.
The 10 node type codes:
| Label | Type | Label | Type | |
|---|---|---|---|---|
GEN | Gene | ANA | Anatomy | |
DIS | Disease | MFN | Molecular Function | |
BPO | Biological Process | CCO | Cellular Component | |
PHE | Phenotype | PWY | Pathway | |
DRG | Drug | EXP | Exposure |
For the full edge-label/relation taxonomy (all 27 edge types and their relation
strings) and per-type property fields, see
reference/graph-schema.md.
Filter Polars DataFrames by type/relation:
import polars as pl
nodes, edges = optimuskg.load_graph(lcc=True)
genes = nodes.filter(pl.col("label") == "GEN")
dis_gen = edges.filter(pl.col("relation") == "ASSOCIATED_WITH")Filter a NetworkX graph (properties are merged onto attrs):
G = optimuskg.load_networkx(lcc=True)
# Nodes by type code
genes = [n for n, a in G.nodes(data=True) if a["label"] == "GEN"]
# Edges by relation
expression = [
(u, v) for u, v, a in G.edges(data=True)
if a["relation"] == "EXPRESSION_PRESENT"
]Pass parse_properties=False to load_networkx to keep properties as a raw
JSON string instead of merging parsed keys into the attribute dicts.
The client targets doi:10.7910/DVN/IYNGEV on https://dataverse.harvard.edu
by default, and caches downloads in platformdirs.user_cache_dir("optimuskg")
(~/.cache/optimuskg on Linux, ~/Library/Caches/optimuskg on macOS). Cache
keys include the dataset version, so a new release invalidates it automatically.
Override from code or via environment variables:
optimuskg.set_cache_dir("/data/optimuskg-cache")
optimuskg.set_doi("doi:10.7910/DVN/EXAMPLE") # target a different release
optimuskg.set_server("https://dataverse.example.org") # non-Harvard installation
# Read current settings
optimuskg.get_cache_dir(); optimuskg.get_doi(); optimuskg.get_server()export OPTIMUSKG_CACHE_DIR=/data/optimuskg-cache
export OPTIMUSKG_DOI=doi:10.7910/DVN/EXAMPLE
export OPTIMUSKG_SERVER=https://dataverse.example.org10.7910/DVN/IYNGEV.For full details (function signatures, per-type schemas, edge relations), read the official docs — they expose machine-readable text files:
© mims-harvard, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/optimuskg of mims-harvard/OptimusKG.
Open the folder on GitHubat commit 4fb3529
Optimuskg next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Optimuskg this skillmims-harvard/OptimusKG | 147 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Hybrid-Engine Data Analysiscode-yeongyu/oh-my-openagent | 70k | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| Narwhalsanam-org/metaxy | 124 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Optimize For GPUK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| PolarsK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Ingesting Dataancoleman/ai-design-components | 525 | — | ~1.9k | Automated safety check: Pass | MIT |
code-yeongyu/oh-my-openagent
Analyzes CSV, Parquet and JSON data with DuckDB, Polars, numpy and matplotlib, preferring a persistent kernel over repeated one-shot processes.
anam-org/metaxy
Effectively use Narwhals to write dataframe-agnostic code that works seamlessly across multiple Python dataframe libraries.
K-Dense-AI/scientific-agent-skills
GPU-accelerates scientific Python on NVIDIA hardware and verifies that the result is correct and faster.
K-Dense-AI/scientific-agent-skills
High-performance DataFrame library for Python ETL, analytics, and pandas migration.
ancoleman/ai-design-components
Data ingestion patterns for loading data from cloud storage, APIs, files, and streaming sources into databases.
ancoleman/ai-design-components
Transform raw data into analytical assets using ETL/ELT patterns, SQL (dbt), Python (pandas/polars/PySpark), and orchestration (Airflow).
mims-harvard/OptimusKG
Create publication figures with matplotlib/seaborn/plotly. An agent skill from mims-harvard/OptimusKG.
mims-harvard/OptimusKG
Create distinctive, production-grade frontend interfaces with high design quality.
mims-harvard/OptimusKG
Enforce synchronization between Kedro node files and catalog YAML files in the OptimusKG project.
Categories
Guide for using OptimusKG, the biomedical knowledge graph, through the optimuskg Python client. Optimuskg is an agent skill from mims-harvard/OptimusKG. Guide for using OptimusKG, the biomedical knowledge graph, through the optimuskg Python client.
Optimuskg fits situations like: tasks that involve DataFrames; tasks that involve Knowledge graphs.
Run `npx skills add mims-harvard/OptimusKG --skill optimuskg -a claude-code`. Or copy the skill folder (skills/optimuskg in mims-harvard/OptimusKG) into .claude/skills/optimuskg in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mims-harvard/OptimusKG --skill optimuskg -a codex`. Or copy the skill folder (skills/optimuskg in mims-harvard/OptimusKG) into .agents/skills/optimuskg in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mims-harvard/OptimusKG --skill optimuskg -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/optimuskg, .gemini/skills/optimuskg, .github/skills/optimuskg and .opencode/skills/optimuskg in your project.
Going by SKILL.md and its folder, Optimuskg needs the command-line tools its instructions call (uv and pip). Our summary lists: Python 3.
SKILL.md names 3 domains. In commands or code: dataverse.harvard.edu; the agent is likely to contact it when it follows the instructions. As links in the text: optimuskg.ai and doi.org. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Optimuskg is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Optimuskg: Hybrid-Engine Data Analysis (code-yeongyu/oh-my-openagent, 70k stars), Narwhals (anam-org/metaxy, 124 stars), Optimize For GPU (K-Dense-AI/scientific-agent-skills, 48k stars) and Polars (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mims-harvard (a GitHub organization) maintains it in mims-harvard/OptimusKG, which has 147 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 21, 2026.
Source: mims-harvard/OptimusKG on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.