General 1,984 installs

opencli-usage

by jackwener/opencli

Use at the start of any OpenCLI session - this is the top-level map of what `opencli` can do, how to discover adapters, what flags and output formats are…

Skill content

Unified CLI surface for discovering and driving website, desktop app, and external CLI commands through a single opencli entrypoint.

- Four command categories: adapter commands (100+ sites via opencli <site> <command>), browser driving for ad-hoc automation, current-tab binding for user-opened sessions, and external CLI passthrough (gh, docker, vercel, etc.)

- Four execution strategies determine prerequisites: PUBLIC (pure HTTP, no browser), COOKIE (logged-in Chrome + extension), INTERCEPT (signed request capture), UI (full DOM interaction), and LOCAL (dev endpoints only)

- Universal flags (-f json, -v) and output formats (json, yaml, table, plain, md, csv) work across all commands; always query opencli list -f json for current adapter inventory instead of hard-coding

- Built-in self-repair via --trace retain-on-failure when adapters break; plugin system for third-party extensions; scaffolding and validation tools for writing custom adapters

opencli-usage

OpenCLI turns any website, Electron desktop app, or external CLI into a uniform opencli <site> <command> surface that agents can drive without screen-scraping. This skill is the orientation layer - once you know what you want to do, load one of the specialized skills below.

The three pillars

- Adapter commands - opencli <site> <command> [...]. Built-in adapters live in clis/, user adapters in ~/.opencli/clis/. Each is backed by a strategy (PUBLIC | COOKIE | INTERCEPT | UI | LOCAL) that tells you whether a Chrome session is needed.

- Browser driving - opencli browser * subcommands (open, state, click, type, select, find, extract, network, …) for ad-hoc interaction and scraping when no adapter covers the task. See opencli-browser.

- Current-tab binding - opencli browser <session> bind attaches the Chrome tab the user already opened/logged into to that browser session. Follow-up commands use opencli browser <session> .... See opencli-browser before using it; bound sessions still block tab mutation.

- External CLI passthrough - opencli gh, opencli docker, opencli vercel, etc. Managed via opencli external install <name> (auto-install from external-clis.yaml) or opencli external register <name> (bring your own).

Install

# npm global
npm install -g @jackwener/opencli          # binary: opencli, requires Node >= 21
opencli doctor                              # run before browser-dependent work (see below)