Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/runapi-ai/cli-skill/runapi-clinpx skills add runapi-ai/cli-skill --skill runapi-cligit clone --depth 1 https://github.com/runapi-ai/cli-skillWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00069 | $0.03182 |
| Opus 5 | $0.00034 | $0.01591 |
| Sonnet 5 | $0.00014 | $0.00636 |
| Haiku 4.5 | $0.00007 | $0.00318 |
Grade C, and why
runapi-cli scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
| Server / CI (headless) | `curl -fsSL https://runapi.ai/cli/install.sh \| sh` | Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
| Server / CI (headless) | `curl -fsSL https://runapi.ai/cli/install.sh \| sh` | How it starts
The opening of the file, as written. The whole thing — 289 lines — stays where its author put it; the contents beside it link to each section on GitHub.
RunAPI CLI
The runapi CLI executes one-off artifacts or results only for services in its
installed command catalog. An app, backend, worker, library, or production code
integration uses a RunAPI SDK instead.
Choose route
Use the CLI for a one-off artifact or result. Use an SDK for an app, backend,
worker, library, or production code. Before composing a service command,
discover the installed command catalog with runapi --help; proceed only when
it lists the service. An absent service routes to its SDK or public API contract,
not to a guessed CLI command.
Install
| Target | Command |
|---|---|
| macOS / Linux (interactive) | brew install runapi-ai/tap/runapi |
| Server / CI (headless) | curl -fsSL https://runapi.ai/cli/install.sh | sh |
The installer detects OS and architecture (Linux and macOS, amd64 and arm64), verifies a SHA-256 checksum from https://runapi.ai/cli/latest.json, and refuses to write the binary if verification fails.
Authentication
Check the current state first:
runapi auth status
| Source | How |
|---|---|
| Environment (agent/headless default) | Read RUNAPI_API_KEY from the environment |
| Saved config (agent/server/CI) | printf '%s' "$RUNAPI_API_KEY" | runapi auth import-token --token - (writes ~/.config/runapi/config.json with mode 0600) |
| Browser login (interactive fallback) | runapi login in a terminal, or the MCP login tool from an MCP host |
RUNAPI_BASE_URL overrides the default base URL.
The RunAPI MCP Server reads the same ~/.config/runapi/config.json as the CLI. After runapi login or the MCP login tool completes, authenticated MCP tools can use the saved credentials after the host reloads config if needed.
Avoid runapi auth import-token --token "$KEY" directly — the value would be visible in ps -ef on shared hosts. Use stdin (--token -) or RUNAPI_API_KEY in the environment.
Discover services, commands, and fields
The CLI is JSON-first: every service exposes typed commands, and each command
documents its request fields through --help. Always inspect before composing a
request instead of guessing flags.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 289 lines · 69 tokens per session scan C 56dfd9a76a26
runapi-cli is a skill published in the GitHub repository runapi-ai/cli-skill (2 stars, last pushed 15d ago), licensed Apache-2.0. It adds 69 tokens to every session and 3,182 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
grok-imagine
Generate and edit images and videos with Grok Imagine through RunAPI. Use when the user asks an agent to create, edit, animate, or transform media with Grok Imagine. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.
grok
Call Grok 4.6 through RunAPI Responses only; use Grok 4.3, 4.5, or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces. Use for text, streaming, tools, structured output, or an existing compatibility client that needs the conditional reference.
midjourney
Generate and edit images, create or extend video from images, derive or shorten prompt suggestions, and look up seeds with Midjourney through RunAPI. Use the RunAPI CLI for one-off work and the language SDKs for application integration.
seedance-pipeline
Integrate Seedance 2.0 with ComfyUI nodes and post-processing chains covering upscale, frame interpolation, color grade, composite, and metadata cleanup. Use when building automated video pipelines, connecting Seedance to external tools, or finishing and delivering a generated video clip.
spec-kitty-charter-doctrine
Run charter interview, generation, context, and sync workflows for project governance in Spec Kitty 3.x. Access doctrine artifacts programmatically via DoctrineService. Resolve agent profiles. Load action-scoped governance context iteratively, not all at once. Triggers: "interview for charter", "generate charter"…
horse-integration-tests
Guide for writing automated integration tests for Horse endpoints using DUnit/DUnitX and THTTPClient.