/discord-manage-channel
Manage and update Discord channels via the Discord API. Use this skill when the user wants to modify channel properties, update names/topics, change permissions, or delete channels.
$ npx -y skills add evolution-foundation/evo-nexus --skill discord-manage-channel --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/discord-manage-channel
Context preview
The summary Claude sees to decide when to auto-load this skill.
Manage and update Discord channels via the Discord API. Use this skill when the user wants to modify channel properties, update names/topics, change permissions, or delete channels.
SKILL.md
discord-manage-channel.SKILL.mdname: discord-manage-channel
description: Manage and update Discord channels via the Discord API. Use this skill when the user wants to modify channel properties, update names/topics, change permissions, or delete channels.
Discord Manage Channel
Manage and update Discord channels using the Discord API v10. This skill supports modifying channel properties including name, topic, position, permissions, and deleting channels.
When to Use This Skill
Use this skill when the user wants to:
- Rename a Discord channel
- Update a channel's topic/description
- Change channel permissions
- Move a channel to a different category
- Reorder channel positions
- Toggle NSFW status
- Update voice channel settings (user limit, bitrate)
- Delete a channel
Prerequisites
- `DISCORD_BOT_TOKEN` environment variable must be set
- Bot must be a member of the target server
- Bot must have "Manage Channels" permission in the server
- Valid Discord channel ID (18-19 digit snowflake ID)
Instructions
When the user requests to manage a Discord channel:
1. **Validate Requirements**
- Confirm `DISCORD_BOT_TOKEN` is set in environment
- Verify channel ID is provided (18-19 digit number)
- Ensure bot has "Manage Channels" permission
- Validate any new values (name, topic, etc.)
2. **Determine Operation Type**
- Update (PATCH): Modify channel properties
- Delete (DELETE): Remove channel permanently
3. **For Updates - Prepare Payload** Include only the fields you want to change:
- `name`: New channel name (2-100 chars, lowercase, hyphens/underscores)
- `topic`: New topic (max 1024 chars for text channels)
- `position`: New sort position (integer)
- `parent_id`: Move to different category (category channel ID or null)
- `nsfw`: Toggle NSFW status (true/false)
- `permission_overwrites`: Update permissions (array)
- `user_limit`: Voice channel user limit (0-99, 0 = unlimited)
- `bitrate`: Voice channel bitrate (8000-96000 for non-boosted servers)
4. **Make the API Request**
**Update Channel (PATCH):**
curl -X PATCH "https://discord.com/api/v10/channels/{CHANNEL_ID}" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "new-channel-name",
"topic": "New channel topic"
}'**Delete Channel (DELETE):**
curl -X DELETE "https://discord.com/api/v10/channels/{CHANNEL_ID}" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}"5. **Handle Response**
- 200 OK (Update): Channel updated successfully
- 204 No Content (Delete): Channel deleted successfully
- 400 Bad Request: Invalid parameters
- 401 Unauthorized: Invalid bot token
- 403 Forbidden: Missing "Manage Channels" permission
- 404 Not Found: Channel doesn't exist
6. **Report Results**
- Confirm operation completed successfully
- Show what was changed
- For deletes, warn that operation is permanent
- If error occurs, explain clearly
Updatable Properties
Text Channels
| Property | Type | Description | Validation | |----------|------|-------------|------------| | name | string | Channel name | 2-100 chars, lowercase, hyphens/underscores | | topic | string | Channel topic | Max 1024 characters | | position | integer | Sort position | Positive integer | | parent_id | snowflake | Category ID | Valid category ID or null | | nsfw | boolean | NSFW status | true or false | | permission_overwrites | array | Permission overrides | Array of permission objects |
Voice Channels
| Property | Type | Description | Validation | |----------|------|-------------|------------| | name | string | Channel name | 2-100 chars | | position | integer | Sort position | Positive integer | | parent_id | snowflake | Category ID | Valid category ID or null | | user_limit | integer | Max users | 0-99 (0 = unlimited) | | bitrate | integer | Audio quality | 8000-96000 (higher for boosted) | | permission_overwrites | array | Permission overrides | Array of permission objects |
Categories
| Property | Type | Description | Validation | |----------|------|-------------|------------| | name | string | Category name | 2-100 chars | | position | integer | Sort position | Positive integer | | permission_overwrites | array | Permission overrides | Array of permission objects |
Common Operations
Rename Channel
{
"name": "new-channel-name"
}Update Topic
{
"topic": "New channel description or topic"
}Move to Category
{
"parent_id": "123456789012345678"
}Remove from Category
{
"parent_id": null
}Toggle NSFW
{
"nsfw": true
}Update Voice Settings
{
"user_limit": 10,
"bitrate": 64000
}Update Position
{
"position": 5
}Permission Overwrites
To update channel permissions:
{
"permission_overwrites": [
{
"id": "role_or_user_id",
"type": 0,
"allow": "1024",
"deny": "2048"
}
]
}Permission structure:
- `id`: Role ID or User ID
- `type`: 0 for role, 1 for user
- `allow`: Bitwise permission value (permissions to grant)
- `deny`: Bitwise permission value (permissions to deny)
Common permission bits:
- `1024` (0x400): VIEW_CHANNEL
- `2048` (0x800): SEND_MESSAGES
- `4096` (0x1000): SEND_TTS_MESSAGES
- `8192` (0x2000): MANAGE_MESSAGES
- `16384` (0x4000): EMBED_LINKS
- `32768` (0x8000): ATTACH_FILES
- `65536` (0x10000): READ_MESSAGE_HISTORY
- `1048576` (0x100000): CONNECT (voice)
- `2097152` (0x200000): SPEAK (voice)
Deleting Channels
**IMPORTANT:** Channel deletion is permanent and cannot be undone.
Before deleting: 1. Confirm with user that deletion is intentional 2. Warn that all messages will be lost 3. Suggest archiving as alternative if applicable 4. Verify channel ID is correct
Delete command:
curl -X DELETE "https://discord.com/api/v10/channels/{CHANNEL_ID}" \
-H "AuthoriRead more
name: discord-manage-channel description: Manage and update Discord channels via the Discord API. Use this skill when the user wants to modify channel properties, update names/topics, change permissions, or delete channels.
Discord Manage Channel
Manage and update Discord channels using the Discord API v10. This skill supports modifying channel properties including name, topic, position, permissions, and deleting channels.
When to Use This Skill
Use this skill when the user wants to:
- Rename a Discord channel
- Update a channel's topic/description
- Change channel permissions
- Move a channel to a different category
- Reorder channel positions
- Toggle NSFW status
- Update voice channel settings (user limit, bitrate)
- Delete a channel
Prerequisites
- `DISCORD_BOT_TOKEN` environment variable must be set
- Bot must be a member of the target server
- Bot must have "Manage Channels" permission in the server
- Valid Discord channel ID (18-19 digit snowflake ID)
Instructions
When the user requests to manage a Discord channel:
1. **Validate Requirements**
- Confirm `DISCORD_BOT_TOKEN` is set in environment
- Verify channel ID is provided (18-19 digit number)
- Ensure bot has "Manage Channels" permission
- Validate any new values (name, topic, etc.)
2. **Determine Operation Type**
- Update (PATCH): Modify channel properties
- Delete (DELETE): Remove channel permanently
3. **For Updates - Prepare Payload** Include only the fields you want to change:
- `name`: New channel name (2-100 chars, lowercase, hyphens/underscores)
- `topic`: New topic (max 1024 chars for text channels)
- `position`: New sort position (integer)
- `parent_id`: Move to different category (category channel ID or null)
- `nsfw`: Toggle NSFW status (true/false)
- `permission_overwrites`: Update permissions (array)
- `user_limit`: Voice channel user limit (0-99, 0 = unlimited)
- `bitrate`: Voice channel bitrate (8000-96000 for non-boosted servers)
4. **Make the API Request**
**Update Channel (PATCH):**
curl -X PATCH "https://discord.com/api/v10/channels/{CHANNEL_ID}" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "new-channel-name",
"topic": "New channel topic"
}'**Delete Channel (DELETE):**
curl -X DELETE "https://discord.com/api/v10/channels/{CHANNEL_ID}" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}"5. **Handle Response**
- 200 OK (Update): Channel updated successfully
- 204 No Content (Delete): Channel deleted successfully
- 400 Bad Request: Invalid parameters
- 401 Unauthorized: Invalid bot token
- 403 Forbidden: Missing "Manage Channels" permission
- 404 Not Found: Channel doesn't exist
6. **Report Results**
- Confirm operation completed successfully
- Show what was changed
- For deletes, warn that operation is permanent
- If error occurs, explain clearly
Updatable Properties
Text Channels
| Property | Type | Description | Validation | |----------|------|-------------|------------| | name | string | Channel name | 2-100 chars, lowercase, hyphens/underscores | | topic | string | Channel topic | Max 1024 characters | | position | integer | Sort position | Positive integer | | parent_id | snowflake | Category ID | Valid category ID or null | | nsfw | boolean | NSFW status | true or false | | permission_overwrites | array | Permission overrides | Array of permission objects |
Voice Channels
| Property | Type | Description | Validation | |----------|------|-------------|------------| | name | string | Channel name | 2-100 chars | | position | integer | Sort position | Positive integer | | parent_id | snowflake | Category ID | Valid category ID or null | | user_limit | integer | Max users | 0-99 (0 = unlimited) | | bitrate | integer | Audio quality | 8000-96000 (higher for boosted) | | permission_overwrites | array | Permission overrides | Array of permission objects |
Categories
| Property | Type | Description | Validation | |----------|------|-------------|------------| | name | string | Category name | 2-100 chars | | position | integer | Sort position | Positive integer | | permission_overwrites | array | Permission overrides | Array of permission objects |
Common Operations
Rename Channel
{
"name": "new-channel-name"
}Update Topic
{
"topic": "New channel description or topic"
}Move to Category
{
"parent_id": "123456789012345678"
}Remove from Category
{
"parent_id": null
}Toggle NSFW
{
"nsfw": true
}Update Voice Settings
{
"user_limit": 10,
"bitrate": 64000
}Update Position
{
"position": 5
}Permission Overwrites
To update channel permissions:
{
"permission_overwrites": [
{
"id": "role_or_user_id",
"type": 0,
"allow": "1024",
"deny": "2048"
}
]
}Permission structure:
- `id`: Role ID or User ID
- `type`: 0 for role, 1 for user
- `allow`: Bitwise permission value (permissions to grant)
- `deny`: Bitwise permission value (permissions to deny)
Common permission bits:
- `1024` (0x400): VIEW_CHANNEL
- `2048` (0x800): SEND_MESSAGES
- `4096` (0x1000): SEND_TTS_MESSAGES
- `8192` (0x2000): MANAGE_MESSAGES
- `16384` (0x4000): EMBED_LINKS
- `32768` (0x8000): ATTACH_FILES
- `65536` (0x10000): READ_MESSAGE_HISTORY
- `1048576` (0x100000): CONNECT (voice)
- `2097152` (0x200000): SPEAK (voice)
Deleting Channels
**IMPORTANT:** Channel deletion is permanent and cannot be undone.
Before deleting: 1. Confirm with user that deletion is intentional 2. Warn that all messages will be lost 3. Suggest archiving as alternative if applicable 4. Verify channel ID is correct
Delete command:
curl -X DELETE "https://discord.com/api/v10/channels/{CHANNEL_ID}" \
-H "AuthoriOther skills on evo-nexus.
- /ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway BYOK). Also analyze/describe existing images using multimodal AI vision. Use when user asks to "generate an image",
Open skill - /create-agent
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the user says 'create an agent', 'new agent', 'add an agent', 'I need a custom agent', or wants to create a specialized agent
Open skill - /create-command
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the markdown file in .claude/commands/. Use when the user says 'create a command', 'new command', 'add a slash command', 'I want a shortcut for', or wants
Open skill - /create-goal
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a project, defining a measurable goal with metric_type and target_value. Writes to the SQLite goals tables via POST
Open skill - /create-heartbeat
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent, setting interval, wake triggers, and the decision prompt that governs when the agent acts. Writes to config/heartbeats.yaml with pydantic validation.
Open skill - /create-integration
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug, display name, description, category, and required env keys. Writes .claude/skills/custom-int-{slug}/SKILL.md via POST /api/integrations/custom. Use
Open skill

