
tradingview-reader
Read the user's local TradingView desktop app through opencli: quotes, options chains with greeks and per-strike IV, options expiries, screener results across stocks, crypto, forex, futures, and bonds, gainers and losers, news headlines and full stories, alerts (active, fired, offline fires), watchlists including colored flag lists, symbol search, chart state, and chart screenshots. Use this skill whenever the user asks for any of these from TradingView ("TV") — for example an options chain, puts, or IV skew for a ticker, an oversold-stock screen, their red flag list, which alerts fired, or a screenshot of their chart. For plain quotes, TA readouts, scans, or futures without the desktop app, prefer tradingview-mcp. Read-only: it never places trades or edits watchlists, alerts, or layouts.
- Installs
- 1.1K
- Last 24h
- +10
- Trending rank
- #8690
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/himself65/finance-skills --skill tradingview-reader- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads tradingview-reader automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
TradingView Reader (Read-Only)
If your host has not already executed the shell probes below (for example, in Codex), run the commands inside the ! wrappers with its shell tool before choosing a setup path. Use the actual output; if shell access is unavailable, report that limitation.
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.
Headless alternative: for plain quotes, TA readouts, screeners, futures, or a greeks-free options chain, prefer the sibling
tradingview-mcpskill (bundled MCP server, no desktop app, no CDP relaunch). Use this skill when you need greeks / per-strike IV skew, expiries with contract counts, or account-bound data (watchlists, alerts, charts, TV news).
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 read the app's session cookies over CDP and call TradingView's HTTP APIs from Node directly, so no Browser Bridge extension or apps.yaml registration is 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, choose--columnsdeliberately — 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. - 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.), so don't look for workarounds.
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.
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
FAQ
What does the tradingview-reader skill do?
Read the user's local TradingView desktop app through opencli: quotes, options chains with greeks and per-strike IV, options expiries, screener results across stocks, crypto, forex, futures, and bonds, gainers and losers, news headlines and full stories, alerts (active, fired, offline fires), watchlists including colored flag lists, symbol search, chart state, and chart screenshots. Use this skill whenever the user asks for any of these from TradingView ("TV") — for example an options chain, puts, or IV skew for a ticker, an oversold-stock screen, their red flag list, which alerts fired, or a screenshot of their chart. For plain quotes, TA readouts, scans, or futures without the desktop app, prefer tradingview-mcp. Read-only: it never places trades or edits watchlists, alerts, or layouts.
How do I install tradingview-reader?
Run npx skills add https://github.com/himself65/finance-skills --skill tradingview-reader in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tradingview-reader/ (personal) or .claude/skills/tradingview-reader/ (project).
Which AI agents can use tradingview-reader?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is tradingview-reader safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains tradingview-reader?
It is published by himself65 in himself65/finance-skills. It has 1,148 recorded installs.
More from himself65/finance-skills
yfinance-data
himself65/finance-skills
Fetch financial and market data with the yfinance Python library (Yahoo Finance). Use this skill whenever the user wants stock data: current quotes and price history, financial statements (income statement, balance sheet, cash flow), options chains, dividends and splits, earnings and analyst estimates, price targets and ratings, institutional and insider holdings, news, multi-ticker comparisons, stock screens, or sector and industry data. Use it even when the user gives only a ticker symbol (AAPL, MSFT, TSLA) and the intent has to be inferred. For earnings previews or recaps, estimate revisions, valuation, correlation, liquidity, or ETF premium analysis, prefer the dedicated skill.
stock-correlation
himself65/finance-skills
Analyze how stocks move together using Yahoo Finance price history (yfinance): find correlated peers for a ticker, measure correlation, beta, and spread between specific tickers, cluster a group into a correlation matrix, and track rolling or regime-dependent correlation. Use this skill whenever the user asks what moves with a stock, what else drops when it drops, related tickers or sympathy plays, sector or supply-chain peers, pair trading or hedging pairs, beta or relative performance, correlation matrices, co-movement, or rolling/realized correlation — including well-known pairs like AMD/NVDA, GOOGL/AVGO, or LITE/COHR. With a single ticker, assume the user wants its correlated peers.
options-payoff
himself65/finance-skills
Render an interactive options payoff chart — expiry P&L plus Black-Scholes theoretical value — with sliders for strikes, premium, IV, DTE, and spot. Use this skill whenever the user describes or shares an options position or strategy and wants to see how it makes or loses money: vertical, calendar, diagonal, or ratio spreads, butterflies, condors and iron condors, straddles, strangles, covered calls, protective or naked puts, or any multi-leg structure. This includes pasted strikes, premiums, and expiries, requests like "show me the payoff" or "draw the P&L curve", and broker screenshots (IBKR, TastyTrade, Robinhood). Use it even when details are partial — defaults fill the gaps.
earnings-preview
himself65/finance-skills
Build a pre-earnings briefing for a stock from Yahoo Finance data (yfinance): the upcoming report date and timing, consensus EPS and revenue estimates with their range, the beat/miss track record, analyst ratings and price targets, and what to watch in the print. Use this skill whenever the user is preparing for an upcoming earnings report or asks what the street expects — consensus or whisper numbers, EPS expectations, whether a company will beat, an earnings setup, or an earnings-season preview — and whenever a ticker comes up in the context of upcoming earnings, even without the word "preview". For results that are already out, use earnings-recap.
earnings-recap
himself65/finance-skills
Analyze a company's most recent (or a specified past) earnings report from Yahoo Finance data (yfinance): actual vs estimated EPS, surprise size, revenue and margin trends, and the stock's price reaction. Use this skill whenever the user asks how earnings went — beat or miss, earnings surprise, quarterly results, the post-earnings move, or an earnings call recap — including casual references to a past report such as "AMZN reported last night" or "how did they do". For an upcoming report, use earnings-preview.
generative-ui
himself65/finance-skills
Design system and templates for interactive HTML/SVG visuals in Claude and Codex, using an available inline renderer or a standalone HTML file. Use this skill whenever the user wants visual or interactive output rather than plain text or markdown: charts and dashboards, diagrams, flowcharts and architecture drawings, mockups, comparison grids, illustrations, interactive explainers ("explain how X works" with a visual), or tools with sliders, toggles, and live-updating displays — including financial data shown visually and requests phrased as "show me", "visualize", "draw", or "chart this".
Popular business & finance skills
sales-enablement
coreyhaines31/marketingskills
When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also use when the user mentions 'sales deck,' 'pitch deck,' 'one-pager,' 'leave-behind,' 'objection handling,' 'deal-specific ROI analysis,' 'demo script,' 'talk track,' 'sales playbook,' 'proposal template,' 'buyer persona card,' 'battle card,' 'battlecard,' 'competitive one-pager,' 'win-loss analysis,' 'why are we losing deals,' 'loss reasons,' 'how do I respond to this objection,' 'prospect just said,' 'help my sales team,' 'sales materials,' or 'what should I give my sales reps,' 'cold call script,' or 'voicemail script.' Use this for any document or asset that helps a sales team close deals. For public competitor comparison pages, see competitors. For running buyer interviews or churn research, see customer-research. For marketing website copy, see copywriting. For cold outreach emails, see cold-email. For the offer being sold (bonuses, guarantees, pricing structure),
revops
coreyhaines31/marketingskills
When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'outbound pipeline stages,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see emails. For pricing decisions, see pricing.
sales-funnel-blueprint
autonnel/autonnel-skills
Turn an offer into a concrete multi-step sales funnel spec - page-by-page structure, price ladder, copy outline and the metrics each step must hit. Use when asked to build a sales funnel, marketing funnel, landing page flow, lead magnet funnel, webinar funnel, tripwire or VSL funnel, when planning a product launch page flow, or when someone asks "what pages do I need" for selling something online.
pricing
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' 'should I offer a free plan,' 'pricing page teardown,' 'pricing page audit,' 'is my pricing page AI-readable,' or 'can AI read my pricing.' Use this whenever someone is figuring out what to charge, how to structure their plans, or wants to audit a pricing page (for humans and for the AI agents that shortlist tools). For in-app upgrade screens, see paywalls. For offer construction (bonuses, guarantees, value framing, naming) on services/courses/coaching/high-ticket B2B, see offers.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
pricing-strategy
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' or 'should I offer a free plan.' Use this whenever someone is figuring out what to charge or how to structure their plans. For in-app upgrade screens, see paywall-upgrade-cro.