
TradingView Reader
FreeAccess market data from TradingView's desktop app.
Free · Opens the source repo
What TradingView Reader does
The TradingView Reader skill is designed for users who want to extract market data, news, alerts, and various financial insights directly from the TradingView desktop application. By utilizing the opencli framework, this skill allows for read-only access to a variety of TradingView features, including options chains, stock quotes, and watchlists. It is particularly useful for traders and analysts looking to gather information without the need for manual input or interaction with the TradingView interface.
This skill operates by connecting to the TradingView desktop app via the Chrome DevTools Protocol (CDP), ensuring that users can retrieve real-time data efficiently. Users must have the TradingView app installed and be logged in, as the skill interacts directly with the app's process to fetch data. The commands available cover a wide range of functions, from checking the current state of charts to retrieving detailed options data and news headlines for specific stocks or cryptocurrencies.
The read-only nature of this skill means that it is focused on data retrieval and analysis rather than execution of trades or modifications to user settings within TradingView. This makes it an ideal tool for those who need to perform market research or track various financial instruments without altering their TradingView environment. The skill is straightforward to set up, requiring only the installation of opencli and the TradingView plugin, along with a one-time launch of the TradingView app with debugging enabled.
In summary, the TradingView Reader skill is a valuable asset for traders, analysts, and financial enthusiasts who rely on TradingView for their market insights. It streamlines the process of accessing critical data, allowing users to focus on analysis and decision-making rather than data collection.
When to use it
Use this skill when you need to gather financial data, options chains, or news from TradingView without making any changes to your account or settings.
When not to use it
This skill is not suitable for users looking to execute trades or modify their TradingView setup, as it is strictly read-only.
What you can build with it
Fetching Options Data
Retrieve detailed options chains for specific stocks to analyze potential trades.
Monitoring Market News
Access the latest news headlines related to specific stocks or sectors for informed decision-making.
Checking Chart States
Capture the current state of your charts, including screenshots, for analysis or reporting purposes.
How to install TradingView Reader
View source1. Install with the skills CLI
npx skills add himself65/finance-skills/tradingview-reader --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by himself65TradingView Reader (Read-Only)
Reads TradingView's desktop macOS app for quotes, options chains, and chart state via opencli and a CDP attach to the running TradingView.app process. Powered by the tradingview plugin in this repo's opencli-plugins/tradingview tree (a separate plugin from opencli's built-in adapters, installed via opencli's monorepo subpath syntax).
This skill is read-only. Designed for analysis: pulling options chains, checking IV/greeks, capturing chart state. It does NOT place trades, post ideas, modify watchlists, or change chart layouts.
Important: Unlike browser-based opencli readers (twitter, linkedin), this one talks directly to a running TradingView desktop app over Chrome DevTools Protocol. The user must (a) have TradingView.app installed, and (b) be logged in inside that app. The plugin handles relaunching with the debug port.
How it works: data commands harvest session cookies via CDP Storage.getCookies, then fire HTTP requests from Node directly. Page-context fetch is blocked by browser CORS preflight even from TradingView's own pages — the desktop app uses Electron's main process (Node network stack) to bypass this, and we replicate that path. No Browser Bridge extension required, no apps.yaml registration needed.
Step 1: Ensure opencli + Plugin Are Installed and Ready
Current environment status:
!`(command -v opencli && opencli tradingview status 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`
If the status above shows READY, skip to Step 2. Otherwise:
NOT_INSTALLED — Install opencli
npm install -g @jackwener/opencli
Requires Node.js >= 24 — the tradingview plugin installed in the next step declares engines.node >= 24.
SETUP_NEEDED — Install the TradingView plugin and launch with CDP
The TradingView adapter is not built into opencli — it's a separate plugin:
# Install the plugin
opencli plugin install github:himself65/finance-skills/tradingview
# Relaunch TradingView.app with CDP enabled (one-time per session)
opencli tradingview launch
The launch step quits the running TradingView and reopens it with --remote-debugging-port=9222. Warn the user to save chart layouts first if they have unsaved drawings.
Common setup issues
| Symptom | Fix |
|---|---|
opencli: command not found | npm install -g @jackwener/opencli (Node ≥ 24) |
Unknown command: tradingview | opencli plugin install github:himself65/finance-skills/tradingview |
Cannot reach CDP at http://127.0.0.1:9222 | App not launched with debug port — run opencli tradingview launch |
No tradingview.com cookies found | App is open but logged out — log in inside the desktop app |
No TradingView tab found | Open any chart or symbol page in TradingView, then retry |
| Empty chain / 0 contracts | Subscription tier on the logged-in account doesn't include options for this symbol |
Step 2: Identify What the User Needs
Setup / chart inspection
| User Request | Command | Key Flags |
|---|---|---|
| Setup / connection check | opencli tradingview status | — |
| Relaunch app with CDP | opencli tradingview launch | --port 9222 |
| What's on the chart | opencli tradingview chart-state | --tab <id> |
| Screenshot a chart | opencli tradingview screenshot --output ~/charts/nvda.png | --tab <id> |
Quotes + options
| User Request | Command | Key Flags |
|---|---|---|
| Spot quote | opencli tradingview quote --ticker X | --exchange NASDAQ |
| Options chain (full) | opencli tradingview options-chain --ticker X | --exchange |
| Options chain (one expiry, ATM band) | opencli tradingview options-chain --ticker X --expiry YYYY-MM-DD | --type call|put, --strikes-around-spot N |
| List expiries | opencli tradingview options-expiries --ticker X | — |
Screener
| User Request | Command | Key Flags |
|---|---|---|
| Generic screener (stocks/crypto/forex/futures/bonds) | opencli tradingview screener --market america --columns ... | --filter <json>, --sort field:desc, --limit N, --label-product |
| US stocks with RSI < 30, sorted by volume | opencli tradingview screener --market america --columns "name,close,RSI|60,volume" --filter '[{"left":"RSI|60","operation":"less","right":30}]' --sort volume:desc | — |
| Top crypto by market cap | opencli tradingview screener --market coin --columns "name,close,change,market_cap_calc" --sort market_cap_calc:desc --limit 50 | — |
| Symbol search / autocomplete | opencli tradingview search --query "nvidia" | --type stock|funds|crypto|..., --exchange, --country |
News
| User Request | Command | Key Flags |
|---|---|---|
| Global news headlines | opencli tradingview news --limit 25 | --category, --area, --section, --provider |
| News for a specific ticker | opencli tradingview news --symbol NASDAQ:AAPL | --limit, --section analysis|press_release|... |
| Full story by id | opencli tradingview news --id <story-id> | --lang en |
Watchlists + alerts
| User Request | Command | Key Flags |
|---|---|---|
| List all watchlists | opencli tradingview watchlists | — |
| Symbols in one watchlist | opencli tradingview watchlists --id <wl-id> | — |
| Colored-flag list (red/orange/yellow/green/blue/purple) | opencli tradingview watchlists --color red | — |
| List all alerts | opencli tradingview alerts --type list | — |
| Active alerts | opencli tradingview alerts --type active | — |
| Recently triggered alerts | opencli tradingview alerts --type triggered | — |
| Alerts that fired while offline | opencli tradingview alerts --type offline | — |
| Full alert log | opencli tradingview alerts --type log | — |
Step 3: Execute the Command
General pattern
# Use -f json or -f yaml for structured output
opencli tradingview options-chain --ticker SNDK --expiry 2026-05-22 -f json
opencli tradingview options-chain --ticker NVDA --strikes-around-spot 8 -f csv
opencli tradingview quote --ticker SPY --exchange NYSEARCA -f json
Key rules
- Run
opencli tradingview statusfirst if connectivity is uncertain — it reports CDP connection state and active TradingView tabs. - Use
-f jsonfor programmatic processing (LLM context, downstream skills). - Filter by expiry and
--strikes-around-spot— full chains can be 3,000+ rows; an unfiltered dump is rarely what the user wants. - Default
--exchange NASDAQfor US equities; require explicit--exchangefor ETFs (e.g. SPY = NYSEARCA, QQQ = NASDAQ) or non-US listings. - For
screener,--columnsis critical — it controls both the request and the output table. Includenameand any field used in--filteror--sort. Append|TFfor an indicator's timeframe, e.g.RSI|60for 1-hour RSI. The default columns are sensible for stocks but should be replaced for crypto / forex / futures (different field catalogs). - For
screener,--filteris JSON — array of{left, operation, right}clauses. Always single-quote the JSON in shell to avoid escaping issues. Seereferences/commands.mdfor the operations cheat sheet. - For
news, narrow the feed early — the global feed is firehose-level. Use--symbol,--category,--section, or--providerbefore raising--limit. - For
search, prefer it over guessing — when the user gives an ambiguous ticker (e.g. "SPY" without exchange), runsearch --query SPYfirst to confirm the listing, then pass--exchangeto subsequent commands. - For
watchlistsandalerts, default to summary — a user asking "what's in my watchlists?" wants list names + counts, not every symbol. - NEVER call any write operation. This skill is read-only — no trades, no watchlist edits, no alert creation/deletion, no chart writes. The plugin intentionally does not expose write endpoints (
/append,/replace,/create_alert, etc.).
Output format flag (-f)
| Format | Flag | Best for |
|---|---|---|
| Table | -f table (default) | Human-readable terminal output |
| JSON | -f json | Programmatic processing, LLM context |
| YAML | -f yaml | Structured output, readable |
| Markdown | -f md | Documentation, reports |
| CSV | -f csv | Spreadsheet export |
Output columns
quote—symbol,close,change,change_abs,currency,timeoptions-chain—expiry,dte,strike,type,bid,ask,mid,iv,delta,gamma,theta,vega,rho,theo,bid_iv,ask_iv,symboloptions-expiries—expiry,dte,contracts_countscreener— dynamic; one column per--columnsentry, plussymbol. (Default:name,close,change,volume,market_cap_basic,sector.tr.)search—symbol,description,type,exchange,country,currencynews(list mode) —id,published,provider,title,urgency,related_symbols,linknews(story mode,--idset) —id,published,provider,title,body,tags,linkwatchlists—id,name,symbol_count,symbolsalerts—id,name,symbol,type,condition,value,active,status,fired_atchart-state—layout_id,symbol,interval,urlscreenshot—path,bytes
Step 4: Present the Results
- Lead with the structure summary — for an options chain, state spot price, expiry being shown, ATM strike, and IV regime first; then the table. For a screener, lead with the count of matches and the filters applied.
- Filter aggressively before showing — never paste a 3,000-row chain or a 500-row screener. Default to ATM ± 6 strikes per expiry for chains; for screeners cap to top 20 unless the user asks for more.
- Highlight skew — when showing both calls and puts, note IV skew direction if material.
- For chart-state, report layout id + symbol + interval + URL succinctly; offer to screenshot.
- For news (list mode), group by provider and lead with timestamps in the user's likely timezone (or always UTC ISO if uncertain). Include the link so the user can open the story. For story mode (
--idset), the body is plain text — present it as-is, optionally trimmed. - For watchlists, summarize counts before listing symbols (e.g. "3 watchlists: Earnings (24 syms), AI plays (12 syms), Hedges (8 syms)"). Don't dump 100-symbol watchlist contents unless asked.
- For alerts, group by status (active vs triggered/fired) and order recent firings by
fired_atdesc. Don't expose alert ids unless the user explicitly asks. - For screener results, surface the top movers / extreme values in plain prose first (e.g. "highest market cap NVDA at $4.2T, 12 names below the RSI<30 threshold"), then the table.
- Treat sessions as private — never expose CDP target IDs, cookies, or layout IDs unless the user asks.
- Cross-reference with Funda when the user is making a trade decision — TradingView's options/screener data is convenient but can lag; for trade entry analysis, also fetch from the
funda-dataskill and reconcile.
Step 5: Diagnostics
opencli tradingview status
Returns CDP connection state and active TradingView tabs. If CDP is down, run opencli tradingview launch to relaunch with the debug port.
Error Reference
| Error | Cause | Fix |
|---|---|---|
Unknown command: tradingview | Plugin not installed | opencli plugin install github:himself65/finance-skills/tradingview |
Cannot reach CDP at http://127.0.0.1:9222 | App launched without debug port | opencli tradingview launch |
No tradingview.com cookies found | Logged out of TradingView | Log in inside the desktop app |
No TradingView tab found | App open but no TradingView page loaded | Open any chart or symbol page, then retry |
scanner 400 / Empty chain / totalCount=0 | Subscription tier doesn't cover this symbol's options | Check account tier in the desktop app |
Symbol not found | Wrong exchange | Pass --exchange explicitly, or run opencli tradingview search --query <name> first |
| Rate limited | Too many requests | Wait a few seconds, then retry |
Reference Files
references/commands.md— Every command with all flags, output examples, and analyst workflows
Frequently asked questions about TradingView Reader
Similar skills
Audio Editor
Automate your audio cleaning and editing process.
Watchers
Monitor feeds and APIs for new updates efficiently.
Moderator Actions
A comprehensive toolkit for moderating Civitai content.
Fleet Maintenance
Manage and audit Mac fleets efficiently.
AdGuard Home CLI
Manage AdGuard Home from the command line.
DoorDash Order Playbooks
Manage and automate your DoorDash orders with ease.
