discord-members
npx machina-cli add skill lycfyi/community-agent-plugin/discord-members --openclawDiscord Members
Member queries, churn tracking, profile management, and exports.
⚠️ CRITICAL: For Syncing Members
DO NOT use this skill for syncing members. User tokens can only see 2-10 cached members.
For member syncing, ALWAYS use the discord-bot-connector plugin:
Skill(skill: "discord-bot-connector:discord-bot-members")
If the user asks to "sync members", invoke the discord-bot skill, NOT this one.
When to Use THIS Skill
Use this skill ONLY for:
- Querying already synced member data
- Rich profile fetching (bio, pronouns, connected accounts)
- Churn tracking (who left)
- Silent member detection
- Member search and export
When to Use discord-bot Skill Instead
Use discord-bot-connector:discord-bot-members when:
- User asks to "sync members"
- User asks for "member list" or "get all members"
- User asks "how many members"
- Any operation that needs the complete member list
How to Execute
All commands below work with EXISTING synced data. To sync fresh data, use discord-bot plugin first.
Query existing member data:
python ${CLAUDE_PLUGIN_ROOT}/tools/member_query.py new --server SERVER_ID --since 7d
List churned members:
python ${CLAUDE_PLUGIN_ROOT}/tools/churn_tracker.py --server SERVER_ID
List silent members (never posted):
python ${CLAUDE_PLUGIN_ROOT}/tools/member_query.py silent --server SERVER_ID
Engagement breakdown:
python ${CLAUDE_PLUGIN_ROOT}/tools/member_query.py engagement --server SERVER_ID
Search members by description:
python ${CLAUDE_PLUGIN_ROOT}/tools/member_query.py find "developers" --server SERVER_ID
View member profile (with rich data):
python ${CLAUDE_PLUGIN_ROOT}/tools/profile_fetcher.py --user USER_ID --server SERVER_ID
Fetch rich profiles (batch):
python ${CLAUDE_PLUGIN_ROOT}/tools/profile_fetcher.py --server SERVER_ID --sample 50
Export to CSV/JSON/Markdown:
python ${CLAUDE_PLUGIN_ROOT}/tools/member_export.py --server SERVER_ID --format csv
Output Location
All paths are relative to cwd:
data/discord/{server_id}_{slug}/members/current.yaml
data/discord/{server_id}_{slug}/members/churned/
profiles/discord/{user_id}_{slug}.yaml
reports/discord/exports/members_{timestamp}.csv
Prerequisites
.envwithDISCORD_USER_TOKENset- Python 3.11+ installed
- For syncing members: Use
discord-bot-connectorplugin withDISCORD_BOT_TOKEN
Source
git clone https://github.com/lycfyi/community-agent-plugin/blob/main/plugins/discord-user-connector/skills/discord-members/SKILL.mdView on GitHub Overview
This skill lets you query existing synced member data, fetch rich profiles (bio, pronouns, connected accounts), and track churn. It supports silent member detection, member search, and exports, all using pre-synced caches rather than live syncing.
How This Skill Works
Works exclusively on EXISTING synced data. Use the Python tools in the skill (member_query.py, churn_tracker.py, profile_fetcher.py, member_export.py) to query, profile, and export members. For syncing fresh data, use the discord-bot-connector:discord-bot-members plugin; if a user asks to sync, invoke that plugin instead.
When to Use It
- Query data for already synced members in a server
- Fetch rich profiles (bio, pronouns, connected accounts) for outreach or verification
- Identify churned members who left the server
- Detect silent members who never posted
- Export current member data to CSV, JSON, or Markdown
Quick Start
- Step 1: Ensure data is synced and DISCORD_USER_TOKEN is available; for syncing, use the discord-bot-connector plugin.
- Step 2: Run a sample query, e.g. python ${CLAUDE_PLUGIN_ROOT}/tools/member_query.py new --server SERVER_ID --since 7d
- Step 3: Fetch profiles or export results, e.g. python ${CLAUDE_PLUGIN_ROOT}/tools/profile_fetcher.py --server SERVER_ID --sample 50 or python ${CLAUDE_PLUGIN_ROOT}/tools/member_export.py --server SERVER_ID --format csv
Best Practices
- Do not use this skill for syncing. If syncing is required, use the discord-bot-connector:discord-bot-members plugin.
- Rely on EXISTING synced data; ensure a prior sync has completed before querying.
- Limit batch operations when fetching profiles (e.g., use sample sizes like 50) to manage latency.
- Handle PII (bio, pronouns, connected accounts) responsibly and restrict access to authorized users.
- Use member_export.py to generate CSV/JSON/Markdown exports for downstream workflows and audits.
Example Use Cases
- Query current members to prepare a targeted outreach list and verify profiles before messaging.
- Fetch rich profiles to confirm pronouns and bios before a community event announcement.
- List churned members to plan re-engagement campaigns or clean up roles.
- Search for members with 'developers' in their description to identify skill clusters.
- Export the active member set to CSV for leadership reporting.