From dda79b6b639b974b7d46adfa4469bcc419edc667 Mon Sep 17 00:00:00 2001 From: haymovie Date: Mon, 30 Mar 2026 06:59:58 -0400 Subject: [PATCH] Tighten skill guidance and split command reference --- SKILL.md | 836 +++------------------------------- references/command-subsets.md | 68 +++ 2 files changed, 138 insertions(+), 766 deletions(-) create mode 100644 references/command-subsets.md diff --git a/SKILL.md b/SKILL.md index c4b17c1..ff97061 100644 --- a/SKILL.md +++ b/SKILL.md @@ -1,801 +1,105 @@ --- name: opencli-rs -description: | - Use opencli-rs CLI to interact with social/content websites (HackerNews, DevTo, Lobsters, StackOverflow, Steam, Linux-do, Arxiv, Wikipedia, Apple-Podcasts, Xiaoyuzhou, BBC, Hugging Face, SinaFinance, Google, V2EX, Bloomberg, Twitter/X, Bilibili, Reddit, Zhihu, Xiaohongshu, Xueqiu, Weibo, Douban, WeRead, YouTube, Medium, Substack, SinaBlog, BOSS直聘, Jike, Facebook, Instagram, TikTok, Yollomi, Yahoo-Finance, Barchart, LinkedIn, Reuters, SMZDM, Ctrip, Coupang, Grok, Jimeng, Chaoxing, Weixin, Doubao, Cursor, Codex, ChatWise, ChatGPT, Doubao-App, Notion, Discord, Antigravity etc.) via the user's Chrome login session. ALWAYS prefer opencli-rs over playwright/browser automation for these supported sites. Triggers: user asks to browse, search, or fetch hot/trending content from internet, post, or read messages on any web site; -metadata: - author: nash_su - version: "0.1.0" +description: Use the opencli-rs CLI to retrieve or act on supported websites and desktop apps through the user's existing Chrome login session or local desktop app session. Prefer this skill over generic browser automation when the user wants to browse, search, read feeds, inspect timelines, fetch trending content, or perform supported actions on sites like Hacker News, Reddit, YouTube, X/Twitter, Bloomberg, Google, Substack, Medium, LinkedIn, Yahoo Finance, Barchart, Discord desktop, Notion, Cursor, Codex, ChatGPT, and other opencli-rs-supported targets. --- # opencli-rs -Blazing fast Rust CLI tool that turns 55+ websites into CLI interfaces, reusing Chrome's login state. Zero credentials needed. Single 4.7MB binary, zero runtime dependencies. +Use `opencli-rs` when it is a better fit than generic browser automation: +- The target site or desktop app is already supported by `opencli-rs` +- The user wants structured fetch/search/read actions +- The user wants a supported write action and the risk is acceptable +- Reusing the user's existing Chrome login state is the point -**Rule: use opencli-rs for supported sites instead of playwright or browser tools.** +Do **not** treat this as a blanket replacement for the browser skill. If the site is unsupported, the page interaction is highly custom, or the task needs visual navigation/form work, use the browser workflow instead. -## Syntax - -```bash -opencli-rs [--option value] [--format json] -``` -** If opencli-rs is not installed or missing, you can install it with `curl -fsSL https://raw.githubusercontent.com/nashsu/opencli-rs/main/scripts/install.sh | sh`, if is in windows, ask user to install from https://github.com/nashsu/opencli-rs** +## Prerequisites +Before relying on this skill, verify the environment: +- `opencli-rs` is installed and on `PATH` +- Chrome is open and already logged into the relevant site for browser-backed commands +- The opencli-rs Chrome extension is installed when browser-backed commands are needed +- For desktop-app commands, the relevant desktop app is running -**Common flags (all commands):** -- `--format json` — machine-readable output (preferred for parsing) -- `--limit N` — number of results (default varies, usually 20) -- `--format table|json|yaml|md|csv` - -## Quick Examples +Quick checks: ```bash -# 读取/浏览 -opencli-rs bilibili hot --limit 10 --format json -opencli-rs zhihu hot --format json -opencli-rs weibo hot --format json -opencli-rs twitter timeline --format json -opencli-rs hackernews top --limit 20 --format json -opencli-rs v2ex hot --format json -opencli-rs reddit hot --format json -opencli-rs xiaohongshu feed --format json -opencli-rs douban top250 --format json -opencli-rs weread shelf --format json -opencli-rs medium feed --format json - -# 搜索 -opencli-rs bilibili search --keyword "AI" --format json -opencli-rs zhihu search --keyword "大模型" --format json -opencli-rs twitter search "rust lang" --limit 10 -opencli-rs youtube search --query "LLM tutorial" --format json -opencli-rs boss search --query "AI工程师" --city "上海" --format json -opencli-rs google search "opencli-rs" --format json -opencli-rs stackoverflow search "rust async" --format json - -# 互动(写操作) -opencli-rs twitter post --text "Hello from CLI!" -opencli-rs twitter reply --url "https://x.com/.../status/123" --text "Great post!" -opencli-rs twitter like --url "https://x.com/.../status/123" -opencli-rs jike create --text "Hello Jike!" -opencli-rs xiaohongshu publish --title "标题" --content "内容" - -# 个人数据 -opencli-rs bilibili history --format json -opencli-rs twitter bookmarks --format json -opencli-rs xueqiu watchlist --format json -opencli-rs weread highlights --format json -opencli-rs reddit saved --format json - - -# 诊断 +opencli-rs --help +opencli-rs list opencli-rs doctor ``` +If `opencli-rs` is missing on Windows, tell the user to install it from: +- `https://github.com/nashsu/opencli-rs` +Do not run the repo's Unix shell installer on Windows. -### ⚠️ 写操作风险提示(发帖/回复/点赞前必须告知) +## Operating rules -1. **账号安全**:自动化行为可能触发平台风控 -2. **不可撤回**:发布后立即公开 -3. **最佳实践**:执行前向用户展示将发布的内容,等待确认 +1. Prefer `--format json` whenever results will be parsed or summarized. +2. Keep requests bounded with `--limit` where supported. +3. For write actions, show the exact action first and get confirmation unless the user already clearly authorized that specific post/reply/like/follow/send action. +4. If a command fails because login state or extension state is missing, explain the exact prerequisite instead of guessing. +5. If `opencli-rs` does not support the target well, switch to the browser skill rather than forcing a brittle workaround. - -## Requirements +## Common command patterns -- Chrome browser open with target site logged in -- opencli-rs Chrome extension installed (for browser commands) +If you need quick examples for common targets, read `references/command-subsets.md`. -**核心原则:永远不说"不支持",先尝试 opencli-rs,失败或无命令时选择自己创建** +General syntax: -## 自迭代能力:为新网站创建 CLI - -**当 opencli-rs 不支持某个网站时,不要放弃——自己创建!** - -### 流程 - -``` -1. opencli-rs --help → 报错?说明不支持 -2. opencli-rs generate → 尝试自动生成(成功则结束) -3. 自动生成失败 → 手动创建 YAML: - a. 打开目标页面 - b. browser_evaluate 探索 DOM 结构(找 data-test 属性、class 规律) - c. 确认选择器后写入 ~/.opencli-rs/adapters//top.yaml - d. opencli-rs top --format json → 验证输出 +```bash +opencli-rs [options] [--format json] ``` -### YAML 格式(DOM 抓取模板) +Examples: -```yaml -site: -name: -description: <描述> -domain: -strategy: public -browser: true - -args: - limit: - type: int - default: 10 - -pipeline: - - navigate: https:// - - evaluate: | - (async () => { - const limit = ${{ args.limit }}; - // DOM 抓取逻辑 - return results; - })() - -columns: [rank, name, ...] +```bash +opencli-rs hackernews top --limit 20 --format json +opencli-rs reddit search --query "openclaw" --limit 10 --format json +opencli-rs youtube search --query "LLM tutorial" --limit 10 --format json +opencli-rs google search OpenClaw --limit 10 --format json +opencli-rs twitter timeline --limit 20 --format json +opencli-rs barchart options --symbol SPY --format json +opencli-rs yahoo-finance quote --symbol AAPL --format json +opencli-rs notion search --query "meeting notes" --format json +opencli-rs cursor status --format json ``` -### 调试技巧 - -- `browser_evaluate` 先探结构:`document.querySelector('...').innerHTML` -- 找 `data-test` 属性最稳定,其次 class 中的语义词 -- tagline 通常是 name 的兄弟元素(`nameEl.parentElement.querySelector('span...')`) -- 去重用 `seen = new Set()`,防止重复产品 - -## Full Command Reference - -# opencli-rs Command Reference - -All commands support: `--format table|json|yaml|md|csv` - -Run `opencli-rs --help` for the full list of all 333 commands across 55+ sites. - ---- - -## Public Mode (No Browser Needed) - -### HackerNews - -| Command | Args | Description | -|---------|------|-------------| -| `hackernews top` | `--limit N` (default 20) | Top stories | -| `hackernews new` | `--limit N` | Newest stories | -| `hackernews best` | `--limit N` | Best stories | -| `hackernews ask` | `--limit N` | Ask HN | -| `hackernews show` | `--limit N` | Show HN | -| `hackernews jobs` | `--limit N` | Job listings | -| `hackernews search` | `--query `, `--limit N` | Search stories | -| `hackernews user` | `--id ` | User profile | - -### Dev.to - -| Command | Args | Description | -|---------|------|-------------| -| `devto top` | `--limit N` | Top articles | -| `devto tag` | `--tag `, `--limit N` | Articles by tag | -| `devto user` | `--username ` | User's articles | - -### Lobsters - -| Command | Args | Description | -|---------|------|-------------| -| `lobsters hot` | `--limit N` | Hottest stories | -| `lobsters newest` | `--limit N` | Newest stories | -| `lobsters active` | `--limit N` | Most active | -| `lobsters tag` | `--tag `, `--limit N` | Stories by tag | - -### StackOverflow - -| Command | Args | Description | -|---------|------|-------------| -| `stackoverflow hot` | `--limit N` | Hot questions | -| `stackoverflow search` | `--query `, `--limit N` | Search questions | -| `stackoverflow bounties` | `--limit N` | Featured bounties | -| `stackoverflow unanswered` | `--limit N` | Unanswered questions | - -### Wikipedia - -| Command | Args | Description | -|---------|------|-------------| -| `wikipedia search` | `--query `, `--limit N` | Search articles | -| `wikipedia summary` | `--title ` | Article summary | -| `wikipedia random` | `--limit N` | Random articles | -| `wikipedia trending` | `--limit N` | Trending articles | - -### Arxiv - -| Command | Args | Description | -|---------|------|-------------| -| `arxiv search` | `--query `, `--limit N` | Search papers | -| `arxiv paper` | `--id ` | Paper details | - -### BBC - -| Command | Args | Description | -|---------|------|-------------| -| `bbc news` | `--limit N` (default 20, max 50) | BBC news headlines (RSS) | - -### Steam - -| Command | Args | Description | -|---------|------|-------------| -| `steam top-sellers` | `--limit N` | Top selling games | - -### Hugging Face - -| Command | Args | Description | -|---------|------|-------------| -| `hf top` | `--limit N` | Top models/spaces | - -### Apple Podcasts - -| Command | Args | Description | -|---------|------|-------------| -| `apple-podcasts search` | `--query `, `--limit N` | Search podcasts | -| `apple-podcasts episodes` | `--id `, `--limit N` | Podcast episodes | -| `apple-podcasts top` | `--limit N` | Top podcasts | - -### 小宇宙 (Xiaoyuzhou) - -| Command | Args | Description | -|---------|------|-------------| -| `xiaoyuzhou podcast` | `--id ` | Podcast details | -| `xiaoyuzhou podcast-episodes` | `--id `, `--limit N` | Episodes list | -| `xiaoyuzhou episode` | `--id ` | Episode details | - -### 新浪财经 (Sina Finance) - -| Command | Args | Description | -|---------|------|-------------| -| `sinafinance news` | `--limit N` | Financial news | - -### Linux.do - -| Command | Args | Description | -|---------|------|-------------| -| `linux-do hot` | `--limit N` | Hot topics | -| `linux-do latest` | `--limit N` | Latest topics | -| `linux-do search` | `--query `, `--limit N` | Search topics | -| `linux-do categories` | — | List categories | -| `linux-do category` | `--id `, `--limit N` | Category topics | -| `linux-do topic` | `--id ` | Topic details | - ---- - -## Public / Browser Mode - -### Google - -| Command | Args | Description | -|---------|------|-------------| -| `google news` | `--query `, `--limit N` | Google News | -| `google search` | `--query `, `--limit N` | Web search | -| `google suggest` | `--query ` | Autocomplete suggestions | -| `google trends` | `--limit N` | Trending searches | - -### V2EX - -| Command | Args | Description | -|---------|------|-------------| -| `v2ex hot` | `--limit N` (default 20) | 热门话题 (no login) | -| `v2ex latest` | `--limit N` (default 20) | 最新话题 (no login) | -| `v2ex topic` | `--id ` | 主题详情和回复 | -| `v2ex node` | `--name `, `--limit N` | Node topics | -| `v2ex user` | `--username ` | User profile | -| `v2ex member` | `--username ` | Member details | -| `v2ex replies` | `--id ` | Topic replies | -| `v2ex nodes` | — | List all nodes | -| `v2ex daily` | — | 每日签到 | -| `v2ex me` | — | 个人资料 | -| `v2ex notifications` | `--limit N` | 通知 | - -### Bloomberg - -| Command | Args | Description | -|---------|------|-------------| -| `bloomberg main` | `--limit N` | Main page news | -| `bloomberg markets` | `--limit N` | Markets news | -| `bloomberg economics` | `--limit N` | Economics news | -| `bloomberg industries` | `--limit N` | Industries news | -| `bloomberg tech` | `--limit N` | Technology news | -| `bloomberg politics` | `--limit N` | Politics news | -| `bloomberg businessweek` | `--limit N` | Businessweek | -| `bloomberg opinions` | `--limit N` | Opinion columns | -| `bloomberg feeds` | `--limit N` | All feeds | -| `bloomberg news` | `--query `, `--limit N` | Search news | - ---- - -## Browser Mode (Requires Chrome + Extension) - -### Twitter / X - -| Command | Args | Description | -|---------|------|-------------| -| `twitter timeline` | `--limit N` (default 20) | Home timeline | -| `twitter trending` | `--limit N` (default 20) | Trending topics | -| `twitter search` | `--query `, `--limit N` (default 15) | Search tweets | -| `twitter bookmarks` | `--limit N` (default 20) | Bookmarks | -| `twitter notifications` | `--limit N` (default 20) | Notifications | -| `twitter profile` | `--username `, `--limit N` | User's tweets | -| `twitter followers` | `--user `, `--limit N` | Followers list | -| `twitter following` | `--user `, `--limit N` | Following list | -| `twitter thread` | `--url ` | Full thread | -| `twitter article` | `--url ` | X article content | -| `twitter post` | `--text ` | Post a tweet | -| `twitter reply` | `--url `, `--text ` | Reply to tweet | -| `twitter like` | `--url ` | Like a tweet | -| `twitter delete` | `--url ` | Delete a tweet | -| `twitter follow` | `--username ` | Follow user | -| `twitter unfollow` | `--username ` | Unfollow user | -| `twitter bookmark` | `--url ` | Bookmark tweet | -| `twitter unbookmark` | `--url ` | Remove bookmark | -| `twitter download` | `--url ` | Download media | -| `twitter block` | `--username ` | Block user | -| `twitter unblock` | `--username ` | Unblock user | -| `twitter hide-reply` | `--url ` | Hide a reply | -| `twitter accept` | — | Accept follow requests | -| `twitter reply-dm` | `--text ` | Reply to DM | - -### Bilibili (B站) - -| Command | Args | Description | -|---------|------|-------------| -| `bilibili hot` | `--limit N` (default 20) | B站热门视频 | -| `bilibili search` | `--keyword `, `--type video\|user`, `--page N`, `--limit N` | 搜索视频或用户 | -| `bilibili me` | — | 当前用户资料 | -| `bilibili favorite` | `--limit N`, `--page N` | 收藏夹 | -| `bilibili history` | `--limit N` (default 20) | 观看历史 | -| `bilibili feed` | `--limit N`, `--type all\|video\|article` | 动态时间线 | -| `bilibili subtitle` | `--bvid `, `--lang ` | 视频字幕 | -| `bilibili dynamic` | `--limit N` (default 15) | 用户动态 | -| `bilibili ranking` | `--limit N` (default 20) | 排行榜 | -| `bilibili following` | `--uid `, `--page N`, `--limit N` | 关注列表 | -| `bilibili user-videos` | `--uid `, `--limit N`, `--order pubdate\|click\|stow` | 用户投稿 | -| `bilibili download` | `--bvid ` | 下载视频 | - -### Reddit - -| Command | Args | Description | -|---------|------|-------------| -| `reddit hot` | `--subreddit `, `--limit N` | Hot posts | -| `reddit frontpage` | `--limit N` (default 15) | r/all | -| `reddit popular` | `--limit N` | Popular posts | -| `reddit search` | `--query `, `--limit N` | Search posts | -| `reddit subreddit` | `--name `, `--sort hot\|new\|top\|rising`, `--limit N` | Subreddit posts | -| `reddit read` | `--url ` | Read post + comments | -| `reddit user` | `--username ` | User profile | -| `reddit user-posts` | `--username `, `--limit N` | User's posts | -| `reddit user-comments` | `--username `, `--limit N` | User's comments | -| `reddit upvote` | `--url ` | Upvote post | -| `reddit save` | `--url ` | Save post | -| `reddit comment` | `--url `, `--text ` | Comment on post | -| `reddit subscribe` | `--subreddit ` | Subscribe | -| `reddit saved` | `--limit N` | Saved posts | -| `reddit upvoted` | `--limit N` | Upvoted posts | - -### 知乎 (Zhihu) - -| Command | Args | Description | -|---------|------|-------------| -| `zhihu hot` | `--limit N` (default 20) | 知乎热榜 | -| `zhihu search` | `--keyword `, `--limit N` (default 10) | 搜索内容 | -| `zhihu question` | `--id `, `--limit N` | 问题详情和回答 | -| `zhihu download` | `--url ` | 下载内容 | - -### 小红书 (Xiaohongshu) - -| Command | Args | Description | -|---------|------|-------------| -| `xiaohongshu search` | `--keyword `, `--limit N` (default 20) | 搜索笔记 | -| `xiaohongshu notifications` | `--type mentions\|likes\|connections`, `--limit N` | 通知 | -| `xiaohongshu feed` | `--limit N` (default 20) | 首页推荐 | -| `xiaohongshu user` | `--id `, `--limit N` | 用户笔记 | -| `xiaohongshu download` | `--url ` | 下载笔记 | -| `xiaohongshu publish` | `--title `, `--content ` | 发布笔记 | -| `xiaohongshu creator-notes` | `--limit N` | 创作者笔记列表 | -| `xiaohongshu creator-note-detail` | `--id ` | 创作者笔记详情 | -| `xiaohongshu creator-notes-summary` | — | 创作者笔记汇总 | -| `xiaohongshu creator-profile` | — | 创作者主页 | -| `xiaohongshu creator-stats` | — | 创作者数据 | +## Supported-use guidance -### 雪球 (Xueqiu) +Typical good fits: +- News/feed/trending pulls from supported sites +- Search across supported sites +- Reading saved/bookmarked/history content where supported +- Pulling quotes/options chains from supported finance targets +- Interacting with supported desktop apps through their existing local session -| Command | Args | Description | -|---------|------|-------------| -| `xueqiu feed` | `--page N`, `--limit N` (default 20) | 关注动态 | -| `xueqiu hot-stock` | `--limit N` (default 20, max 50), `--type 10\|12` | 热门股票榜 | -| `xueqiu hot` | `--limit N` (default 20) | 热门动态 | -| `xueqiu search` | `--query `, `--limit N` (default 10) | 搜索股票 | -| `xueqiu stock` | `--symbol ` (如 SH600519, AAPL) | 实时行情 | -| `xueqiu watchlist` | `--category 1\|2\|3`, `--limit N` | 自选股 | -| `xueqiu earnings-date` | `--symbol ` | 财报日期 | +Higher-risk actions that need confirmation unless already explicitly authorized: +- posting +- replying +- liking/upvoting +- following/unfollowing +- commenting +- sending desktop-app messages +- deleting content -### 微博 (Weibo) +## Failure handling -| Command | Args | Description | -|---------|------|-------------| -| `weibo hot` | `--limit N` (default 30, max 50) | 微博热搜 | -| `weibo search` | `--keyword `, `--limit N` | 搜索微博 | +If a command errors: +1. Re-run with a smaller scope if appropriate. +2. Check `opencli-rs doctor`. +3. Verify Chrome/app/login/extension prerequisites. +4. If the target is unsupported or the flow is too custom, switch to the browser skill. -### 豆瓣 (Douban) +## Notes -| Command | Args | Description | -|---------|------|-------------| -| `douban search` | `--keyword `, `--limit N` | 搜索 | -| `douban top250` | `--limit N` | 电影 Top 250 | -| `douban subject` | `--id ` | 条目详情 | -| `douban marks` | `--type movie\|book`, `--limit N` | 我的标记 | -| `douban reviews` | `--id `, `--limit N` | 短评 | -| `douban movie-hot` | `--limit N` | 热门电影 | -| `douban book-hot` | `--limit N` | 热门图书 | - -### 微信读书 (WeRead) - -| Command | Args | Description | -|---------|------|-------------| -| `weread shelf` | — | 书架 | -| `weread search` | `--keyword `, `--limit N` | 搜索图书 | -| `weread book` | `--id ` | 图书详情 | -| `weread highlights` | `--id ` | 划线笔记 | -| `weread notes` | `--id ` | 想法笔记 | -| `weread notebooks` | `--limit N` | 笔记本列表 | -| `weread ranking` | `--limit N` | 排行榜 | - -### YouTube - -| Command | Args | Description | -|---------|------|-------------| -| `youtube search` | `--query `, `--limit N` (default 20, max 50) | 搜索视频 | -| `youtube video` | `--id ` | 视频详情 | -| `youtube transcript` | `--id `, `--lang ` | 视频字幕 | - -### BOSS直聘 - -| Command | Args | Description | -|---------|------|-------------| -| `boss search` | `--query `, `--city <城市>`, `--experience <经验>`, `--degree <学历>`, `--salary <薪资>`, `--limit N` | 搜索职位 | -| `boss detail` | `--id ` | 职位详情 | -| `boss recommend` | `--limit N` | 推荐职位 | -| `boss joblist` | `--limit N` | 职位列表 | -| `boss greet` | `--id ` | 打招呼 | -| `boss batchgreet` | `--ids ` | 批量打招呼 | -| `boss send` | `--id `, `--text ` | 发消息 | -| `boss chatlist` | `--limit N` | 聊天列表 | -| `boss chatmsg` | `--id `, `--limit N` | 聊天记录 | -| `boss invite` | `--id ` | 邀请面试 | -| `boss mark` | `--id `, `--label ` | 标记 | -| `boss exchange` | `--id ` | 交换联系方式 | -| `boss resume` | — | 我的简历 | -| `boss stats` | — | 求职统计 | - -### Facebook - -| Command | Args | Description | -|---------|------|-------------| -| `facebook feed` | `--limit N` | News feed | -| `facebook profile` | `--username ` | User profile | -| `facebook search` | `--query `, `--limit N` | Search | -| `facebook friends` | `--limit N` | Friends list | -| `facebook groups` | `--limit N` | Groups | -| `facebook events` | `--limit N` | Events | -| `facebook notifications` | `--limit N` | Notifications | -| `facebook memories` | — | Memories | -| `facebook add-friend` | `--username ` | Add friend | -| `facebook join-group` | `--id ` | Join group | - -### Instagram - -| Command | Args | Description | -|---------|------|-------------| -| `instagram explore` | `--limit N` | Explore page | -| `instagram profile` | `--username ` | User profile | -| `instagram search` | `--query `, `--limit N` | Search | -| `instagram user` | `--username `, `--limit N` | User posts | -| `instagram followers` | `--username `, `--limit N` | Followers | -| `instagram following` | `--username `, `--limit N` | Following | -| `instagram follow` | `--username ` | Follow user | -| `instagram unfollow` | `--username ` | Unfollow user | -| `instagram like` | `--url ` | Like post | -| `instagram unlike` | `--url ` | Unlike post | -| `instagram comment` | `--url `, `--text ` | Comment | -| `instagram save` | `--url ` | Save post | -| `instagram unsave` | `--url ` | Unsave post | -| `instagram saved` | `--limit N` | Saved posts | - -### TikTok - -| Command | Args | Description | -|---------|------|-------------| -| `tiktok explore` | `--limit N` | Explore page | -| `tiktok search` | `--query `, `--limit N` | Search | -| `tiktok profile` | `--username ` | User profile | -| `tiktok user` | `--username `, `--limit N` | User videos | -| `tiktok following` | `--limit N` | Following list | -| `tiktok follow` | `--username ` | Follow user | -| `tiktok unfollow` | `--username ` | Unfollow user | -| `tiktok like` | `--url ` | Like video | -| `tiktok unlike` | `--url ` | Unlike video | -| `tiktok comment` | `--url `, `--text ` | Comment | -| `tiktok save` | `--url ` | Save video | -| `tiktok unsave` | `--url ` | Unsave video | -| `tiktok live` | `--username ` | Live stream | -| `tiktok notifications` | `--limit N` | Notifications | -| `tiktok friends` | `--limit N` | Friends | - -### 即刻 (Jike) - -| Command | Args | Description | -|---------|------|-------------| -| `jike feed` | `--limit N` | 动态 Feed | -| `jike search` | `--query `, `--limit N` | 搜索 | -| `jike create` | `--text ` | 发动态 | -| `jike like` | `--id ` | 点赞 | -| `jike comment` | `--id `, `--text ` | 评论 | -| `jike repost` | `--id `, `--text ` | 转发 | -| `jike notifications` | `--limit N` | 通知 | -| `jike post` | `--id ` | 帖子详情 | -| `jike topic` | `--id `, `--limit N` | 圈子 | -| `jike user` | `--username ` | 用户主页 | - -### Medium - -| Command | Args | Description | -|---------|------|-------------| -| `medium feed` | `--limit N` | Feed | -| `medium search` | `--query `, `--limit N` | Search articles | -| `medium user` | `--username ` | User articles | - -### Substack - -| Command | Args | Description | -|---------|------|-------------| -| `substack feed` | `--limit N` | Feed | -| `substack search` | `--query `, `--limit N` | Search | -| `substack publication` | `--name `, `--limit N` | Publication posts | - -### 新浪博客 (Sina Blog) - -| Command | Args | Description | -|---------|------|-------------| -| `sinablog hot` | `--limit N` | 热门文章 | -| `sinablog search` | `--query `, `--limit N` | 搜索 | -| `sinablog article` | `--url ` | 文章详情 | -| `sinablog user` | `--id ` | 用户文章 | - -### 携程 (Ctrip) - -| Command | Args | Description | -|---------|------|-------------| -| `ctrip search` | `--query `, `--limit N` (default 15) | 搜索城市或景点 | - -### 路透社 (Reuters) - -| Command | Args | Description | -|---------|------|-------------| -| `reuters search` | `--query `, `--limit N` (default 10, max 40) | 搜索新闻 | - -### 什么值得买 (smzdm) - -| Command | Args | Description | -|---------|------|-------------| -| `smzdm search` | `--keyword `, `--limit N` (default 20) | 搜索好价商品 | - -### LinkedIn - -| Command | Args | Description | -|---------|------|-------------| -| `linkedin search` | `--query `, `--limit N` | Search | - -### Yahoo Finance - -| Command | Args | Description | -|---------|------|-------------| -| `yahoo-finance quote` | `--symbol ` (如 AAPL, MSFT, TSLA) | 股票行情 | - -### Barchart - -| Command | Args | Description | -|---------|------|-------------| -| `barchart quote` | `--symbol ` | Quote | -| `barchart options` | `--symbol ` | Options chain | -| `barchart greeks` | `--symbol ` | Options greeks | -| `barchart flow` | `--limit N` | Options flow | - -### Grok - -| Command | Args | Description | -|---------|------|-------------| -| `grok ask` | `--text ` | Ask Grok | - -### 即梦 (Jimeng) - -| Command | Args | Description | -|---------|------|-------------| -| `jimeng generate` | `--prompt ` | Generate image | -| `jimeng history` | `--limit N` | Generation history | - -### 超星 (Chaoxing) - -| Command | Args | Description | -|---------|------|-------------| -| `chaoxing assignments` | — | Assignments | -| `chaoxing exams` | — | Exams | - -### 微信 (Weixin) - -| Command | Args | Description | -|---------|------|-------------| -| `weixin download` | `--url ` | Download article | - -### 豆包 (Doubao) - -| Command | Args | Description | -|---------|------|-------------| -| `doubao status` | — | Status | -| `doubao new` | — | New conversation | -| `doubao send` | `--text ` | Send message | -| `doubao read` | — | Read response | -| `doubao ask` | `--text ` | Ask question | - -### 拼多多海外 (Coupang) - -| Command | Args | Description | -|---------|------|-------------| -| `coupang search` | `--query `, `--limit N` | Search products | -| `coupang add-to-cart` | `--id ` | Add to cart | - -### Yollomi - -| Command | Args | Description | -|---------|------|-------------| -| `yollomi generate` | `--prompt ` | Generate image | -| `yollomi video` | `--prompt ` | Generate video | -| `yollomi edit` | `--image `, `--prompt ` | Edit image | -| `yollomi upload` | `--file ` | Upload file | -| `yollomi models` | — | List models | -| `yollomi remove-bg` | `--image ` | Remove background | -| `yollomi upscale` | `--image ` | Upscale image | -| `yollomi face-swap` | `--source `, `--target ` | Face swap | -| `yollomi restore` | `--image ` | Restore image | -| `yollomi try-on` | `--person `, `--garment ` | Virtual try-on | -| `yollomi background` | `--image `, `--prompt ` | Change background | -| `yollomi object-remover` | `--image ` | Remove object | - ---- - -## Desktop Mode (Requires Desktop App Running) - -### Cursor - -| Command | Args | Description | -|---------|------|-------------| -| `cursor status` | — | IDE status | -| `cursor send` | `--text ` | Send to Cursor | -| `cursor read` | — | Read response | -| `cursor new` | — | New conversation | -| `cursor dump` | — | Dump conversation | -| `cursor composer` | — | Open composer | -| `cursor model` | `--name ` | Switch model | -| `cursor extract-code` | — | Extract code blocks | -| `cursor ask` | `--text ` | Ask question | -| `cursor screenshot` | — | Take screenshot | -| `cursor history` | `--limit N` | Conversation history | -| `cursor export` | — | Export conversation | - -### Codex - -| Command | Args | Description | -|---------|------|-------------| -| `codex status` | — | Status | -| `codex send` | `--text ` | Send message | -| `codex read` | — | Read response | -| `codex new` | — | New conversation | -| `codex dump` | — | Dump conversation | -| `codex extract-diff` | — | Extract diffs | -| `codex model` | `--name ` | Switch model | -| `codex ask` | `--text ` | Ask question | -| `codex screenshot` | — | Take screenshot | -| `codex history` | `--limit N` | History | -| `codex export` | — | Export | - -### Notion - -| Command | Args | Description | -|---------|------|-------------| -| `notion status` | — | App status | -| `notion search` | `--query ` | Search pages | -| `notion read` | `--id ` | Read page | -| `notion new` | `--title ` | New page | -| `notion write` | `--id `, `--content ` | Write to page | -| `notion sidebar` | — | Sidebar contents | -| `notion favorites` | — | Favorites | -| `notion export` | `--id ` | Export page | - -### ChatGPT - -| Command | Args | Description | -|---------|------|-------------| -| `chatgpt status` | — | App status | -| `chatgpt new` | — | New conversation | -| `chatgpt send` | `--text ` | Send message | -| `chatgpt read` | — | Read response | -| `chatgpt ask` | `--text ` | Ask question | - -### Discord - -| Command | Args | Description | -|---------|------|-------------| -| `discord-app status` | — | App status | -| `discord-app send` | `--channel `, `--text ` | Send message | -| `discord-app read` | `--channel `, `--limit N` | Read messages | -| `discord-app channels` | `--server ` | List channels | -| `discord-app servers` | — | List servers | -| `discord-app search` | `--query ` | Search | -| `discord-app members` | `--server ` | List members | - -### ChatWise - -| Command | Args | Description | -|---------|------|-------------| -| `chatwise status` | — | Status | -| `chatwise new` | — | New conversation | -| `chatwise send` | `--text ` | Send message | -| `chatwise read` | — | Read response | -| `chatwise ask` | `--text ` | Ask question | -| `chatwise model` | `--name ` | Switch model | -| `chatwise history` | `--limit N` | History | -| `chatwise export` | — | Export | -| `chatwise screenshot` | — | Screenshot | - -### 豆包 App (Doubao App) - -| Command | Args | Description | -|---------|------|-------------| -| `doubao-app status` | — | Status | -| `doubao-app new` | — | New conversation | -| `doubao-app send` | `--text ` | Send message | -| `doubao-app read` | — | Read response | -| `doubao-app ask` | `--text ` | Ask question | -| `doubao-app screenshot` | — | Screenshot | -| `doubao-app dump` | — | Dump conversation | - -### Antigravity - -| Command | Args | Description | -|---------|------|-------------| -| `antigravity status` | — | Status | -| `antigravity send` | `--text ` | Send message | -| `antigravity read` | — | Read response | -| `antigravity new` | — | New conversation | -| `antigravity dump` | — | Dump conversation | -| `antigravity extract-code` | — | Extract code | -| `antigravity model` | `--name ` | Switch model | -| `antigravity watch` | — | Watch mode | - ---- - -## External CLI Integration (Passthrough) - -| Command | Description | -|---------|-------------| -| `opencli-rs gh ` | GitHub CLI passthrough | -| `opencli-rs docker ` | Docker CLI passthrough | -| `opencli-rs kubectl ` | Kubernetes CLI passthrough | -| `opencli-rs obsidian ` | Obsidian passthrough | -| `opencli-rs readwise ` | Readwise passthrough | -| `opencli-rs gws ` | Google Workspace passthrough | - ---- - -## AI Discovery Commands - -| Command | Args | Description | -|---------|------|-------------| -| `opencli-rs explore` | `` | Explore website APIs | -| `opencli-rs cascade` | `` | Auto-detect auth strategies | -| `opencli-rs generate` | ``, `--goal ` | Auto-generate adapter | - ---- +- This skill complements, not replaces, browser automation. +- Prefer native platform tools when they already cover the task better. +- Use `opencli-rs` mainly when the value is access via the user's authenticated local browser/app session. -## Utility Commands +## Source -| Command | Description | -|---------|-------------| -| `opencli-rs doctor` | Run diagnostics | -| `opencli-rs completion bash\|zsh\|fish` | Generate shell completions | -| `opencli-rs list` | List all available commands | +Based on: +- Skill repo: `https://github.com/nashsu/opencli-rs-skill` +- Upstream CLI: `https://github.com/nashsu/opencli-rs` diff --git a/references/command-subsets.md b/references/command-subsets.md new file mode 100644 index 0000000..6dc88bb --- /dev/null +++ b/references/command-subsets.md @@ -0,0 +1,68 @@ +# opencli-rs command subsets + +Use this file only when you need quick command examples for common targets. Keep `SKILL.md` lean. + +## Safe public commands + +These are the best first tests because they do not require the browser extension or login reuse. + +```bash +opencli-rs hackernews top --limit 10 --format json +opencli-rs hackernews search --query "OpenClaw" --limit 10 --format json +opencli-rs bbc news --limit 10 --format json +opencli-rs arxiv search --query "large language models" --limit 10 --format json +opencli-rs stackoverflow search --query "rust async" --limit 10 --format json +opencli-rs devto top --limit 10 --format json +opencli-rs lobsters hot --limit 10 --format json +``` + +## Browser-backed read commands + +Use these only after confirming Chrome is open, the user is logged in, and the extension/daemon are connected. + +```bash +opencli-rs twitter timeline --limit 20 --format json +opencli-rs twitter search "OpenClaw" --limit 10 --format json +opencli-rs reddit frontpage --limit 15 --format json +opencli-rs reddit search --query "OpenClaw" --limit 10 --format json +opencli-rs youtube search --query "LLM tutorial" --limit 10 --format json +opencli-rs bloomberg tech --limit 10 --format json +opencli-rs yahoo-finance quote --symbol AAPL --format json +opencli-rs barchart options --symbol SPY --format json +opencli-rs substack feed --limit 10 --format json +opencli-rs medium feed --limit 10 --format json +``` + +## Desktop-app commands + +Use these only if the desktop app is already running. + +```bash +opencli-rs cursor status --format json +opencli-rs codex status --format json +opencli-rs notion search --query "meeting notes" --format json +opencli-rs discord-app status --format json +``` + +## Argument gotchas + +Some commands take a positional argument instead of a named flag. Check `--help` for the exact form before assuming. + +Examples: + +```bash +opencli-rs wikipedia summary OpenAI --format json +opencli-rs google search OpenClaw --limit 3 --format json +``` + +Not every adapter uses `--query` or `--title`. + +## Diagnostics + +```bash +opencli-rs --help +opencli-rs --help +opencli-rs --help +opencli-rs doctor +opencli-rs list +```