oo-cli
oo-cli exposes the oo command as OOMOL's terminal-first interface for
working with OOMOL accounts, published packages, connector actions, cloud
tasks, and managed skills.
If you are in Codex, Claude Code, or a regular shell session, start here before
you wire a lower-level API or MCP integration. oo is the terminal-first path
for both trying published capabilities and handling operational tasks such as
auth, file transfer, and skill management.
What oo-cli is good for
- Sign in and switch between OOMOL accounts.
- Search packages and connector actions with one free-form query.
- Inspect package metadata, then create and monitor Cloud Task runs.
- Run authenticated connector actions directly from the terminal.
- Install bundled or published skills into Codex and Claude Code.
- Upload and download artifacts that your workflows need.
Install
bun install -g @oomol-lab/oo-cli
Quick Start
- Sign in:
oo login
- In Codex, use the bundled
ooskill:
$oo generate a QR code for the string OOMOL
oo login and oo logout are aliases for oo auth login and
oo auth logout.
Bundled Skills For AI Hosts
On the first oo launch, bundled skills are installed automatically into
supported local hosts that already exist.
- Codex:
${CODEX_HOME:-~/.codex}/skills/ooand${CODEX_HOME:-~/.codex}/skills/oo-find-skills - Claude Code:
~/.claude/skills/ooand~/.claude/skills/oo-find-skills
The two bundled skills solve different problems:
oo: routes practical tasks through existingoopackages or connector actions instead of inventing a local workflowoo-find-skills: searches the published OOMOL andooskill catalog, then installs one or more selected skills
You can also install bundled skills explicitly:
oo skills install
oo skills install oo-find-skills
Main Workflows
Search across packages and connector actions
Use oo search when the user intent matters more than the exact execution
path.
oo search "generate a QR code"
This command returns a mixed result set. Package results represent published OOMOL capabilities. Connector results represent callable external service actions.
Run connector actions directly
Use the connector namespace when you already know you want an external service action.
oo connector search "send an email"
oo connector run <serviceName> -a <action> -d @input.json
oo connector run supports --dry-run for payload validation and can emit
structured JSON with --json.
Inspect a package and run it as a cloud task
Use the package and cloud-task namespaces when you want a direct programmatic path to a published block.
oo packages search "generate a QR code"
oo packages info foo/bar@latest
oo cloud-task run foo/[email protected] -b main -d '{"text":"OOMOL"}'
oo cloud-task wait <taskId>
oo cloud-task result <taskId>
oo cloud-task run requires PACKAGE_NAME@SEMVER, while oo packages info
can resolve @latest for inspection.
Move files into or out of a workflow
Use the file namespace when the task needs input artifacts or downloadable results.
oo file upload ./input.pdf
oo file download <url>
Uploads expire after one day. Downloads default to the configured
file.download.out_dir, or ~/Downloads when that setting is not present.
Command Groups At A Glance
| Area | Key commands | Purpose |
|---|---|---|
| Auth | oo auth ..., oo login, oo logout | Manage accounts and verify the active API key |
| Config | oo config ... | Persist CLI settings such as language and download directory |
| Search | oo search, oo packages search, oo connector search | Discover packages, connector actions, or both |
| Execution | oo connector run, oo cloud-task ... | Call connector actions or create and monitor cloud tasks |
| Skills | oo skills ... | List, search, install, update, and remove oo-managed skills |
| Files | oo file ... | Upload local inputs and download remote outputs |
| Logs | oo log ..., --debug | Inspect persisted debug logs |
| Updates | oo check-update | Check for a newer CLI release |
| Shell | oo completion <shell> | Generate shell completion scripts |
When to use CLI vs API or MCP
Use the CLI when you are operating directly from a terminal or an AI coding host and want the fastest path to a working result.
Use API & SDK when you are embedding Cloud Function calls inside your own application, backend, script, or automation service and need direct control over task creation, polling, and uploads.
Use MCP when you want to expose OOMOL capabilities as tools for external agent frameworks or MCP-compatible runtimes.