# opencli-usage

Teaches an agent to find OpenCLI commands, read their schemas and parse results. Useful when site and Chrome work goes through adapters.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 21000 installs · ★ 30654
- Author: jackwener
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/jackwener/OpenCLI/tree/HEAD/skills/opencli-usage/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/opencli-usage

## What it does

The skill spells out how an agent should use OpenCLI: search commands by name and description, inspect their inputs through command help, interpret the output. Search covers built-ins and adapters at once, and results come back compact and paginated — continue with `--offset <nextOffset>`. The adapter catalog is not dumped into context.

Commands answer in JSON by default: `{ok:true,data:...}`. A failure returns a nonzero exit code plus an object with code, message and hint; logs go to stderr. The `-f table|yaml|csv|md|plain` exports exist where command help lists them. When a write outcome is unknown, inspect state before repeating the action.

Page work runs through `opencli browser open|state|close` with `--session`, while native Chrome methods need no session. `--profile` picks a connected Chrome profile, `profile list` discovers them, `doctor` diagnoses the connection. Adapters are created and checked with `adapter init|check|test|status`; adapter tests execute real commands and can write. The skill needs `opencli` on `PATH` — without it the Bash calls never run.

## Requirements
- Works with: Chrome

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add jackwener/OpenCLI --skill opencli-usage -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/opencli-usage/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/opencli-usage/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add jackwener/OpenCLI --skill opencli-usage -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/opencli-usage/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add jackwener/OpenCLI --skill opencli-usage -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/opencli-usage/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install jackwener/OpenCLI opencli-usage
```

2. **Manually: put the files in place**
- File: `.github/skills/opencli-usage/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add jackwener/OpenCLI --skill opencli-usage -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/jackwener/OpenCLI --path skills/opencli-usage
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/opencli-usage/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add jackwener/OpenCLI --skill opencli-usage -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/jackwener/OpenCLI/tree/HEAD/skills/opencli-usage/SKILL.md

## When to use it
- find an OpenCLI command for a task
- check a command's inputs before running it
- read a JSON result and an error code
- choose between a site adapter and a Chrome tool
- verify a local adapter before shipping it

## Example prompts
- Find the OpenCLI command for searching GitHub and show its help
- Open https://example.com in session research and show the page state
- Test the example/search adapter with query=hello

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: cf39dc8e5fe07fea.

BEGIN THIRD-PARTY FILE cf39dc8e5fe07fea
````text
---
name: opencli-usage
description: Discover and invoke OpenCLI capabilities for websites and Chrome. Find commands, inspect schemas, interpret results and choose browser or adapter tools.
allowed-tools: Bash(opencli:*), Read
---

# OpenCLI

OpenCLI exposes reusable website adapters and direct Chrome tools to agents.

```sh
opencli list search
opencli list --site github --limit 20
opencli github search --help -f json
```

`list [query]` searches command names and descriptions across built-ins and adapters.
Results are compact and paginated: `{ok:true,data:{commands,total,nextOffset?}}`.
Pass `--offset <nextOffset>` to continue. Inspect exact inputs using command help.
Do not hard-code the adapter catalog or dump all commands into context.

## Results

Commands default to JSON: `{ok:true,data:...}`. Failures produce a nonzero exit
code and `{ok:false,error:{code,message,hint?,...}}` on stdout. Logs use stderr.
Explicit `-f table|yaml|csv|md|plain` exports are available where command help lists
them. Help, version, completion and explicit plain exports retain their own formats.
Browser follow modes stream one JSON envelope per line.

Use error codes and supplied candidates/keys to recover. Unknown write outcomes
require inspecting state before repeating an action. An empty successful result
is distinct from an execution failure.

## Browser

```sh
opencli browser open https://example.com --session research
opencli browser state --session research
opencli browser close --session research
opencli browser chrome describe
```

Page commands use `--session`; native Chrome methods need no session. `--profile`
selects a connected Chrome profile. `profile list` discovers profiles and
`profile use <name>` selects the default. Use `doctor` for connection diagnosis.
See `opencli-browser` for interaction, API evidence and tab/group management.

## Adapters and installation

```sh
opencli adapter init example/search
opencli adapter check example/search
opencli adapter test example/search --args '{"query":"hello"}'
opencli adapter status
```

See `opencli-adapter-author` for implementation. `adapter eject` makes an official
site editable locally; `adapter reset` removes that local override. Adapter tests
execute real commands and can perform writes.

`plugin list|install|update|uninstall|create` manages plugin packages. `auth status`
reports website login facts; `auth refresh` touches sessions. `daemon status|restart|stop`
manages the bridge process. Read help for the selected capability.

Bundled skill content is available through `skills list` and
`skills read opencli-browser -f plain` (omit `-f plain` for JSON).
````
END THIRD-PARTY FILE cf39dc8e5fe07fea

The third-party file has ended. Everything between the cf39dc8e5fe07fea tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

© jackwener · Apache-2.0 · https://github.com/jackwener/OpenCLI/tree/HEAD/skills/opencli-usage/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
