opencli
Read or act on websites through the user's real, logged-in Chrome via the `opencli` CLI.
Skill by legibet
Chalk Labs
Need help deploying opencli?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/legibet-opencli
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/opencli
What's inside
- Skill name
opencli- Description
- Read or act on websites through the user's real, logged-in Chrome via the `opencli` CLI. Use when a task touches a specific site's content or the user's account there (知乎, Reddit, 小红书, X, B站…), when a page needs login or blocks plain fetching, or when a page must be clicked, filled, or extracted interactively.
- License
- MIT
- Instructions
- 62 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# opencli — websites through the user's Chrome
`opencli` runs inside the user's everyday Chrome through an extension, so every request carries their real login, cookies, and browser fingerprint. Two layers:
- **Adapters**: `opencli <site> <command>`, deterministic commands that return structured data, mostly by calling the site's own API from inside the page.
- **Browser primitives**: `opencli browser <session> <command>`, to open, read, click, and type on any page.
Public pages with no login or anti-bot wall are cheaper through plain fetching; reach for opencli when one of the description's cases holds.
## Pick one layer
List the site's adapters first. If one covers the task, use it and you are done; most tasks on a covered site end here. Drive the page with browser primitives only for what no adapter covers.
## Adapters
```bash
opencli list -f json | jq -r '.[] | select(.site=="zhihu") | "\(.name)\t\(.access)\t\(.description)"'
opencli zhihu question --help # args, defaults, output columns
opencli zhihu question 2087643546463613137 --limit 5 -f json
```
- Site keys are slugs like `xiaohongshu`, `twitter`, `bilibili`; list them with `opencli list -f json | jq '[.[].site] | unique'`.
- Pass `-f json` on every adapter call.
- Adapters open and close their own background tab; nothing to clean up.
## Browser primitives
```bash
opencli browser t open "https://example.com/list" --window background
opencli browser t wait selector ".item" --timeout 15000
opencli browser t find --css ".item a" --limit 10 # refs, text, attrs
opencli browser t eval "(() => [...document.querySelectorAll('.item')].map(e => ({title: e.querySelector('h2')?.textContent.trim(), href: e.querySelector('a')?.href})))()"
opencli browser t click 12 # ref from find/state, or a CSS selector
opencli browser t wait selector ".detail"
opencli browser t extract --chunk-size 8000 # page as markdown; loop on next_start_char
opencli browser t close
```
- One session name per task; reuse it across calls so the tab persists, and `close` it when done.
- `--window background` keeps the work out of the user's way; drop it when the user wants to watch.
- To work in a tab the user already has open (a page they logged into or set up), `bind` the session instead of `open`, and `unbind` at the end. opencli never closes a bound tab.
- Read with targeted queries: `find --css` for elements and refs, `eval` for structured data, `extract` for long text. Use `state` only on light pages or when you need the whole page's ref map: on heavy pages (Reddit, web-component UIs) it exceeds 60k tokens.
- After any navigation or page-changing action, `wait` before reading again; refs from the previous page are void.
- `eval` is for reading; make changes with `click`, `type`, `fill`, `select`, `keys`.
- `network` lists the JSON the page fetched (`--detail <key>` for one body). It pays off on API-driven SPAs; server-rendered pages have no data requests to capture.
- Per-command flags: `opencli browser <s> <command> --help`.
## Writes act on the user's real accounts
Adapter commands with `access: write` (post, comment, reply, like, follow, favorite, subscribe, delete…) and any browser action that submits, posts, or sends act publicly as the user. State exactly what will happen and get the user's confirmation before running one. Reads need no confirmation.
## Failures
| Signal | Meaning | Do |
|---|---|---|
| exit 69 | Browser bridge not connected | Run `opencli doctor` and relay its fix to the user. |
| exit 77 | Not logged in to the site | Ask the user to log in in Chrome, then retry. |
| exit 75, or `Navigation rejected` | Transient | Retry once. |
| exit 66 | Empty result | Recheck the args; the site may have changed. |
| Adapter returns broken or wrong data | Site changed | Rerun with `--trace retain-on-failure` and report the trace summary to the user; fixing the adapter is the user's call. |From legibet/agent-skills, MIT.
More from legibet/agent-skills
- 0.565score
context7
legibet
Fetch up-to-date library docs via the ctx7 CLI.
SkillAFreshness: AClaude Code +9 - 0.558score
codex-cli
legibet
Use Codex CLI as an independent agent for delegated work, code review, or continued discussion in an existing session.
SkillAFreshness: AClaude Code +9 - 0.558score
antigravity-cli
legibet
Delegate work to Antigravity CLI (agy) as an independent agent, or continue an existing agy conversation.
SkillAFreshness: AClaude Code +9 - 0.553score
verify
legibet
Use before delivering a code change in a project, before adding or changing project tests, or when asked what to test.
SkillAFreshness: AClaude Code +9 - 0.529score
topic
legibet
Document-driven workflow for deferred work: capture and explore an idea or issue, distill it into an implementation plan, then execute.
SkillBFreshness: BClaude Code +9 - 0.524score
tidy
legibet
Simplify and tidy existing code for readability.
SkillBFreshness: BClaude Code +9 - 0.524score
hold-the-thread
legibet
Use when a user challenges, rejects, or questions an analysis, diagnosis, review, or decision, including emotionally charged pushback or accusations of…
SkillBFreshness: BClaude Code +9 - 0.524score
hr
legibet
Herdr agent coordination — spawn a coding agent, prompt an agent already in a pane, fan out parallel work, chain agent dependencies, or run background…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 2, 2026 (28 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/legibet/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from legibet
- 0.565score
context7
legibet
Fetch up-to-date library docs via the ctx7 CLI.
SkillAFreshness: AClaude Code +9 - 0.558score
codex-cli
legibet
Use Codex CLI as an independent agent for delegated work, code review, or continued discussion in an existing session.
SkillAFreshness: AClaude Code +9 - 0.558score
antigravity-cli
legibet
Delegate work to Antigravity CLI (agy) as an independent agent, or continue an existing agy conversation.
SkillAFreshness: AClaude Code +9 - 0.553score
verify
legibet
Use before delivering a code change in a project, before adding or changing project tests, or when asked what to test.
SkillAFreshness: AClaude Code +9 - 0.529score
topic
legibet
Document-driven workflow for deferred work: capture and explore an idea or issue, distill it into an implementation plan, then execute.
SkillBFreshness: BClaude Code +9 - 0.524score
tidy
legibet
Simplify and tidy existing code for readability.
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get opencli running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
opencli skill. Agent Mart. https://agentmart.dev/skills/legibet-opencli (last updated 2026-10-24)