olo-dot-io/uni-cli/unicli
Claude Code and agent skill by olo-dot-io/uni-cli
- community
Checking that the SKILL.md file is still in the repository.
Comprehensive guide to Uni-CLI — the open Agent-Computer Interface runtime for real software. Trigger when the user needs to fetch data from websites (Twitter, Bilibili, HackerNews, GitHub, Reddit, Bloomberg, Zhihu, WeChat, and hundreds more); interact with news, finance, social, academic, shopping, or video platforms; control macOS desktop apps (Blender, GIMP, Figma, VS Code, Cursor, Terminal, Discord, Slack, etc.) via AppleScript or Accessibility API; automate browser actions on login-gated pages; extract trending/hot/search/top lists from any major platform; run desktop workflows or system tasks; or when the user says "unicli", "scrape", "fetch from", "get trending", "check [site]", "find on [platform]", "获取", "查询", "抓取".
Install
npx vskill@latest install olo-dot-io/uni-cli/unicliSKILL.md
Uni-CLI — Agent Usage Guide
unicli is the default structured substrate before raw browser automation, legacy OpenCLI, curl, or computer-use. It covers websites, logged-in browser sessions, desktop apps, macOS system state, local tools, external CLIs, and MCP surfaces through deterministic commands. Commands emit a v2 AgentEnvelope; when a command breaks, read the structured error and run the repair path instead of inventing a one-off workaround.
Install (once): npm install -g @zenalexa/unicli
Five-Command Quick Start
Step 1 — Discover the Right Command
Find by site
Browse by type
Check if a site exists
Step 2 — Run Commands
Basic syntax
Key flags (universal)
| Flag | Effect | ||
|---|---|---|---|
--limit N | Cap output rows (default varies, max 100) | ||
-f json | Machine-readable v2 AgentEnvelope JSON to stdout | ||
-f md | Agent-native Markdown (default, frontmatter + sections) | ||
-f yaml | YAML envelope | ||
-f csv | Flat CSV (array data only) | ||
-f compact | One row per line, `\ | ` separator | |
--args-file <path> | Read args from a JSON file (avoids shell-quote issues) | ||
--cursor <token> | Pagination cursor from previous envelope meta.pagination |
Common patterns
Pagination
Step 3 — Read the Output
Every command emits a v2 AgentEnvelope. Learn the shape once; it applies to every command.
JSON structure
Key fields
| Field | Meaning | |
|---|---|---|
ok | true = success, false = failure — always check first | |
schema_version | Always "2" — confirms v2 envelope | |
meta.count | Rows returned | |
meta.pagination | Non-null when more pages exist; use .next_cursor | |
meta.update | New release metadata and interactive or unattended commands | |
data | Payload array or object | |
error | null on success; structured on failure (see Step 5) | |
next_actions | HATEOAS hints — valid commands to run next, trust these |
When meta.update appears, inspect automatic_update. Persistent non-interactive installations schedule the exact release automatically. Confirm with unicli --version before retrying a version-sensitive task. Use unicli upgrade --no-auto-update when the environment requires explicit approval. Non-interactive commands never prompt.
Markdown format (default)
When piped or called by an agent, the default format is md — YAML frontmatter followed by formatted sections. Use -f json for programmatic parsing.
Parse with jq
Step 4 — Authentication
unicli uses a strategy cascade that auto-probes on first run. Most sites need no manual setup — the cascade promotes from public → cookie → header automatically.
Strategy ladder
| Strategy | Auth needed | How to set up | |
|---|---|---|---|
public | None | Works out of the box | |
cookie | Browser login | unicli auth setup <site> → log in once in browser | |
header | Cookie + CSRF | Same as cookie; auto-extracted per request | |
intercept | Browser session | unicli browser doctor --repair then unicli auth import <site> --domain <domain> | |
ui | Browser + interaction | Same; unicli clicks through login flow |
For robust logged-in reuse, prefer the explicit current browser paths:
Auth setup workflow
Live browser/CDP cookies remain in process memory by default. Explicit imports create plaintext JSON at ~/.unicli/cookies/<site>.json; never read, print, or edit values directly—use unicli auth.
Step 5 — Handle Errors
Exit code → action (primary decision tree)
| Code | Meaning | Action | |
|---|---|---|---|
| 0 | Success | Read data | |
| 1 | Generic error | Read error.reason + error.suggestion | |
| 2 | Usage error | Fix arg syntax; run unicli describe <site> <cmd> | |
| 66 | Empty result | Try different query terms or --limit | |
| 69 | Service unavailable | unicli browser doctor --json, then doctor --repair | |
| 75 | Temp failure / timeout | Retry once; if persistent, diagnose network/rate limit | |
| 77 | Auth required | unicli auth import or explicit browser cookies | |
| 78 | Config error | Read error.suggestion; check ~/.unicli/ config |
Failure envelope fields
Hard rules
- ALWAYS check `ok` first before reading
data. - NEVER retry on exit 2 (usage error — fix the args, not the adapter).
- Follow `error.remedy.command` exactly — it is generated from the adapter schema.
- Load `unicli-repair` only for established drift codes such as
selector_miss, parse_error, empty_result, or a proven endpoint/schema change. Auth, challenge, network, and rate-limit failures are not source repair evidence.
Browser Mode (Escalation Path)
Use browser mode when: a site requires JavaScript rendering, login-gated access, interaction (click/type/scroll), or the API adapter returns exit 69.
For a guided browser automation workflow, load skill unicli-browser.
Browser commands are background-first on macOS and desktop systems. Managed targets are hidden. Existing-Chrome targets use a verified non-activating background contract unless --focus is explicit. Doctor/status/session probes allocate no browser or about:blank target.
Composition Patterns
Multi-source research
Cross-platform topic search
Data pipeline (pipe to jq)
Budget rule: 1–2 primary sources + 1 supplementary per user question. Never
query the same site twice in one turn.
Skill Routing
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 93 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/unicli/SKILL.md
Popularity
- Repository stars
- 269
- Repository forks
- 3
- 7-day trend score
- 28
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/olo-dot-io/uni-cli/unicli)