composio-cli

A command-line guide for Composio, a service that connects software tools to external apps and their APIs.

In plain words
What is it for?
Finding tools, connecting accounts, inspecting input formats, running tools, listening for events, scripting workflows, and calling app APIs through Composio.
Why use it?
It helps avoid using the wrong tool, account, or connection and requires checking that the user is logged in before making authenticated calls.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/rome-os/rome/composio-cli
Any agent
npx skills add rome-os/rome --skill composio-cli
Clone the repo
git clone --depth 1 https://github.com/rome-os/rome

Made for: Claude Code, Codex.

Per session 139 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,666 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00139 $0.02666
Opus 5 $0.00069 $0.01333
Sonnet 5 $0.00028 $0.00533
Haiku 4.5 $0.00014 $0.00267

Measured 3d ago against content hash efcfaacd6942, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

composio-cli scanned grade A with 0 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 3d ago.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

rome_apps/connector/src/skills/composio-cli/SKILL.md · 240 lines

How it starts

The opening of the file, as written. The whole thing — 240 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Composio CLI

Preflight: Is The User Logged In?

Before running any toolkit command, confirm the user is logged in. If they are not, stop and tell them to log in — do not improvise.

composio whoami   # exits non-zero when there is no session

If whoami fails (no Composio session), the user is logged out. Stop here. Do not:

  • run composio login yourself,
  • look for an alternate toolkit, slug, or proxy route,
  • ask the user to paste a key, or
  • attempt any other workaround.

Respond directly to the user with one message: they need to log in to Composio first, via the "Log in with Composio" action on the Composio app's dashboard. Then end your turn and wait — the request cannot proceed until they have logged in.

Only once whoami succeeds do you continue to the workflow below.

Connection Invariant: One Account Per Toolkit

Rome operates exactly one connected account per toolkit. This is load-bearing because execute, proxy, and run have no flag to choose an account — they act on the toolkit's single connected account, and when more than one exists Composio silently resolves a non-deterministic default. You cannot tell, and cannot control, which account a tool ran as. A second Gmail means a "send email" might go out from the wrong account with no signal.

To keep every tool call deterministic:

  • Never create a second account for a toolkit. Do not pass --alias to composio link to add an additional account, and do not enable the multi_account experimental feature. The alias buys you nothing on execution — there is no --alias/--account on execute — it only lets you accumulate ambiguous accounts.
  • Check before linking. composio link <toolkit> --list shows existing accounts. If one is ACTIVE, you are connected — retry execute, do not link again.
  • If --list shows more than one account for a toolkit, stop and surface it. Tell the user the toolkit has duplicate accounts and tool calls are ambiguous until the extras are removed. Do not guess which one to use.

Read the full file on GitHub · 240 lines

Changes

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.

  1. 3d ago First seen · 240 lines · 139 tokens per session scan A efcfaacd6942

Subscribe to this mod's changes

composio-cli is a skill published in the GitHub repository rome-os/rome (390 stars, last pushed 3d ago), licensed MIT. It adds 139 tokens to every session and 2,666 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

beevibe-team-mesh-negotiation

Multi-round negotiation protocol — covers both initiator and peer roles. Use when about to call negotiate(), when receiving a intent block as a peer, or when receiving an 'escalated' sentinel from a blocked respondnegotiate. Covers proposal crafting, counter-strategy, deadlock detection, when to accept early…

beevibe-ai/beevibe · 112 tokens

beevibe-verify-pr

CI verification before marking a PR-bearing task done. Use BEFORE calling mcpbeevibeupdateprogress(done) on any session whose deliverable is a pull request — including the first dispatch (you opened the PR with gh pr create) and any revision dispatch (you pushed new commits to an existing PR). Watches the PR's…

beevibe-ai/beevibe · 172 tokens

beevibe-pre-task-setup

Cold-start git workspace setup for a fresh beevibe task. Use at the start of a session whose intent has a block but NO or block — i.e. the first dispatch of this task. Checks for an existing repo clone, pulls the base branch if present (clone if missing), prunes any per-task worktrees from earlier tasks whose work has…

beevibe-ai/beevibe · 198 tokens

beevibe-use-repo

You are the child agent inside a fresh Docker sandbox. Borrow the given GitHub repo, produce a real artifact for the goal, and export it. Do not review the repo. The proof is that it works.

beevibe-ai/beevibe · 50 tokens

beevibe-discover-repo

Find the best GitHub repo for a goal, then call userepo to run it in a sandbox. Use whenever the user's goal requires a capability you don't have natively and you haven't been given a specific repo.

beevibe-ai/beevibe · 51 tokens

release

Dispatch a Chamber release build to either the insiders channel (Azure blob, Windows + macOS, invite-only testers) or the stable channel (public GitHub Releases, Windows + macOS). Use this skill whenever the user asks to release, cut, publish, promote, ship a build, push to insiders, send to testers, go public, or…

ianphil/chamber · 139 tokens