Summary
discord-chat-summary Installation Command Prompt $ npx skills add https://smithery.ai/skills/lycfyi/discord-chat-summary
smithery.ai
Summarize Discord chat messages across servers. Use when user asks for chat summary, digest, highlights, recap, or overview of Discord conversations.
discord-chat-summary Installation Command Prompt $ npx skills add https://smithery.ai/skills/lycfyi/discord-chat-summary
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Discord bot development - community management, moderation, notifications, and AI integration
4.4K installsDiscord messaging workflows through OpenClaw's message tool.
2.4K installsSpecialized skill for building production-ready Discord bots. Covers Discord.js (JavaScript) an…
1.6K installsRead Discord for financial research using opencli (read-only). Use this skill whenever the user…
1.4K installsRun macOS Parallels smoke with Discord send, host verification, host reply, and guest readback …
643 installsSend messages, embeds, and marketing content to Discord channels via webhooks or bot API. Manag…
417 installsOther skills from smithery.ai · top by installs.
npx skills add https://smithery.ai
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
7,418 B
SUMMARY.md
177 B
Generate summaries of synced Discord chat messages. Claude reads the message files directly and produces a concise summary of key discussions, topics, and activity.
REQUIRED: Before executing this skill, load your configured persona:
python ${CLAUDE_PLUGIN_ROOT}/../community-agent/tools/persona_status.py --prompt
This outputs your persona definition. Apply it when generating summaries:
When user is vague, apply these defaults instead of asking:
| User Says | Default Action |
|---|---|
| "summarize Discord" | Summarize ALL synced data, last 7 days |
| "what's happening" | Same as above |
| "summarize [server name]" | All channels in that server, last 7 days |
| No time specified | Default to last 7 days |
When NO data exists:
/discord-quickstart flow insteadOnly ask for clarification when:
First check if any data exists:
python ${CLAUDE_PLUGIN_ROOT}/tools/discord_status.py --json
If sync.has_data is false:
/discord-quickstart flow to help them syncGet the manifest to understand what data is available:
python ${CLAUDE_PLUGIN_ROOT}/tools/discord_manifest.py
This shows all synced servers, channels, message counts, and last sync times.
CRITICAL PATH RESOLUTION: All data paths shown in the manifest are relative to the current working directory (cwd) where Claude is running - NOT relative to this skill file or the plugin directory.
Before generating any summary, ALWAYS show the date coverage to the user.
Extract and display this information from the manifest:
Data Coverage:
- Server: [ServerName] - [first_message] to [last_message] ([days_covered] days)
- #channel1: [message_count] messages
- #channel2: [message_count] messages
Get this from manifest fields:
servers[].daterange.firstmessage - oldest message dateservers[].daterange.lastmessage - newest message dateservers[].daterange.dayscovered - total days of dataservers[].channels[].message_count - messages per channelThis step is NOT optional. Users must see what date range they're getting before the summary.
Ask user or infer from their request which scope to summarize:
| Scope | Description |
|---|---|
| All servers | Summarize across all synced servers |
| Specific server | Summarize all channels in one server |
| Specific channel | Summarize a single channel |
Read the relevant messages.md files based on scope:
For all servers:
Read each: ./data/{server-dir}/{channel}/messages.md
For specific server (e.g., "Midjourney"):
Read: ./data/662267976984297473-midjourney/*/messages.md
For specific channel:
Read: ./data/{server-dir}/{channel-name}/messages.md
If user specifies a time range, filter messages by date headers in the markdown.
IMPORTANT: When filtering, tell the user what filter you applied:
| User Request | Filter Logic |
|---|---|
| "last 7 days" | Only include messages under ## YYYY-MM-DD headers from the past 7 days |
| "this week" | Messages from current week (Monday-Sunday) |
| "since Jan 1" | Messages from ## 2026-01-01 onwards |
| "yesterday" | Messages from yesterday's date only |
Date headers in messages.md look like: ## 2026-01-03
Example filter output: "Filtering to last 7 days (Jan 3-10, 2026)"
All summaries MUST include a date range header. Never produce a summary without showing the period covered.
Required Summary Format:
## [Server Name] Summary
**Period:** [start_date] to [end_date] ([N] days)
**Messages:** [count] | **Channels:** [count] | **Active Users:** [count]
---
### Key Topics
| Date | Topic | Channel |
|------|-------|---------|
| Jan 9 | [Topic description] | #channel |
| Jan 8 | [Topic description] | #channel |
### Notable Discussions
- **[Topic]** (Jan 9, #channel): [Brief description of the discussion]
- **[Topic]** (Jan 8, #channel): [Brief description]
### Active Participants
@user1 (45 msgs), @user2 (32 msgs), @user3 (28 msgs)
### Unanswered Questions
- "[Question text]?" (@user, Jan 8, #channel)
Key requirements:
User: "Summarize the Discord chats from last week"
Claude:
python ${CLAUDEPLUGINROOT}/tools/discord_manifest.py to list available serversmessages.md files from paths in manifest## 2025-12-27 through ## 2026-01-03User: "What's been happening in the Midjourney server?"
Claude:
python ${CLAUDEPLUGINROOT}/tools/discord_manifest.pyUser: "Give me a quick digest of #general"
Claude:
python ${CLAUDEPLUGINROOT}/tools/discord_manifest.py to find #general channel pathmessages.mdMessages in messages.md are structured as:
## 2026-01-03
### 4:12 AM - @username (user_id)
Message content here
### 4:30 AM - @another_user (user_id)
↳ replying to @username:
Reply content
Reactions: heart 2 | rocket 1
discord-sync skill./data/ directory (relative to cwd)discord-syncdiscord-sync to pull fresh messages before summarizingdiscord-read to view full message details after identifying interesting discussions