Discord Skill (Read-Only)
Read Discord for financial research using opencli (read-only).
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/discord-reader, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit himself65/finance-skills/plugins/social-readers/skills/discord-reader#main ~/.claude/skills/discord-readerFor one project only, change the path to .claude/skills/discord-reader. This skill also uses Node.js — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Discord Skill (Read-Only)
Show the full text220 lines
| name | description |
|---|---|
| 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. |
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 >= 20. It connects to Discord Desktop via CDP (Chrome DevTools Protocol) — no Browser Bridge extension is needed for the Discord adapter. 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. opencli exposes
discord-app sendanddiscord-app deletecommands; do not invoke them. 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.
| 1 | |
| 2 | name discord-reader |
| 3 | description > |
| 4 | Read Discord for financial research using opencli (read-only). |
| 5 | Use this skill whenever the user wants to read Discord channels, search for messages |
| 6 | in trading servers, view guild/channel info, monitor crypto or market discussion groups, |
| 7 | or gather financial sentiment from Discord. |
| 8 | Triggers include: "check my Discord", "search Discord for", "read Discord messages", |
| 9 | "what's happening in the trading Discord", "show Discord channels", "list my servers", |
| 10 | "Discord sentiment on BTC", "what are people saying in Discord about AAPL", |
| 11 | "monitor crypto Discord", any mention of Discord in context |
| 12 | of reading financial news, market research, or trading community discussions. |
| 13 | This skill is READ-ONLY — it does NOT support sending messages, reacting, or any write operations. |
| 14 | |
| 15 | |
| 16 | # Discord Skill (Read-Only) |
| 17 | |
| 18 | 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). |
| 19 | |
| 20 | **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. |
| 21 | |
| 22 | **Important**: opencli connects to the Discord desktop app via CDP — no bot account or token extraction needed. Just have Discord Desktop running. |
| 23 | |
| 24 | |
| 25 | |
| 26 | ## Step 1: Ensure opencli Is Installed and Discord Is Ready |
| 27 | |
| 28 | **Current environment status:** |
| 29 | |
| 30 | |
| 31 | !`(command -v opencli && opencli discord-app status 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"` |
| 32 | |
| 33 | |
| 34 | If the status above shows `READY`, skip to Step 2. If `NOT_INSTALLED`, install first: |
| 35 | |
| 36 | |
| 37 | # Install opencli globally |
| 38 | npm install -g @jackwener/opencli |
| 39 | |
| 40 | |
| 41 | If `SETUP_NEEDED`, guide the user through setup: |
| 42 | |
| 43 | ### Setup |
| 44 | |
| 45 | opencli requires Node.js >= 20. It connects to Discord Desktop via CDP (Chrome DevTools Protocol) — no Browser Bridge extension is needed for the Discord adapter. Two things are required: |
| 46 | |
| 47 | **Start Discord with remote debugging enabled:** |
| 48 | |
| 49 | |
| 50 | # macOS |
| 51 | /Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 & |
| 52 | |
| 53 | # Linux |
| 54 | discord --remote-debugging-port=9232 & |
| 55 | |
| 56 | |
| 57 | **Set the CDP endpoint environment variable:** |
| 58 | |
| 59 | |
| 60 | export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232" |
| 61 | |
| 62 | |
| 63 | Add this to your shell profile (`.zshrc` / `.bashrc`) so it persists across sessions. |
| 64 | |
| 65 | **Verify connectivity:** |
| 66 | |
| 67 | |
| 68 | opencli discord-app status |
| 69 | |
| 70 | |
| 71 | ### Common setup issues |
| 72 | |
| 73 | | Symptom | Fix | |
| 74 | |---------|-----| |
| 75 | | `CDP connection refused` | Ensure Discord is running with `--remote-debugging-port=9232` | |
| 76 | | `OPENCLI_CDP_ENDPOINT not set` | Run `export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"` | |
| 77 | | `status` shows disconnected | Restart Discord with the CDP flag and retry | |
| 78 | | Discord not on expected port | Check that no other app is using port 9232, or use a different port | |
| 79 | |
| 80 | ### Tip: create a shell alias |
| 81 | |
| 82 | |
| 83 | alias discord-cdp='/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &' |
| 84 | |
| 85 | |
| 86 | |
| 87 | |
| 88 | ## Step 2: Identify What the User Needs |
| 89 | |
| 90 | Match the user's request to one of the read commands below, then use the corresponding command from `references/commands.md`. |
| 91 | |
| 92 | | User Request | Command | Key Flags | |
| 93 | |---|---|---| |
| 94 | | Connection check | `opencli discord-app status` | — | |
| 95 | | List servers | `opencli discord-app servers` | `-f json` | |
| 96 | | List channels | `opencli discord-app channels` | `-f json` | |
| 97 | | List online members | `opencli discord-app members` | `-f json` | |
| 98 | | Read recent messages | `opencli discord-app read` | `N` (count), `-f json` | |
| 99 | | Search messages | `opencli discord-app search "QUERY"` | `-f json` | |
| 100 | |
| 101 | **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. |
| 102 | |
| 103 | |
| 104 | |
| 105 | ## Step 3: Execute the Command |
| 106 | |
| 107 | ### General pattern |
| 108 | |
| 109 | |
| 110 | # Use -f json or -f yaml for structured output |
| 111 | opencli discord-app servers -f json |
| 112 | opencli discord-app channels -f json |
| 113 | |
| 114 | # Read recent messages from the active channel |
| 115 | opencli discord-app read 50 -f json |
| 116 | |
| 117 | # Search for financial topics in the active channel |
| 118 | opencli discord-app search "AAPL earnings" -f json |
| 119 | opencli discord-app search "BTC pump" -f json |
| 120 | |
| 121 | |
| 122 | ### Key rules |
| 123 | |
| 124 | **Check connection first** — run `opencli discord-app status` before any other command |
| 125 | **Use `-f json` or `-f yaml`** for structured output when processing data programmatically |
| 126 | **Navigate in Discord first** — opencli reads from the currently active server/channel in the Discord app |
| 127 | **Start with small reads** — use `opencli discord-app read 20` unless the user asks for more |
| 128 | **Use search for keywords** — `opencli discord-app search` uses Discord's built-in search (Cmd+F / Ctrl+F) |
| 129 | **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. |
| 130 | |
| 131 | ### Output format flag (`-f`) |
| 132 | |
| 133 | | Format | Flag | Best for | |
| 134 | |---|---|---| |
| 135 | | Table | `-f table` (default) | Human-readable terminal output | |
| 136 | | JSON | `-f json` | Programmatic processing, LLM context | |
| 137 | | YAML | `-f yaml` | Structured output, readable | |
| 138 | | Markdown | `-f md` | Documentation, reports | |
| 139 | | CSV | `-f csv` | Spreadsheet export | |
| 140 | |
| 141 | ### Typical workflow for reading a server |
| 142 | |
| 143 | |
| 144 | # 1. Verify connection |
| 145 | opencli discord-app status |
| 146 | |
| 147 | # 2. List servers to confirm you're in the right one |
| 148 | opencli discord-app servers -f json |
| 149 | |
| 150 | # 3. List channels in the current server |
| 151 | opencli discord-app channels -f json |
| 152 | |
| 153 | # 4. Read recent messages (navigate to target channel in Discord first) |
| 154 | opencli discord-app read 50 -f json |
| 155 | |
| 156 | # 5. Search for topics of interest |
| 157 | opencli discord-app search "price target" -f json |
| 158 | |
| 159 | |
| 160 | |
| 161 | |
| 162 | ## Step 4: Present the Results |
| 163 | |
| 164 | After fetching data, present it clearly for financial research: |
| 165 | |
| 166 | **Summarize key content** — highlight the most relevant messages for the user's financial research |
| 167 | **Include attribution** — show username, message content, and timestamp |
| 168 | **For search results**, group by relevance and highlight key themes, sentiment, or market signals |
| 169 | **For server/channel listings**, present as a clean table with names and types |
| 170 | **Flag sentiment** — note bullish/bearish sentiment, consensus vs contrarian views |
| 171 | **Treat sessions as private** — never expose CDP endpoints or session details |
| 172 | |
| 173 | |
| 174 | |
| 175 | ## Step 5: Diagnostics |
| 176 | |
| 177 | If something isn't working, check: |
| 178 | |
| 179 | **Is Discord running with CDP?** |
| 180 | |
| 181 | # Check if the port is open |
| 182 | lsof -i :9232 |
| 183 | |
| 184 | |
| 185 | **Is the environment variable set?** |
| 186 | |
| 187 | echo $OPENCLI_CDP_ENDPOINT |
| 188 | |
| 189 | |
| 190 | **Can opencli connect?** |
| 191 | |
| 192 | opencli discord-app status |
| 193 | |
| 194 | |
| 195 | If all checks fail, restart Discord with the CDP flag: |
| 196 | |
| 197 | /Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 & |
| 198 | export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232" |
| 199 | opencli discord-app status |
| 200 | |
| 201 | |
| 202 | |
| 203 | |
| 204 | ## Error Reference |
| 205 | |
| 206 | | Error | Cause | Fix | |
| 207 | |-------|-------|-----| |
| 208 | | `CDP connection refused` | Discord not running with CDP or wrong port | Start Discord with `--remote-debugging-port=9232` | |
| 209 | | `OPENCLI_CDP_ENDPOINT not set` | Missing environment variable | `export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"` | |
| 210 | | `No active channel` | Not viewing any channel in Discord | Navigate to a channel in the Discord app | |
| 211 | | Rate limited | Too many requests | Wait a few minutes, then retry | |
| 212 | |
| 213 | |
| 214 | |
| 215 | ## Reference Files |
| 216 | |
| 217 | `references/commands.md` — Complete read command reference with all flags and usage examples |
| 218 | |
| 219 | Read the reference file when you need exact command syntax or detailed flag descriptions. |
| 220 |
Discussion
Browse more free Claude skills or everything in Marketing.