A skill pack your agent
already knows how to use.
Coil's dashboard and JSON CLI operate the same authenticated, organization-scoped API. Capability manifests describe commands, parameters, and return shapes so an agent does not have to infer them from the UI. The CLI and native Codex, Claude Code, and Hermes Agent skills are public on npm; the OpenClaw skill is public on ClawHub. They are not MCP packages.
$ coil --json agent-context { "schema_version": "1", "cli": { "name": "coil", "version": "0.1.4" }, "selected_context": { "authMode": "api-key", "orgRole": "org:member" }, "commands": { "activation": { "commands": [{ "name": "activation status" }] }, "recipes": { "commands": [{ "name": "recipes run" }] } }, "skill_manifests": [{ "name": "agent-context" }] } $ coil activation status --json { "nextAction": "install_recipe", "complete": false }
Install the CLI and your runtime skill.
The CLI and runtime skills are public. The pinned registry checks below fail closed if a release is unavailable. Keep COIL_API_KEY in your runtime secret manager.
What the agent does, in your code.
Three workflows your agent (or you) can run through the authenticated API or JSON CLI.
Build a list, return rows.
The agent can admit a legacy prospect source run with explicit provider-spend confirmation. The response identifies the queued source record for later status and lead queries.
$ coil scrapes create \
--type prospect \
--name "Q2 RevOps prospects" \
--titles "VP Sales,Head of RevOps" \
--locations "United States" \
--sizes "51-200,201-500" \
--fetch-count 200 \
--confirm-provider-spend --json
{
"id": "scrape_q2_rev",
"status": "queued"
}Run a recipe end-to-end.
Recipes are typed graphs. Validate first; the API reports whether the definition is valid and returns structured issues to resolve before publication.
$ coil recipes validate r_8x2k --json
{
"ok": true,
"issues": []
}Inspect a durable recipe run.
Recipe runs have a real detail command. Agents can poll the durable status and use server-provided next actions without inventing an audit command.
$ coil recipe-runs view run_123 --json
{
"id": "run_123",
"status": "running"
}What's supported, where.
The dashboard, API, and CLI share the same organization-scoped services. Runtime skills document the agent workflow; they are not an MCP transport.
| Capability | Dashboard | API | JSON CLI | Runtime skill |
|---|---|---|---|---|
| Org-scoped authentication | ✓ | ✓ | ✓ | ✓ |
| Capability discovery | · | ✓ | ✓ | ✓ |
| Provider-spend confirmation | ✓ | ✓ | ✓ | ✓ |
| Durable run status | ✓ | ✓ | ✓ | ✓ |
| Human-admin boundaries | ✓ | ✓ | ✓ | ✓ |
Engineer questions.
The ones you ask before wiring this into something that runs unattended.
How do agents call Coil today?
Agents use an organization-scoped API key with the same authenticated API used by the dashboard, normally through the coil CLI and its JSON output. Native skills supply operating guidance for Codex, Claude Code, Hermes Agent, and OpenClaw. Coil does not currently ship an MCP server.
What's the rate limit story?
The API returns a structured 429 response when a caller exceeds the configured limit. Agents should respect retry guidance and treat provider-spend confirmation as a separate required boundary.
What does an agent get blocked from doing?
Publishing automations and deleting org-shared records require human admin signatures. The API returns 403 on those paths so your agent can hand off cleanly instead of looping.
Is there an SDK?
The public JSON CLI is the supported agent client today. Native skills are public for Codex, Claude Code, Hermes Agent, and OpenClaw. There is no native Python SDK or Coil MCP server.
Wire it into the agent you already trust.
Sign up, create an organization key, and operate Coil through the authenticated API or JSON CLI.
Agent API