kelam.sh Docs Try it Add to Claude
Coding agents

Let your coding agent drive it

Kelam is designed to be operated by a model. The CLI ships its own operating guide — the JSON contract, the build loop, how to follow a live call without polling, how to batch — and one command plants that guide everywhere a coding agent looks for instructions. Then you just ask.

Just ask it to set itself up

The plugin ships a setup skill, so the shortest path is to say so:

It runs the installer, sets the server and credentials, verifies with a real call to the API, and installs the guide. On Claude Code it's also /kelam:setup. The manual version is below.

Install the guide into your project

$ kelam skill --install

Run it once per project. It writes the same canonical document into each harness's conventional location:

AGENTS.mdAlways. A marker-fenced block — your own content in the file is left untouched. Read by Copilot, Cursor, Codex, OpenCode and friends.
.claude/skills/kelam/A Claude Code project skill, so it activates on its own when the conversation is about voice agents or calls.
.cursor/rules/kelam.mdcA Cursor rule.
.github/copilot-instructions.mdCopilot instructions.

The last three are written when those directories already exist; --all forces every location. Re-running is safe. Just want to read it? kelam skill prints the whole guide to stdout.

It can't go stale. The guide lives inside the CLI, so it always describes the version you actually have installed — and kelam update refreshes an installed project copy automatically.

The Claude Code plugin

For Claude Code there's a plugin that bundles the guide with a setup skill and a visualization skill:

/plugin marketplace add samsadsam/nousdata
/plugin install kelam@nousdata
kelam-setupSay "set up kelam.sh for me" and it installs the CLI, configures the server and credentials, verifies it works, and plants the guide. Also available as /kelam:setup.
kelam-operateThe driving guide: create and deploy agents, place and follow calls, batch-call a list, extract fields, text people back.
kelam-vizTurns kelam export / kelam stats output into self-contained HTML dashboards.

Not on Claude Code? kelam skill --install reaches every other harness in one shot.

Read the three skills before installing anything: kelam-setup · kelam-operate · kelam-viz.

What to ask for once it's installed

Build

"Build me an agent that calls our no-shows from yesterday and offers to reschedule. Test it against a simulated grumpy caller before you deploy it."

Batch

"Call every number in leads.csv, ask if they're still looking, and give me a CSV with a yes/no and a one-line reason per row."

Debug

"This call went badly — pull the exact config that took it, work out what caused it, fix the scenario, and replay the call against the fix."

Wire something up

"Write a tool that checks our booking API for open slots, put the key in a workspace secret, and give the front desk agent access to it."

Measure

"Export the last 30 days and build me a dashboard: volume by day, average duration, talk ratio, and which agent costs the most per booking."

Stop everything

"Kill anything on the line right now." — the guide has an explicit two-sweep procedure for exactly this.

Why this works better than an SDK

Skill, connector, or both?

The CLI skillThe MCP connector
WhereAny coding agent, in a project on your machineclaude.ai, Claude mobile, Claude Code
Can build agentsYes — files, tests, experiments, the whole loopNo — it operates existing agents
Needs an installThe CLINothing, once the URL is added
Best forWriting and shipping agentsAsking for a call and getting an answer

In Claude Code they compose nicely: add the connector for fast call operations, and keep the skill for the build loop.

Turning calls into a dashboard

Call data is designed to be charted. kelam export emits call logs plus derived metrics — turns, words, talk ratio, durations, cost, and a column per extracted field — as JSONL, JSON or CSV.

$ kelam export --since 30d -o calls.jsonl
$ kelam export --since 30d --format csv -o calls.csv
$ kelam stats --since 7d          # aggregate counts, durations, per-provider cost

With the plugin installed, "visualize my calls from the last month" produces a self-contained HTML dashboard from that export.