mcpbeat Sign in

Tradingview Reader Agent Skill

> Read TradingView desktop app for market data, news, alerts, watchlists, and screener results using opencli (read-only). Use this skill whenever the user wants quotes, options chains, options expiries, screener results across stocks/crypto/forex/futures/bonds, gainers/losers/movers, news headlines or full story bodies, alerts (active list, fire log, offline fires), watchlists including colored flag lists, symbol search/autocomplete, chart state, or screenshots X", "IV on Y", "show me SNDK puts", "TV screener for Y sector", "screen oversold stocks", "TV gainers", "crypto by market cap", "TradingView news on AAPL", "show my watchlists", "red flag list", "list my alerts", "what alerts fired", "search TV for nvidia", "what symbol is on my chart", "screenshot NVDA chart", "TradingView IV skew", "TV expiries for X". This skill is READ-ONLY — it does NOT place trades, modify watchlists, or change chart layouts.

9k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3109
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/himself65/finance-skills --skill tradingview-reader

The instruction itself

20 sections, as written by the author

TradingView 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 >= 21 (or Bun >= 1.0).

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 ≥ 22 for built-in WebSocket) |

| 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 status first if connectivity is uncertain — it reports CDP connection state and active TradingView tabs.
  • Use -f json for 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 NASDAQ for US equities; require explicit --exchange for ETFs (e.g. SPY = NYSEARCA, QQQ = NASDAQ) or non-US listings.
  • For screener, --columns is critical — it controls both the request and the output table. Include name and any field used in --filter or --sort. Append |TF for an indicator's timeframe, e.g. RSI|60 for 1-hour RSI. The default columns are sensible for stocks but should be replaced for crypto / forex / futures (different field catalogs).
  • For screener, --filter is JSON — array of {left, operation, right} clauses. Always single-quote the JSON in shell to avoid escaping issues. See references/commands.md for the operations cheat sheet.
  • For news, narrow the feed early — the global feed is firehose-level. Use --symbol, --category, --section, or --provider before raising --limit.
  • For search, prefer it over guessing — when the user gives an ambiguous ticker (e.g. "SPY" without exchange), run search --query SPY first to confirm the listing, then pass --exchange to subsequent commands.
  • For watchlists and alerts, default to summary — a user asking "what's in my watchlists?" wants list names + counts, not every symbol.

10. 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

  • quotesymbol, close, change, change_abs, currency, time
  • options-chainexpiry, dte, strike, type, bid, ask, mid, iv, delta, gamma, theta, vega, rho, theo, bid_iv, ask_iv, symbol
  • options-expiriesexpiry, dte, contracts_count
  • screener — dynamic; one column per --columns entry, plus symbol. (Default: name, close, change, volume, market_cap_basic, sector.tr.)
  • searchsymbol, description, type, exchange, country, currency
  • news (list mode) — id, published, provider, title, urgency, related_symbols, link
  • news (story mode, --id set) — id, published, provider, title, body, tags, link
  • watchlistsid, name, symbol_count, symbols
  • alertsid, name, symbol, type, condition, value, active, status, fired_at
  • chart-statelayout_id, symbol, interval, url
  • screenshotpath, 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 (--id set), 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_at desc. 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.

10. 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-data skill 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

Other skills for the same job

different authors, same section of the catalogue
Usfiscaldata
by K-Dense-AI
×1

Query the U.S. Treasury Fiscal Data REST API for federal financial data. No API key required. Use for national debt (Debt to the Penny), Daily Treasury Statements, Monthly Treasury Statements, Treasury securities auctions, interest rates, foreign exchange rates, savings bonds, or U.S. government revenue and spending statistics.

15k tokens
Us Stock Analysis
by BaggaT236
×1

Comprehensive US stock analysis including fundamental analysis (financial metrics, business quality, valuation), technical analysis (indicators, chart patterns, support/resistance), stock comparisons, and investment report generation. Use when user requests analysis of US stock tickers (e.g., "analyze AAPL", "compare TSLA vs NVDA", "give me a report on Microsoft"), evaluation of financial metrics, technical chart analysis, or investment recommendations for American stocks.

6k tokens
Timesfm Forecasting
by christophacham
×1

> Zero-shot time series forecasting with Google's TimesFM foundation model. Use this skill when forecasting ANY univariate time series — sales, sensor readings, stock prices, energy demand, patient vitals, weather, or scientific measurements — without training a custom model. Automatically checks system RAM/GPU before loading the model, supports CSV/DataFrame/array inputs, and returns point forecasts with calibrated prediction intervals. Includes a preflight system checker script that MUST be run before first use to verify the machine can load the model. For classical statistical time series models (ARIMA, SARIMAX, VAR) use statsmodels; for time series classification/clustering use aeon.

119k tokens scripts
Usfiscaldata
by christophacham
×1

Query the U.S. Treasury Fiscal Data API for federal financial data including national debt, government spending, revenue, interest rates, exchange rates, and savings bonds. Access 54 datasets and 182 data tables with no API key required. Use when working with U.S. federal fiscal data, national debt tracking (Debt to the Penny), Daily Treasury Statements, Monthly Treasury Statements, Treasury securities auctions, interest rates on Treasury securities, foreign exchange rates, savings bonds, or any U.S. government financial statistics.

14k tokens
Ask Graphql MCP
by ComeOnOliver
×1

Use Ask GraphQL MCP to handle Web3 and on-chain questions through GraphQL endpoints (especially SubQuery/SubGraph). Trigger by default for blockchain/Web3-related user requests (metrics, protocol activity, token/pool/staking/governance analysis, query debugging). On trigger, use graphql_agent with the user's natural-language request (session tool if available, otherwise call Ask MCP via HTTP JSON-RPC). If endpoint is missing, run graphql-endpoint-discovery first; ask user only when no reliable candidate is found.

6k tokens
Cryptofeed
by ComeOnOliver
×1

Cryptofeed - Real-time cryptocurrency market data feeds from 40+ exchanges. WebSocket streaming, normalized data, order books, trades, tickers. Python library for algorithmic trading and market data analysis.

9k tokens
Audit Xls
by anthropics
vendor

Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on "audit this sheet", "check my formulas", "find formula errors", "QA this spreadsheet", "sanity check this", "debug model", "model check", "model won't balance", "something's off in my model", "model review".

2k tokens
Client Report
by anthropics
vendor

Generate professional client-facing performance reports with portfolio returns, allocation breakdowns, and market commentary. Suitable for quarterly or annual distribution. Triggers on "client report", "performance report", "quarterly report for [client]", "generate reports", or "client statement".

825 tokens

How to use it

Copy the folder

Take himself65/tradingview-reader from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npm. Without those the skill loads but fails at the first command.