Skill
by @cwendler
Connect your OpenClaw instance to kemia (https://kemia.byte5.ai) for visual agent configuration management. Use when: (1) connecting to a kemia deployment fo...
clawhub install kemiaπ About This Skill
name: kemia description: > Connect your OpenClaw instance to kemia (https://kemia.byte5.ai) for visual agent configuration management. Use when: (1) connecting to a kemia deployment for the first time (/connect), (2) importing an edited agent config from kemia (/import), (3) checking connection and deploy status (/kemia-status), (4) generating a one-time login link for the kemia web UI (/kemia-link). NOT for: editing agent configs directly β that happens in the kemia web UI.
Kemia β Agent Configuration Manager
Manage your agent configurations through the kemia web interface.
Architecture: OpenClaw always initiates. Kemia never pushes. All communication is pull-based via the v1 API.
Prerequisites
jq must be installedcurl must be available~/.openclaw/workspace/skills/kemia/config.jsonCommands
/connect (two-step, resumable)
Connect this OpenClaw instance to a kemia deployment. Works in two steps because the confirmation happens in a browser and can take arbitrary time β the script never runs a long polling loop that could be killed by OpenClaw/Exec.
Step 1 β start enrollment: /kemia connect https://kemia.byte5.ai
POST /api/v1/enroll β enrollment URLskills/kemia/enrollment.jsonStep 2 β user clicks, confirms in the browser, returns to the agent.
Step 3 β complete: /kemia connect (no argument)
enrollment.json, polls /status once./kemia connect again; exits.config.json, exports workspace .md files, cleans up state.Already connected? A fresh /kemia connect without arguments is safe: the script verifies config.json against /api/v1/status first. If the key works, it reports "already connected" and exits without touching anything.
Re-connecting from the same machine: the script sends a stable machine fingerprint (sha256(hostname + workspace_path)) with the enrollment request. If kemia recognizes the machine, the confirmation page offers Re-Authenticate (rotate the API key on the existing instance, keep all agents) or Set up as a new instance (fresh start). Duplicates are no longer silently created.
No shared secrets needed. The enrollment URL is the authentication.
Script: scripts/connect.sh [kemia-url]
Environment variables (optional):
OPENCLAW_WORKSPACE β workspace path (default: ~/.openclaw/workspace)OPENCLAW_INSTANCE_NAME β instance name (default: hostname)OPENCLAW_AGENT_NAME β agent name (default: CyberClaw)/kemia-link
Generate a one-time login URL for the kemia web interface (15-minute expiry).
Script: scripts/kemia-link.sh
Use this when the user needs a fresh session β e.g. after logout or on a new device.
/import [agent-id]
Import the latest deploy-ready snapshot from kemia into the workspace.
Script: scripts/import.sh [agent-id]
.md files to .kemia-backup/ before overwritingagent-id given, uses the saved ID from config.jsonAfter import, restart OpenClaw for changes to take effect.
/kemia-status
Check connection health and whether a deploy-ready snapshot is pending.
Script: scripts/status.sh
Config File
After /connect, credentials are stored in:
~/.openclaw/workspace/skills/kemia/config.json
{
"apiKey": "km_...",
"instanceId": "clxyz...",
"baseUrl": "https://kemia.byte5.ai",
"agentId": "clxyz..."
}
Setup Flow
1. Run /kemia connect https://kemia.byte5.ai (or your kemia instance URL) β prints enrollment URL, exits.
2. Click the enrollment URL β confirm in the browser β logged into kemia.
3. Run /kemia connect again (no arguments) β completes setup, exports agent config.
4. Shape the config in the kemia web UI (Persona, Role, Knowledge, Team).
5. Create a snapshot β mark it "deploy ready".
6. Run /import β restart OpenClaw.
API Reference
For full endpoint documentation see references/api.md.
βοΈ Configuration
jq must be installedcurl must be available~/.openclaw/workspace/skills/kemia/config.json