discord-reader — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited discord-reader (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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/opencliIf SETUP_NEEDED, guide the user through 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:
# macOS
/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &
# Linux
discord --remote-debugging-port=9232 &export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"Add this to your shell profile (.zshrc / .bashrc) so it persists across sessions.
opencli discord-app status| 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 |
alias discord-cdp='/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &'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.
# 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 jsonopencli discord-app status before any other commandopencli discord-app read 20 unless the user asks for moreopencli discord-app search uses Discord's built-in search (Cmd+F / Ctrl+F)discord-app send and discord-app delete commands; do not invoke them. Do not send messages, react, edit, delete, or manage server settings.-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 |
# 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 jsonAfter fetching data, present it clearly for financial research:
If something isn't working, check:
# Check if the port is open
lsof -i :9232echo $OPENCLI_CDP_ENDPOINTopencli discord-app statusIf 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 | 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 |
references/commands.md — Complete read command reference with all flags and usage examplesRead the reference file when you need exact command syntax or detailed flag descriptions.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.