# Dimos Runtime

Work with the running DimOS system.

- Repository: https://github.com/dimensionalOS/dimos (4702 stars)
- Category: AI and agents
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add dimensionalOS/dimos --skill dimos-runtime -g -a claude-code -y`
Codex: `npx skills add dimensionalOS/dimos --skill dimos-runtime -g -a codex -y`
Cursor: `npx skills add dimensionalOS/dimos --skill dimos-runtime -g -a cursor -y`
Gemini CLI: `npx skills add dimensionalOS/dimos --skill dimos-runtime -g -a gemini-cli -y`

## Description

Work with the running DimOS system. Discover modules, RPCs and streams, read a stream, write agent modules that watch streams or drive the robot, and schedule cron jobs.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

HarnessRuntime is a module inside the running DimOS system. It serves `inventory` and `agent_module` through McpServer. The harness implements `stream_get` locally through the DimOS Web SDK relay session. The gateway that hosts this conversation runs your `job` tool and delivers events, so there is nothing to poll. `docs/usage/agent/harness.md` in the DimOS checkout describes the parts.

The `dimos_runtime` section of the system prompt is a snapshot of the system when this conversation started. Later changes arrive inside messages, as a `<dimos_runtime_change>` block that lists facts added, changed and removed, or as a `<dimos_runtime>` block that states the whole runtime again. The gateway writes them. They are not user input.

Discovery goes from summary to detail. Read only what the task needs:

1. The snapshot lists the modules, their RPC signatures with the first line of each doc, and the streams.
2. `inventory module=NAME` gives the module's documentation, its RPC signatures with the first paragraph of each doc, and its streams with the import of each message type.
3. `inventory module=NAME rpc=NAME` gives one RPC's full documentation.

`inventory` with no arguments describes the whole system, its agent modules, and `environment.relay`, which is null or `{url, robot}`. Discovery is live on every call.

An RPC is a module's Python API, and a `@skill` is an RPC too. A `Dimos.connect()` client calls it as `app.get_module(MODULE).RPC(...)`, and a module calls it through an attribute typed with that module's Spec. A stream is read once with `stream_get`, or continuously by a module with an `In` port of the same name and type.

The rest: https://github.com/dimensionalOS/dimos/blob/HEAD/dimos/agents/harness/skills/dimos-runtime/SKILL.md
