Skip to content

About

Execute SKILL.md agents via 4 modes — binary CLI, npx, HTTP API server, or embedded Node.js SDK

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

66 Commits

Folders and files

Repository files navigation

Open Enthrium AI Agent Runtime

Standalone AI Agent Executor · Apache-2.0 · Windows · Linux · macOS

Run SKILL.md agents and YAML workflows against any enterprise data source — no cloud, no platform, just a single binary.

License: Apache 2.0 GitHub Release Windows Linux macOS npm Website


What is OE Runtime?

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.

Quick Start

npx -y @openenthrium/oe-runtime@latest ./skills/hello-world

Or download a binary from the releases page and run:

# Windows
oe-runtime-win.exe ./skills/hello-world

# Linux / macOS
./oe-runtime-linux ./skills/hello-world

OE Runtime automatically finds oe-config.json in the agent's folder or your current directory.


Running SKILL.md Agents

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: auto

SKILL.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-skill

Pass the folder — OE Runtime resolves agent.yaml inside it automatically.


Skill Pipelines

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.


Skills Library

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.


HTTP Server Mode

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.json

Endpoints:

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

Skill Approval Flow

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.


Embed in Node.js (SDK)

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

const result = await runAgent("./my-skill/agent.yaml", "./oe-config.json");
console.log(result.output);

→ npm package


Supported LLM Providers

openai · anthropic · azure · groq · gemini · ollama · mistral · deepseek · together · fireworks · bedrock · and more


Part of Open Enthrium

🖥️ 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

Contributing

→ See CONTRIBUTING.md for how to add skills and connector adapters.


License

Apache-2.0 — free to use, modify, and deploy for any purpose, including commercial use. No usage limits. No telemetry. No call-home.


About

Execute SKILL.md agents via 4 modes — binary CLI, npx, HTTP API server, or embedded Node.js SDK

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages