opencli Reader (Generic Fallback, Read-Only)
Generic fallback for any source opencli supports via its adapter registry (100+ sites, growing). Use this skill only when no dedicated finance-skill covers the source — the specialized skills (twitter-reader, linkedin-reader, discord-reader, telegram-reader, yc-reader) are always preferred when the request matches one of them.
This skill is read-only. Write commands that opencli exposes (post, like, comment, send, save, upvote, subscribe, follow, delete, reply-dm, etc.) must not be invoked.
Step 1: Decide Whether to Use This Skill
Only use this skill if the request cannot be handled by a more specific skill.
If the source is not in opencli's registry either, stop and tell the user the request isn't covered — don't fall back to ad-hoc scraping.
Step 2: Ensure opencli Is Ready
Current environment status:
If NOT_INSTALLED:
If SETUP_NEEDED, guide the user through Browser Bridge setup (only required for adapters whose strategy is COOKIE, HEADER, INTERCEPT, or UI — PUBLIC and LOCAL adapters work without a browser):
- Download the latest
opencli-extension-v{version}.zipfrom the GitHub Releases page - Unzip it, open
chrome://extensionsin Chrome, enable Developer mode - Click Load unpacked and select the unzipped folder
- Make sure Chrome is logged into the target site, then re-run
opencli doctor
Requires Node.js >= 20 (or Bun >= 1.0).
Step 3: Discover the Right Command
Do not guess command names or flags — the registry has 500+ commands and changes weekly. Instead:
The opencli list -f json entry for each command includes:
site— adapter namespace (e.g.,yahoo-finance)name— subcommand (e.g.,quote)strategy—PUBLIC/COOKIE/HEADER/INTERCEPT/UI/LOCAL— tells you if a browser login is neededdescription,args,columns— canonical metadata
Use opencli list -f json as the source of truth. Never paste a site list into the plan from memory; adapters are added every week.
Quick map of the most common finance / research sources
The table below is a shortlist, not exhaustive — always confirm with opencli <site> --help.
For anything not listed, run opencli list -f json and filter.
Step 4: Check the Adapter's Strategy Before Running
Run opencli list -f json (or opencli <site> <command> --help) and read the strategy field:
If the user doesn't have a login and the adapter's strategy is not PUBLIC / LOCAL, tell them they need to log into the site in Chrome before retrying.
Step 5: Execute the Command
General pattern
Universal flags
Command-specific flags (--limit, --filter, --type, etc.) are not universal — always check opencli <site> <command> --help.
Examples
Key rules
- Always use
opencli <site> <command> --helpbefore constructing a command you haven't run this session — don't assume flag names. - Use
-f jsonfor programmatic processing. - Start with a small
--limit(10–20) to validate the shape before pulling more. - Check
strategybefore running a browser-backed adapter — if the user isn't logged in, aCOOKIE/UIadapter will fail. - Read-only — skip write commands. Common write command names across adapters:
post,reply,comment,like,unlike,upvote,save,subscribe,unsubscribe,follow,unfollow,block,unblock,delete,bookmark,unbookmark,send,create-draft,reply-dm,accept. If you're unsure whether a command is read or write, check thedescriptioninopencli list -f json; if it suggests a mutation, skip it.
Step 6: Handle Failures
If a command returns empty or errors out, the site may have changed its selectors / API. opencli has a built-in self-repair loop:
This emits a structured RepairContext that identifies the failing adapter's source path. Possible responses:
- If the user has the
opencli-autofixskill installed, tell them to run that skill. - If not, suggest they file an issue at https://github.com/jackwener/opencli/issues with the
RepairContextoutput. - Don't silently fall back to hand-rolled scraping — that hides the bug from the upstream registry.
Rate limits on the target site can also cause empty results; wait and retry.
Step 7: Present the Results
- Summarize the data for the user's actual question, don't just dump the raw JSON.
- Include source attribution — site name + URL for each item where available.
- For market data, surface price / % change / volume / market cap and flag anomalies.
- For news/posts, highlight headlines, timestamps, and key quotes.
- For research (arXiv, Scholar), include title, authors, abstract, and link.
- Treat browser sessions as private — never echo CDP endpoints, cookies, or auth tokens.
Reference Files
references/discovery.md— How to navigateopencli list,opencli <site> --help, and the JSON schema of registry entriesreferences/finance-sources.md— Detailed notes on the finance-heavy adapters (Yahoo Finance, Bloomberg, Eastmoney, Xueqiu, Barchart, Reuters, Reddit, HackerNews) and which commands are read vs write
Read these reference files when you need concrete examples for a specific site, or when the user asks for a capability not covered by one of the dedicated readers.
