Run SKILL.md agents and YAML workflows against any enterprise data source — no cloud, no platform, just a single binary.
A standalone binary that reads a declarative agent file, connects to your enterprise data sources, and runs an AI workflow — locally or as an HTTP API server. No Python. No LangChain. No Docker required.
Supports two agent formats:
- SKILL.md — portable Markdown-based agent skills (agentskills.io spec). The same file runs on Claude, Cursor, Windsurf, or OE Runtime unchanged.
- agent.yaml — OE-native YAML format with inline steps, skill pipelines, and scheduling.
npx -y @openenthrium/oe-runtime@latest ./skills/hello-worldOr download a binary from the releases page and run:
# Windows
oe-runtime-win.exe ./skills/hello-world
# Linux / macOS
./oe-runtime-linux ./skills/hello-worldOE Runtime automatically finds oe-config.json in the agent's folder or your current directory.
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 in plain English
connectors:
- connection_name: My Database
connection_type: postgresql
skills:
- path: ./
trigger_type: autoSKILL.md:
---
name: sql-database-analyst
description: Query a database and summarise results in plain English.
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:
npx -y @openenthrium/oe-runtime@latest ./my-skillPass the folder — OE Runtime resolves agent.yaml inside it automatically.
Chain multiple SKILL.md skills together in one agent.yaml. Skills run in order, passing output as context to the next. Use trigger_type: manual to pause and require approval before a skill executes.
name: My Agent
skills:
- path: ./hello-world
trigger_type: auto # runs immediately
- path: ./email
trigger_type: manual # pauses — requires approval
connectors: ["My Email"] # only this connector is visible to the skill
- path: ./team-messaging
trigger_type: manual
connectors: ["My Slack"]connectors: on a skill scopes which connectors the LLM can see for that step. Omit to inherit all. Set connectors: [] for skills that need no data access.
CLI approval: when a manual skill is reached, the runtime prints a preview and prompts [Y/n]. Press Enter to approve, n to skip, or Ctrl+C to abort.
HTTP approval: see the /approve-chain endpoint below.
Download oe-runtime-skills.zip — 27 ready-to-run skills covering:
sql-databases · nosql-cache · email · team-messaging · cloud-drives · file-storage · web-search · rest-api · graphql · ssh · image-generation · speech-audio · video-generation · music-generation · ocr-vision · iot-messaging · message-queues · blockchain-web3 · productivity-crm · directory-identity · local-exec · hello-world · and more
Each skill has a SKILL.md + agent.yaml + oe-config.json ready to go.
The included OE Skills Collection (skills/agent.yaml) is an orchestrator that exposes all 27 skills from a single entry point — run it, pick a skill, approve it.
Enable server mode in oe-config.json:
{
"llm": { "provider": "openai", "apiKey": "sk-...", "model": "gpt-4o" },
"server": { "enabled": true, "port": 3333, "apiKey": "your-secret" },
"connectors": [ ... ]
}Start:
npx -y @openenthrium/oe-runtime@latest --serve --config oe-config.jsonEndpoints:
| Method | Path | Description |
|---|---|---|
GET |
/health |
Liveness check |
POST |
/run |
Run an agent from inline YAML |
POST |
/run-file |
Run an agent from a file path on disk |
POST |
/approve-chain |
Approve, skip, or abort a paused manual skill |
When an agent has trigger_type: manual skills, the HTTP server pauses at each one and returns a pending_skill_chain token. The client calls /approve-chain to resume.
Step 1 — start the agent:
curl -X POST http://localhost:3333/run-file \
-H "x-api-key: your-secret" \
-H "Content-Type: application/json" \
-d '{"file": "/path/to/agent.yaml"}'{
"success": true,
"output": "",
"pending_skill_chain": { "chain_id": "abc123", "skill_name": "email" }
}Step 2 — approve the skill:
curl -X POST http://localhost:3333/approve-chain \
-H "x-api-key: your-secret" \
-H "Content-Type: application/json" \
-d '{"chain_id": "abc123", "approved": true, "abort": false}'Step 3 — skip or abort:
# Skip this skill, continue to the next
curl ... -d '{"chain_id": "abc123", "approved": false, "abort": false}'
# Abort the entire pipeline immediately
curl ... -d '{"chain_id": "abc123", "approved": false, "abort": true}'chain_id is one-time use. If another manual skill follows, the response contains a new pending_skill_chain. When the pipeline completes, pending_skill_chain is null.
npm install @openenthrium/oe-runtime-sdkconst { runAgent } = require("@openenthrium/oe-runtime-sdk");
const result = await runAgent("./my-skill/agent.yaml", "./oe-config.json");
console.log(result.output);openai · anthropic · azure · groq · gemini · ollama · mistral · deepseek · together · fireworks · bedrock · and more
| 🖥️ Platform | open-enthrium-ai-platform — full web app with workspaces, RAG, Agent Builder |
| 🔌 MCP Server | open-enthrium-ai-mcp-server — connect Claude Code, Cursor, Windsurf to enterprise data |
| 📦 Node.js SDK | @openenthrium/oe-runtime-sdk |
| 🌐 Website | openenthrium.com |
→ See CONTRIBUTING.md for how to add skills and connector adapters.
Apache-2.0 — free to use, modify, and deploy for any purpose, including commercial use. No usage limits. No telemetry. No call-home.