ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied…
List all channels in a Discord guild/server via the Discord API. Use this skill when the user wants to see all channels, find specific channels, or audit server structure.
Claude Code
$ npx -y skills add evolution-foundation/evo-nexus --skill discord-list-channels --agent claude-code
Codex
$ npx skills add evolution-foundation/evo-nexus --skill discord-list-channels -a codex -y
Cursor
$ npx skills add evolution-foundation/evo-nexus --skill discord-list-channels -a cursor -y
Gemini CLI
$ npx skills add evolution-foundation/evo-nexus --skill discord-list-channels -a gemini-cli -y
GitHub Copilot
$ npx skills add evolution-foundation/evo-nexus --skill discord-list-channels -a github-copilot -y
OpenCode
$ npx skills add evolution-foundation/evo-nexus --skill discord-list-channels -a opencode -y
Windsurf
$ npx skills add evolution-foundation/evo-nexus --skill discord-list-channels -a windsurf -y
name: discord-list-channels description: List all channels in a Discord guild/server via the Discord API. Use this skill when the user wants to see all channels, find specific channels, or audit server structure.
List all channels in a Discord guild (server) using the Discord API v10. This skill retrieves all channels including text channels, voice channels, categories, announcement channels, and stage channels.
Use this skill when the user wants to:
Channels are returned with the following type values:
| Type | Value | Description | |------|-------|-------------| | GUILD_TEXT | 0 | Text channel | | GUILD_VOICE | 2 | Voice channel | | GUILD_CATEGORY | 4 | Category (organizes channels) | | GUILD_ANNOUNCEMENT | 5 | Announcement channel | | GUILD_STAGE_VOICE | 13 | Stage channel | | GUILD_FORUM | 15 | Forum channel |
When the user requests to list Discord channels:
1. **Validate Requirements**
2. **Make the API Request** Use the following curl command structure:
curl -X GET "https://discord.com/api/v10/guilds/{GUILD_ID}/channels" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}"Replace `{GUILD_ID}` with the actual guild ID.
3. **Process Response**
4. **Handle Response Codes**
5. **Present Results**
Each channel object contains:
{
"id": "123456789012345678",
"type": 0,
"guild_id": "987654321098765432",
"position": 0,
"permission_overwrites": [],
"name": "general",
"topic": "General discussion",
"nsfw": false,
"last_message_id": "111222333444555666",
"parent_id": null
}Additional fields for voice channels:
{
"bitrate": 64000,
"user_limit": 0,
"rtc_region": null
}Filter channels to show only specific types:
# Get all channels then filter by type
curl -s "https://discord.com/api/v10/guilds/{GUILD_ID}/channels" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}" | \
jq '.[] | select(.type == 0)' # Text channels onlyType filters:
Search for channels by name:
# Get channels and search by name
curl -s "https://discord.com/api/v10/guilds/{GUILD_ID}/channels" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}" | \
jq '.[] | select(.name | contains("general"))'List channels in a specific category:
# Get channels in category with parent_id
curl -s "https://discord.com/api/v10/guilds/{GUILD_ID}/channels" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}" | \
jq '.[] | select(.parent_id == "category_id_here")'Organize channels by their parent category:
# List all channels grouped by category
CHANNELS=$(curl -s "https://discord.com/api/v10/guilds/{GUILD_ID}/channels" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}")
# Get categories
echo "$CHANNELS" | jq -r '.[] | select(.type == 4) | .name + " (ID: " + .id + ")"'
# Get channels in each category
for CATEGORY_ID in $(echo "$CHANNELS" | jq -r '.[] | select(.type == 4) | .id'); do
echo "Channels in category $CATEGORY_ID:"
echo "$CHANNELS" | jq -r ".[] | select(.parent_id == \"$CATEGORY_ID\") | \" - \" + .name"
doneChannels have a `position` field for sorting:
curl -s "https://discord.com/api/v10/guilds/{GUILD_ID}/channels" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}" | \
jq 'sort_by(.position)'Channels in server 123456789012345678: - general (text) - announcements (announcement) - voice-chat (voice) - Community (category)
=== Text Channels === general (ID: 111222333444555666) Topic: General discussion NSFW: No announcements (ID: 111222333444555667) Topic: Server updates NSFW: No === Voice Channels === voice-chat (ID: 111222333444555668) User Limit: None Bitrate: 64kbps === Categories === Community (ID: 111222333444555669)
📁 Community (Category) 💬 general-chat (Text) 💬 help (Text) 🔊 Voice Room 1 (Voice) 📁 Administration (Category) 💬 mod-chat (Text) 💬 admin-only (Text) 💬 welcome (Text) - No category 📢 announcements (Announcement) - No category
Channel ID,Name,Type,Category,Topic 111222333444555666,general,text,Community,General discussion 111222333444555667,voice-chat,voice,Community, 111222333444555668,announcements,announcement,,Server updates
When displaying channels, use these labels:
| Type Value | Display Label | Emoji | |------------|---------------|-------|
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied…
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and…
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the…
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a…
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent,…
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug,…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…