
Add Discord
Add Discord bot channel integration via Chat SDK.
Install
npx skills add nanocoai/nanoclaw --skill add-discord -g -a claude-code -y- Repository
- nanocoai/nanoclaw31.1k
- Category
- Engineering
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 2,132 tokens
- Runs scripts
- No, instructions only
What it does
Add Discord bot channel integration via Chat SDK.
Add Discord Channel
Adds Discord bot support via the Chat SDK bridge. NanoClaw doesn't ship channels
in trunk, this skill copies the Discord adapter in from the channels branch.
The mechanical steps under Apply carry nc: directive fences: an agent
reads the prose and applies them, and a parser can apply them deterministically
from the same document. Every directive is idempotent, so the whole skill is
safe to re-run; anything a parser can't apply falls back to the prose beside it.
Apply
1. Copy the adapter and its registration test
Fetch the channels branch and copy the Discord adapter and its registration
test into src/channels/ (overwrite, the branch is canonical):
src/channels/discord.ts
src/channels/discord-registration.test.ts
2. Register the adapter
Append the self-registration import to the channel barrel (skipped if the line is already present). This one line is the skill's only reach-in into core:
import './discord.js';
3. Install the adapter package
Pinned to an exact version, the supply-chain policy rejects ranges and latest:
@chat-adapter/discord@4.41.1
4. Build and validate
Build first: it guards the typed createChatSdkBridge(...) core call and proves
the dependency is installed. Then run the one integration test.
pnpm run build
pnpm exec vitest run src/channels/discord-registration.test.ts
discord-registration.test.ts imports the real channel barrel and asserts the
registry contains discord. It goes red if the import line is deleted or drifts,
if the barrel fails to evaluate, or if @chat-adapter/discord isn't installed
(the import throws), so it also covers the dependency from step 3. End-to-end
delivery against a real server is verified manually once the service runs.
