fix(skills): migrate /name and /ccwork off deprecated discord-bot CLI#559
Merged
Conversation
The discord-bot bash CLI was removed in b079782 in favor of the disc-server MCP, but three skill bodies still invoked it. Live failure observed: /name's roll-call check-in routed through the scream-hole proxy without an /api/v10 prefix and returned 404, surfacing as a noisy onboarding error. Migrates skill prose to mcp__disc-server__disc_send / disc_list / disc_create_channel / disc_read, and sweeps six doc files for leftover CLI references surfaced in code review. The token-file path ~/secrets/discord-bot-token is intentionally preserved everywhere — that path names the bot's secret token file, not the deprecated CLI tool. Behavioral changes: - /ccwork setup discord drops the "Agent Comms" category-creation step (the MCP's disc_create_channel schema doesn't accept a parent-category parameter). Auto-created channels land at the top level; users can drag them into a category in Discord's UI. - The /ccwork test-message step now resolves the default channel ID from the just-written config rather than passing the literal role key "default" as a channel name (the role key isn't a Discord channel name and wouldn't resolve). Closes #558 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Apr 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the three skill bodies that still invoked the deprecated
discord-botbash CLI (removed in commit b079782) to use thedisc-serverMCP. Triggered by a live/namefailure: the discord-bot CLI routes through the scream-hole proxy without an/api/v10prefix and returns HTTP 404, surfacing as a noisy onboarding error.Changes
skills/name/SKILL.md— step 7 replacesdiscord-bot send "$ROLL_CALL"withmcp__disc-server__disc_send({channel_id: "roll-call", message: ...}). Drops the jq lookup against~/.claude/discord.jsonsince the MCP accepts channel names directly.skills/ccwork/SKILL.md— Setup-Discord wizard:discord-bot list-channels→mcp__disc-server__disc_listdiscord-bot create-channel→mcp__disc-server__disc_create_channeldiscord-bot send→mcp__disc-server__disc_senddisc_create_channelschema ({guild_id, name, type}) doesn't accept a parent-category parameter, so auto-created channels land at the top level. Users can drag them into a category in Discord's UI for visual grouping.channel_id: "default"(a config role-key, not a Discord channel name — the actual default channel is typically namedagent-ops). Replaced with ajqlookup against the just-written config to resolve the snowflake ID.skills/ccwork/tours/orientation.md— drops~/.local/bin/discord-botfrom the installed-scriptslsand updates the narration to describedisc-serverMCP instead of the removed CLI.docs/(6 files) — sweeps leftover CLI references surfaced by code review:docs/discord-config.md—scream_hole_urldescription and "Used By" cell now referencedisc-serverMCPdocs/discord-watcher.md— instructions now callmcp__disc-server__disc_read/disc_sendinstead of CLIdocs/getting-started.md— dropsdiscord-botfrom the example--checkoutputdocs/troubleshooting.md— section 6 now describes MCP auth errorsdocs/concepts.md— Layer 2 narrative recasts the example scripts asvox/slackbot-send/file-openerand adds a paragraph on MCP servers, with a one-line historical reference to the discord-bot → disc-server migration as concrete groundingdocs/skill-reference.md— channel-name resolution citation updatedThe token-file path
~/secrets/discord-bot-tokenis intentionally preserved verbatim everywhere — that names the bot's secret token file, not the deprecated CLI tool.Linked Issues
Closes #558
Test Plan
./scripts/ci/validate.sh→ 122 passed, 0 failed (after each edit)rg 'discord-bot[^-]' skills/ docs/returns only the deliberate historical reference inconcepts.md(zero CLI invocations)rg 'discord-bot-token' skills/ docs/confirms token-file references are preserved (5 hits, all the bot token file path)trivy fs --scanners vuln --severity HIGH,CRITICAL .→ 0 findingschannel_id: "default"would not resolve through Discord's name-lookup) and 2 Important issues (stale count + 6 leftover doc references); all fixed in this PR/namein a fresh CC session, confirm roll-call check-in succeeds via the MCP path/ccwork setup discordagainst a test guild, confirm list/create/send all complete via the MCPNotes
The Critical finding is worth calling out — the migration could've shipped a non-functional
/ccwork setup discordif the reviewer hadn't caught the role-key-vs-channel-name confusion. Thedisc-serverMCP resolves channel names against Discord's API; it doesn't read the user's~/.claude/discord.jsonto dereference role keys. Sochannel_id: "default"is meaningless to the MCP — the role key has to be dereferenced before the MCP call.