agentsclimarketplace

Discord reader

Skill himself65/finance-skills/plugins/social-readers/skills/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.From its SKILL.md

Install
npx -y skills add himself65/finance-skills --skill discord-reader

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • reads credentialsReads from 1 credential source: `OPENCLI_CDP_ENDPOINT`.
  • runs commandsInstructs the agent to run 8 commands, including `command -v opencli && opencli discord-app status 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"` and 7 more.
  • fetches URLsInstructs the agent to fetch 1 URL, including http://127.0.0.1:9232.

SKILL.md

7.8 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it

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 requires Node.js >= 21. It connects to Discord Desktop via CDP (Chrome DevTools Protocol) — no Browser Bridge extension is needed for the Discord adapter. Two things are required:

  1. Start Discord with remote debugging enabled:
# macOS
/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &

# Linux
discord --remote-debugging-port=9232 &
  1. 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.

  1. Verify connectivity:
opencli discord-app status

Common setup issues

SymptomFix
CDP connection refusedEnsure Discord is running with --remote-debugging-port=9232
OPENCLI_CDP_ENDPOINT not setRun export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"
status shows disconnectedRestart Discord with the CDP flag and retry
Discord not on expected portCheck 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 RequestCommandKey Flags
Connection checkopencli discord-app status
List serversopencli discord-app servers-f json
List channelsopencli discord-app channels-f json
List online membersopencli discord-app members-f json
Read recent messagesopencli discord-app readN (count), -f json
Search messagesopencli 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

  1. Check connection first — run opencli discord-app status before any other command
  2. Use -f json or -f yaml for structured output when processing data programmatically
  3. Navigate in Discord first — opencli reads from the currently active server/channel in the Discord app
  4. Start with small reads — use opencli discord-app read 20 unless the user asks for more
  5. Use search for keywordsopencli discord-app search uses Discord's built-in search (Cmd+F / Ctrl+F)
  6. NEVER execute write operations — this skill is read-only. opencli exposes discord-app send and discord-app delete commands; do not invoke them. Do not send messages, react, edit, delete, or manage server settings.

Output format flag (-f)

FormatFlagBest for
Table-f table (default)Human-readable terminal output
JSON-f jsonProgrammatic processing, LLM context
YAML-f yamlStructured output, readable
Markdown-f mdDocumentation, reports
CSV-f csvSpreadsheet 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:

  1. Summarize key content — highlight the most relevant messages for the user's financial research
  2. Include attribution — show username, message content, and timestamp
  3. For search results, group by relevance and highlight key themes, sentiment, or market signals
  4. For server/channel listings, present as a clean table with names and types
  5. Flag sentiment — note bullish/bearish sentiment, consensus vs contrarian views
  6. Treat sessions as private — never expose CDP endpoints or session details

Step 5: Diagnostics

If something isn't working, check:

  1. Is Discord running with CDP?
# Check if the port is open
lsof -i :9232
  1. Is the environment variable set?
echo $OPENCLI_CDP_ENDPOINT
  1. 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

ErrorCauseFix
CDP connection refusedDiscord not running with CDP or wrong portStart Discord with --remote-debugging-port=9232
OPENCLI_CDP_ENDPOINT not setMissing environment variableexport OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"
No active channelNot viewing any channel in DiscordNavigate to a channel in the Discord app
Rate limitedToo many requestsWait 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.

What ships with it: 2 files

8.3 KB alongside SKILL.md

references/

Gives 0 of the 12 instructions most finance skills give in ~1.8k tokens

Counted across 469 of the 469 authors here whose files we hold, read 2026-08-07

  • Extract date vendor amount and descriptionin 15 of 469, across 3 files
  • Scan folder for invoice filesin 14 of 469, across 2 files
  • Rename files to standard formatin 14 of 469, across 2 files
  • Show organization plan before movingin 14 of 469, across 2 files
  • Generate summary CSVin 14 of 469, across 2 files
  • Organize files by categoryin 13 of 469, across 1 file
  • Preserve original filesin 13 of 469, across 1 file
  • Flag files missing critical infoin 13 of 469, across 1 file
  • Produce the requested output filein 9 of 469, across 4 files
  • Build best, base, and worst case scenariosin 9 of 469, across 5 files
  • Implement backoff if rate limit errors occurin 8 of 469, across 3 files
  • Determine the weighted average cost of capitalin 8 of 469, across 4 files

Said here and by no other author read

  • use json yaml or csv output formats
  • check connection before running other commands
  • instruct user to navigate to target channel first
  • default to reading twenty messages
  • use search for keyword queries
  • summarize key content for the user

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.