Agent skill
discord-reader
Read Discord for financial research using opencli (read-only). Use this skill whenever the user wants to read Discord channels, search for messages in trading servers, view guild/channel info, monitor crypto or market discussion groups, or gather financial sentiment from Discord. Triggers include: "check my Discord", "search Discord for", "read Discord messages", "what's happening in the trading Discord", "show Discord channels", "list my servers", "Discord sentiment on BTC", "what are people saying in Discord about AAPL", "monitor crypto Discord", any mention of Discord in context of reading financial news, market research, or trading community discussions. This skill is READ-ONLY — it does NOT support sending messages, reacting, or any write operations.
Install this agent skill to your Project
npx add-skill https://github.com/himself65/finance-skills/tree/main/plugins/social-readers/skills/discord-reader
SKILL.md
Discord Skill (Read-Only)
Reads Discord for financial research using opencli, a universal CLI tool that bridges desktop apps and web services to the terminal via Chrome DevTools Protocol (CDP).
This skill is read-only. It is designed for financial research: searching trading server discussions, monitoring crypto/market groups, tracking sentiment in financial communities, and reading messages. It does NOT support sending messages, reacting, editing, deleting, or any write operations.
Important: opencli connects to the Discord desktop app via CDP — no bot account or token extraction needed. Just have Discord Desktop running.
Step 1: Ensure opencli Is Installed and Discord Is Ready
Current environment status:
!`(command -v opencli && opencli discord-app 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. If NOT_INSTALLED, install first:
# Install opencli globally
npm install -g @jackwener/opencli
If SETUP_NEEDED, guide the user through setup:
Setup
opencli connects to Discord Desktop via CDP (Chrome DevTools Protocol). Two things are required:
- Start Discord with remote debugging enabled:
# macOS
/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &
# Linux
discord --remote-debugging-port=9232 &
- Set the CDP endpoint environment variable:
export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"
Add this to your shell profile (.zshrc / .bashrc) so it persists across sessions.
- Verify connectivity:
opencli discord-app status
Common setup issues
| Symptom | Fix |
|---|---|
CDP connection refused |
Ensure Discord is running with --remote-debugging-port=9232 |
OPENCLI_CDP_ENDPOINT not set |
Run export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232" |
status shows disconnected |
Restart Discord with the CDP flag and retry |
| Discord not on expected port | Check that no other app is using port 9232, or use a different port |
Tip: create a shell alias
alias discord-cdp='/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &'
Step 2: Identify What the User Needs
Match the user's request to one of the read commands below, then use the corresponding command from references/commands.md.
| User Request | Command | Key Flags |
|---|---|---|
| Connection check | opencli discord-app status |
— |
| List servers | opencli discord-app servers |
-f json |
| List channels | opencli discord-app channels |
-f json |
| List online members | opencli discord-app members |
-f json |
| Read recent messages | opencli discord-app read |
N (count), -f json |
| Search messages | opencli discord-app search "QUERY" |
-f json |
Note: opencli operates on the currently active server and channel in Discord. To read from a different channel, the user must navigate to it in the Discord app first, or use the channels command to identify what's available.
Step 3: Execute the Command
General pattern
# Use -f json or -f yaml for structured output
opencli discord-app servers -f json
opencli discord-app channels -f json
# Read recent messages from the active channel
opencli discord-app read 50 -f json
# Search for financial topics in the active channel
opencli discord-app search "AAPL earnings" -f json
opencli discord-app search "BTC pump" -f json
Key rules
- Check connection first — run
opencli discord-app statusbefore any other command - Use
-f jsonor-f yamlfor structured output when processing data programmatically - Navigate in Discord first — opencli reads from the currently active server/channel in the Discord app
- Start with small reads — use
opencli discord-app read 20unless the user asks for more - Use search for keywords —
opencli discord-app searchuses Discord's built-in search (Cmd+F / Ctrl+F) - NEVER execute write operations — this skill is read-only; do not send messages, react, edit, delete, or manage server settings
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 |
Typical workflow for reading a server
# 1. Verify connection
opencli discord-app status
# 2. List servers to confirm you're in the right one
opencli discord-app servers -f json
# 3. List channels in the current server
opencli discord-app channels -f json
# 4. Read recent messages (navigate to target channel in Discord first)
opencli discord-app read 50 -f json
# 5. Search for topics of interest
opencli discord-app search "price target" -f json
Step 4: Present the Results
After fetching data, present it clearly for financial research:
- Summarize key content — highlight the most relevant messages for the user's financial research
- Include attribution — show username, message content, and timestamp
- For search results, group by relevance and highlight key themes, sentiment, or market signals
- For server/channel listings, present as a clean table with names and types
- Flag sentiment — note bullish/bearish sentiment, consensus vs contrarian views
- Treat sessions as private — never expose CDP endpoints or session details
Step 5: Diagnostics
If something isn't working, check:
- Is Discord running with CDP?
# Check if the port is open
lsof -i :9232
- Is the environment variable set?
echo $OPENCLI_CDP_ENDPOINT
- Can opencli connect?
opencli discord-app status
If all checks fail, restart Discord with the CDP flag:
/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &
export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"
opencli discord-app status
Error Reference
| Error | Cause | Fix |
|---|---|---|
CDP connection refused |
Discord not running with CDP or wrong port | Start Discord with --remote-debugging-port=9232 |
OPENCLI_CDP_ENDPOINT not set |
Missing environment variable | export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232" |
No active channel |
Not viewing any channel in Discord | Navigate to a channel in the Discord app |
| Rate limited | Too many requests | Wait a few minutes, then retry |
Reference Files
references/commands.md— Complete read command reference with all flags and usage examples
Read the reference file when you need exact command syntax or detailed flag descriptions.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
finance-sentiment
Fetch structured stock sentiment across Reddit, X.com, news, and Polymarket using the Adanos Finance API. Use this skill whenever the user asks how much people are talking about a stock, how hot a ticker is on social platforms, how many Polymarket bets exist for a company, whether sources are aligned, or to compare stock sentiment across multiple tickers. Triggers include: "social sentiment on TSLA", "how hot is NVDA on X.com", "how many Reddit mentions does AAPL have", "compare sentiment on AMD vs NVDA", "how many Polymarket bets on Microsoft", "is Reddit aligned with X on META", "stock buzz", "bullish percentage", and any mention of cross-source stock sentiment research. This skill is READ-ONLY and does not place trades or modify anything.
hormuz-strait
Check the current status of the Strait of Hormuz — shipping transit data, oil price impact, stranded vessels, insurance risk levels, diplomatic developments, and global trade impact. Use this skill whenever the user asks about the Strait of Hormuz, Hormuz chokepoint, Persian Gulf shipping risk, oil transit disruption, war risk premium in the Gulf, Middle East shipping routes, tanker traffic through Hormuz, oil supply chain risk, or geopolitical risk affecting energy markets. Triggers include: "Hormuz status", "Strait of Hormuz", "is Hormuz open", "shipping through the Gulf", "oil chokepoint", "Persian Gulf tanker traffic", "war risk premium", "Hormuz crisis", "energy supply chain risk", "oil transit disruption", "Middle East shipping", any mention of Hormuz or Persian Gulf in context of oil, shipping, or geopolitical risk.
funda-data
Fetch financial data from the Funda AI API (https://api.funda.ai). Covers quotes, historical prices, financials, SEC filings, earnings transcripts, analyst estimates, options flow/greeks/GEX, supply chain graph, social sentiment, prediction markets, congressional trades, economic indicators, ESG, and news. Triggers: stock quotes, fundamentals, balance sheet, income statement, cash flow, analyst targets, DCF, options chain/flow/unusual activity, GEX, IV rank, max pain, earnings/dividend/IPO calendar, SEC filings (10-K/10-Q/8-K), transcripts, supply chain (suppliers/customers/competitors), congressional trading, insider trades, institutional holdings (13F), Reddit/Twitter sentiment, Polymarket, treasury rates, GDP, CPI, FRED data, ESG scores, commodity/forex/crypto prices, stock screener, sector performance, ETF holdings, news, COT reports. Also triggers for "funda" or "funda.ai". If only a ticker is provided and Funda API can answer, use this skill.
etf-premium
Calculate ETF premium or discount relative to Net Asset Value (NAV) using Yahoo Finance data. Use this skill whenever the user asks about an ETF's premium or discount, NAV comparison, whether an ETF is trading above or below its fair value, or wants to compare market price vs NAV. Triggers: "ETF premium", "ETF discount", "NAV premium", "is SPY trading at a premium", "AGG premium to NAV", "market price vs NAV", "ETF mispricing", "BITO premium", "IBIT premium", "bond ETF discount", "trading above/below NAV", "ETF premium screener", "which ETFs have biggest discount", "compare ETF NAV", "ETF arbitrage", or any request involving the gap between an ETF's market price and its underlying value. Also triggers when analyzing leveraged, inverse, international, bond, commodity, or crypto ETFs where premium/discount is a known concern.
saas-valuation-compression
Analyze SaaS company valuation compression between funding rounds. Use this skill whenever the user asks about: how much a SaaS company's valuation multiple changed between rounds, why the ARR multiple compressed or expanded, comparing a company's compression to macro benchmarks, or explaining what drove valuation changes for any VC-backed software company. Trigger on phrases like "valuation compression", "ARR multiple", "round-to-round valuation", "multiple change", or when the user asks to compare a company's funding rounds. Always use this skill for any multi-round SaaS valuation analysis — do not try to answer from memory alone.
sepa-strategy
Analyze stocks using Mark Minervini's SEPA (Specific Entry Point Analysis) methodology. Use this skill whenever the user mentions SEPA, Minervini, superperformance, trend template, VCP (Volatility Contraction Pattern), Stage 2 uptrend, stage analysis, pivot point breakout, or asks about growth stock screening criteria. Also triggers when the user wants to evaluate whether a stock meets swing trading entry criteria, check moving average alignment (bullish stacking: price above 50MA above 150MA above 200MA), assess breakout quality with volume confirmation, calculate position sizing based on risk percentage, or identify consolidation patterns like cup-with-handle, flat base, bull flag, or high tight flag. Use this skill even when the user simply asks "should I buy this stock" or "is this a good setup" in the context of growth/momentum trading, or when they share a stock chart and want pattern analysis.
Didn't find tool you were looking for?