Home Blog Products OE Platform OE Runtime OE MCP Downloads
OE Runtime

Run SKILL.md agents — CLI, HTTP API, npx, or SDK

A standalone binary that executes portable AI agents defined in SKILL.md and agent.yaml. No Docker, no install, no code. Works on Windows, Linux, and macOS.

SKILL.md + agent.yaml Single Binary — No Install CLI · HTTP API · npx · SDK 10+ LLM Providers Auto + Manual Skill Chains 27 Ready-to-Run Skills
📄

Write a SKILL.md agent

Define your agent's instructions and workflow steps in a portable SKILL.md file. Wire it to connectors and LLM settings with a slim agent.yaml. No code required.

⚙️

Add credentials

Put your LLM API key and connector credentials in oe-config.json. The runtime matches them to your agent automatically. Never commit this file to git.

▶️

Run anywhere

Execute via CLI for automation, start as an HTTP API server for web integrations, or embed via the Node.js SDK. The same agent.yaml works in all three modes.

Running SKILL.md Agents

Three files. One folder. Any connector.

A SKILL.md skill is a Markdown file — frontmatter carries the metadata, ## Step headings define the workflow. Connector wiring stays in agent.yaml + oe-config.json, keeping the skill itself portable.

Folder structure

my-skill/
├── SKILL.md       ← the portable skill (agentskills.io format)
├── agent.yaml     ← wires SKILL.md to your connectors
└── oe-config.json  ← LLM key + connector credentials

agent.yaml

name: SQL Database Analyst
description: Query a database and summarise results
connectors:
  - connection_name: My Database
    connection_type: postgresql
skills:
  - path: ./
    trigger_type: auto

SKILL.md

---
name: sql-database-analyst
description: Query a database and summarise results.
license: Apache-2.0
metadata:
  author: Your Name
  version: "1.0"
---

You are a data analyst. Use the available database tools to answer the user's question clearly.

## Step 1: Explore Schema
List the available tables and understand the data structure.

## Step 2: Query
Run the most relevant query for the user's request.

## Step 3: Report
Summarise the findings in plain English with key numbers highlighted.

oe-config.json

{
  "llm": {
    "provider": "openai",
    "apiKey": "sk-...",
    "model": "gpt-4o"
  },
  "connectors": [{
    "connection_name": "My Database",
    "connection_type": "postgresql",
    "host": "localhost",
    "port": 5432,
    "database": "mydb",
    "user": "postgres",
    "password": "YOUR_DB_PASSWORD"
  }]
}

Run it — pass the folder, OE Runtime resolves agent.yaml automatically

npx -y @openenthrium/oe-runtime@latest ./my-skill
HTTP API Server

Call agents from any app

Start OE Runtime in server mode and call agents over HTTP — from any language, any platform.

Start the server

oe-runtime-linux --serve --config oe-config.json
# → http://localhost:3333

oe-config.json — server section

{
  "server": {
    "enabled": true,
    "port": 3333,
    "apiKey": "your-secret"
  }
}

API endpoints

GET
/health
Server health check
POST
/run
Run an agent from a file path or inline YAML
POST
/run-file
Run an agent from a server-side file path
POST
/approve-chain
Approve or abort a paused manual skill chain

Example run call

curl -X POST http://localhost:3333/run \
  -H "x-api-key: your-secret" \
  -H "Content-Type: application/json" \
  -d '{"file":"./hello-world/agent.yaml","params":{}}'
Skill Chains

Auto and manual approvals

Chain multiple skills in one agent.yaml. Auto skills run immediately; manual skills pause and wait for human approval before continuing. Project 1 tutorial →  Project 2 tutorial →

agent.yaml — multi-skill chain

name: Approval Demo
skills:
  - path: ./gather
    trigger_type: auto
  - path: ./review
    trigger_type: manual
  - path: ./send
    trigger_type: auto
🟢Auto skills

trigger_type: auto — run immediately, no human input needed.

⏸️Manual skills

trigger_type: manual — pauses and returns a pending_skill_chain token. Call POST /approve-chain to continue or abort.

💬Messenger integrations

Wire OE Runtime to Telegram or Slack. Send yes / no in chat to approve or cancel a paused skill. Telegram tutorial →  Slack tutorial →

Node.js SDK

Embed agents in your app

Import OE Runtime as a library — same engine as the CLI, zero subprocess overhead.

Install

npm install @openenthrium/oe-runtime-sdk

Run an agent from files

const { runAgent } = require("@openenthrium/oe-runtime-sdk");

const result = await runAgent(
  "./agents/sales-report.yaml",
  "./oe-config.json",
  { company: "Acme Corp" }
);

console.log(result.output);
Same engine, no overhead

Direct in-process execution — no subprocess, no HTTP round-trip.

Same agent.yaml — all modes

CLI for automation, HTTP API for web integrations, SDK for embedding — zero changes to your agent files.

@openenthrium/oe-runtime-sdk on npm →
LLM Providers

Bring your own model

Swap provider and model in oe-config.json to use any supported LLM. No code changes.

OpenAI Anthropic Azure OpenAI Google Gemini Groq Ollama Mistral DeepSeek Together AI Fireworks AWS Bedrock + more

Start building with OE Runtime

Write a SKILL.md agent, add your credentials, run it anywhere.

npx @openenthrium/oe-runtime@latest  ·  GitHub