Publish events, check consumer lag, and monitor your Kafka topics with AI. OE Runtime lets you run a local Kafka agent that verifies topic health and delivers structured messages with confirmed offsets — no separate Kafka tooling required.
Create a folder called message-queues/ and add these two files:
Create SKILL.md inside a message-queues/ directory. This is the portable skill — it follows the agentskills.io format and runs unchanged on Claude, Cursor, Windsurf, or OE Runtime:
--- name: message-queues description: Publish messages to Kafka topics and verify delivery license: Apache-2.0 metadata: author: Open Enthrium version: "1.0" --- You are a message queue agent. Publish events to Kafka topics and confirm delivery. Format all payloads as JSON. Include event_type, timestamp, and payload in every message. Complete all steps fully before writing your report. ## Step 1: Check Topic Status List the available Kafka topics and their partition counts. Check the consumer group lag for the main topic to see if messages are being consumed. ## Step 2: Publish Test Events Publish 3 test events to the main topic with the following structure: { "event_type": "system.health_check", "timestamp": "<current ISO timestamp>", "payload": { "status": "ok", "sequence": <1, 2, 3> } } Publish them one at a time and confirm each delivery with the returned offset. ## Step 3: Report Summarize queue activity: - Topics found and their partition counts - Consumer group lag before publishing - Events published (topic, offset, timestamp for each) - Delivery confirmation status
Create agent.yaml in the same directory to wire the skill to your connector:
name: Queue Publisher description: Publish messages to Kafka topics and verify delivery connectors: - connection_name: My Kafka connection_type: kafka skills: - path: ./ trigger_type: auto
Create oe-config.json in the same directory:
{
"llm": {
"provider": "openai",
"model": "gpt-4o",
"apiKey": "YOUR_OPENAI_API_KEY"
},
"server": {
"enabled": false,
"port": 3333,
"apiKey": "your-secret-api-key"
},
"connectors": [
{
"connection_name": "My Kafka",
"connection_type": "kafka",
"brokers": ["localhost:9092"],
"clientId": "oe-runtime",
"topic": "my-topic"
}
]
}Replace localhost:9092 with your Kafka broker address. For managed Kafka services like Confluent Cloud or AWS MSK, add SSL and SASL authentication fields to the connector config.
From the parent folder containing your skill directory:
| Method | Best for | Download | |
|---|---|---|---|
| 1 | npx recommended | No install needed — always runs the latest version | — |
| 2 | Windows .exe | Download once, run offline on Windows | ⊞ Windows (.exe) |
| 3 | macOS binary | Download once, run offline on Mac | macOS |
| 4 | Linux binary | Server deployments, cron jobs, Docker | 🐧 Linux |
| 5 | API Server integration | Call from any app, webhook, or automation pipeline | 📮 Postman Collection |
npx -y @openenthrium/oe-runtime@latest ./message-queues
oe-runtime-win.exe ./message-queues
chmod +x oe-runtime-macos
./oe-runtime-macos ./message-queues
First run blocked? System Settings → Privacy & Security → Allow Anyway.
chmod +x oe-runtime-linux
./oe-runtime-linux ./message-queues
Add a "server" block to oe-config.json, then start with --serve:
{
"llm": { ... },
"server": { "enabled": true, "port": 3333, "apiKey": "your-secret-key" },
"connectors": [ ... ]
}
npx -y @openenthrium/oe-runtime@latest --serve --config oe-config.json
Run with inline YAML:
curl -X POST http://localhost:3333/run \
-H "Content-Type: application/json" \
-H "X-API-Key: your-secret-key" \
-d '{"yaml": "...", "params": {}}'
Or run from a file on the server:
curl -X POST http://localhost:3333/run-file \
-H "Content-Type: application/json" \
-H "X-API-Key: your-secret-key" \
-d '{"file": "/path/to/agent.yaml", "params": {}}'
Download OE Runtime and run any AI agent locally or as a server — no cloud required.
Get OE Runtime →