[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69A3DA2F88TS2M0G3GVVVER":3,"skill-same:01M69A3DA2F88TS2M0G3GVVVER":62},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M69A3DA2F88TS2M0G3GVVVER","add-discord",null,"Add Discord bot channel integration via Chat SDK.","microsoft\u002Famplifier-app-nanoclaw","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69A31J3GTKVZDZZVPRQWWR5",5,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fadd-discord\u002FSKILL.md",[],[19,20,21,22,23],"discord","add discord","bot","sdk","chat sdk","2026-11-10 10:12:30",false,"---\nname: add-discord\ndescription: Add Discord bot channel integration via Chat SDK.\n---\n\n# Add Discord Channel\n\nAdds Discord bot support via the Chat SDK bridge.\n\n## Install\n\nNanoClaw doesn't ship channels in trunk. This skill copies the Discord adapter in from the `channels` branch.\n\n### Pre-flight (idempotent)\n\nSkip to **Credentials** if all of these are already in place:\n\n- `src\u002Fchannels\u002Fdiscord.ts` exists\n- `src\u002Fchannels\u002Findex.ts` contains `import '.\u002Fdiscord.js';`\n- `@chat-adapter\u002Fdiscord` is listed in `package.json` dependencies\n\nOtherwise continue. Every step below is safe to re-run.\n\n### 1. Fetch the channels branch\n\n```bash\ngit fetch origin channels\n```\n\n### 2. Copy the adapter\n\n```bash\ngit show origin\u002Fchannels:src\u002Fchannels\u002Fdiscord.ts > src\u002Fchannels\u002Fdiscord.ts\n```\n\n### 3. Append the self-registration import\n\nAppend to `src\u002Fchannels\u002Findex.ts` (skip if the line is already present):\n\n```typescript\nimport '.\u002Fdiscord.js';\n```\n\n### 4. Install the adapter package (pinned)\n\n```bash\npnpm install @chat-adapter\u002Fdiscord@4.27.0\n```\n\n### 5. Build\n\n```bash\npnpm run build\n```\n\n## Credentials\n\n### Create Discord Bot\n\n1. Go to the [Discord Developer Portal](https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fapplications)\n2. Click **New Application** and give it a name (e.g., \"NanoClaw Assistant\")\n3. From the **General Information** tab, copy the **Application ID** and **Public Key**\n4. Go to the **Bot** tab and click **Add Bot** if needed\n5. Copy the Bot Token (click **Reset Token** if you need a new one — you can only see it once)\n6. Under **Privileged Gateway Intents**, enable **Message Content Intent**\n7. Go to **OAuth2** > **URL Generator**:\n   - Scopes: select `bot`\n   - Bot Permissions: select `Send Messages`, `Read Message History`, `Add Reactions`, `Attach Files`, `Use Slash Commands`\n8. Copy the generated URL and open it in your browser to invite the bot to your server\n\n### Configure environment\n\nAll three values are required — the adapter will fail to start without `DISCORD_PUBLIC_KEY` and `DISCORD_APPLICATION_ID`.\n\nAdd to `.env`:\n\n```bash\nDISCORD_BOT_TOKEN=your-bot-token\nDISCORD_APPLICATION_ID=your-application-id\nDISCORD_PUBLIC_KEY=your-public-key\n```\n\nSync to container: `mkdir -p data\u002Fenv && cp .env data\u002Fenv\u002Fenv`\n\n## Next Steps\n\nIf you're in the middle of `\u002Fsetup`, return to the setup flow now.\n\nOtherwise, run `\u002Fmanage-channels` to wire this channel to an agent group.\n\n## Channel Info\n\n- **type**: `discord`\n- **terminology**: Discord has \"servers\" (also called \"guilds\") containing \"channels.\" Text channels start with #. The bot can also receive direct messages.\n- **how-to-find-id**: Enable Developer Mode in Discord (Settings > App Settings > Advanced > Developer Mode). Then right-click a server and select \"Copy Server ID\" for the guild ID, and right-click the text channel and select \"Copy Channel ID.\" The platform ID format used in registration is `discord:{guildId}:{channelId}` — both IDs are required.\n- **supports-threads**: yes\n- **typical-use**: Interactive chat — server channels or direct messages\n- **default-isolation**: Same agent group for your personal server. Separate agent group for servers with different communities or where different members have different information boundaries.\n","# Add Discord Channel\n\nAdds Discord bot support via the Chat SDK bridge.\n\n## Install\n\nNanoClaw doesn't ship channels in trunk. This skill copies the Discord adapter in from the `channels` branch.\n\n### Pre-flight (idempotent)\n\nSkip to **Credentials** if all of these are already in place:\n\n- `src\u002Fchannels\u002Fdiscord.ts` exists\n- `src\u002Fchannels\u002Findex.ts` contains `import '.\u002Fdiscord.js';`\n- `@chat-adapter\u002Fdiscord` is listed in `package.json` dependencies\n\nOtherwise continue. Every step below is safe to re-run.\n\n### 1. Fetch the channels branch\n\n```bash\ngit fetch origin channels\n```\n\n### 2. Copy the adapter\n\n```bash\ngit show origin\u002Fchannels:src\u002Fchannels\u002Fdiscord.ts > src\u002Fchannels\u002Fdiscord.ts\n```\n\n### 3. Append the self-registration import\n\nAppend to `src\u002Fchannels\u002Findex.ts` (skip if the line is already present):\n\n```typescript\nimport '.\u002Fdiscord.js';\n```\n\n### 4. Install the adapter package (pinned)\n\n```bash\npnpm install @chat-adapter\u002Fdiscord@4.27.0\n```\n\n### 5. Build\n\n```bash\npnpm run build\n```\n\n## Credentials\n\n### Create Discord Bot\n\n1. Go to the [Discord Developer Portal](https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fapplications)\n2. Click **New Application** and give it a name (e.g., \"NanoClaw Assistant\")\n3. From the **General Information** tab, copy the **Application ID** and **Public Key**\n4. Go to the **Bot** tab and click **Add Bot** if needed\n5. Copy the Bot Token (click **Reset Token** if you need a new one — you can only see it once)\n6. Under **Privileged Gateway Intents**, enable **Message Content Intent**\n7. Go to **OAuth2** > **URL Generator**:\n   - Scopes: select `bot`\n   - Bot Permissions: select `Send Messages`, `Read Message History`, `Add Reactions`, `Attach Files`, `Use Slash Commands`\n8. Copy the generated URL and open it in your browser to invite the bot to your server\n\n### Configure environment\n\nAll three values are required — the adapter will fail to start without `DISCORD_PUBLIC_KEY` and `DISCORD_APPLICATION_ID`.\n\nAdd to `.env`:\n\n```bash\nDISCORD_BOT_TOKEN=your-bot-token\nDISCORD_APPLICATION_ID=your-application-id\nDISCORD_PUBLIC_KEY=your-public-key\n```\n\nSync to container: `mkdir -p data\u002Fenv && cp .env data\u002Fenv\u002Fenv`\n\n## Next Steps\n\nIf you're in the middle of `\u002Fsetup`, return to the setup flow now.\n\nOtherwise, run `\u002Fmanage-channels` to wire this channel to an agent group.\n\n## Channel Info\n\n- **type**: `discord`\n- **terminology**: Discord has \"servers\" (also called \"guilds\") containing \"channels.\" Text channels start with #. The bot can also receive direct messages.\n- **how-to-find-id**: Enable Developer Mode in Discord (Settings > App Settings > Advanced > Developer Mode). Then right-click a server and select \"Copy Server ID\" for the guild ID, and right-click the text channel and select \"Copy Channel ID.\" The platform ID format used in registration is `discord:{guildId}:{channelId}` — both IDs are required.\n- **supports-threads**: yes\n- **typical-use**: Interactive chat — server channels or direct messages\n- **default-isolation**: Same agent group for your personal server. Separate agent group for servers with different communities or where different members have different information boundaries.\n",{"name":5,"description":7},"main","85a2d934766d21e4696ac1b00157179f28bca9e3",".claude\u002Fskills\u002Fadd-discord",2,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-10-30 04:24:16",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add microsoft\u002Famplifier-app-nanoclaw --skill add-discord",{"tool":44,"command":45},"bunx","bunx skills add microsoft\u002Famplifier-app-nanoclaw --skill add-discord",{"tool":47,"command":48},"pnpm","pnpm dlx skills add microsoft\u002Famplifier-app-nanoclaw --skill add-discord","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fadd-discord\u002FSKILL.md",true,[52,58],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"REMOVE.md","REFERENCE","参考文档",199,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fadd-discord\u002FREMOVE.md",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"VERIFY.md",141,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fadd-discord\u002FVERIFY.md",[63,72,79,90,104,117],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":24},"01M69A6E27JZN10H82TZ2GMC3A","whatsapp-formatting","Format messages for WhatsApp, including mentions that render as real WhatsApp tags. Use when responding in a WhatsApp conversation (platform_id \u002F chatJid ends with @s.whatsapp.net or @g.us).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fwhatsapp-formatting\u002FSKILL.md",[],[70,71],"whatsapp","whatsapp formatting",{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":24},"01M69A6CGJ968RNVGYTRSWZKWB","welcome","Introduce yourself to a newly connected channel. Triggered automatically when a channel is first wired. Send a friendly greeting and brief overview of what you can do.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fwelcome\u002FSKILL.md",[],[74],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":24},"01M69A6ADX690STSN63WKRD37K","vercel-cli","Deploy apps to Vercel. Use when asked to deploy, ship, or publish a web application, or manage Vercel projects, domains, and environment variables.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fvercel-cli\u002FSKILL.md",[],[86,87,88,89],"cli","vercel cli","web","deploy",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":101,"publishedAt":24},"01M69A68WJ94V4MXGXGK9T0QG7","slack-formatting","Format messages for Slack using mrkdwn syntax. Use when responding to Slack channels (folder starts with \"slack_\" or JID contains slack identifiers).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fslack-formatting\u002FSKILL.md",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000005","邮件与沟通","SCENARIO","使用场景",[102,103],"slack","slack formatting",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":113,"publishedAt":24},"01M69A673Z17TDXK3DBC5YJFM7","self-customize","Customize your own agent — add capabilities, install packages, add MCP servers, edit code or CLAUDE.md. Use when the user asks you to add a feature, install a tool, or modify how you work. For non-trivial code changes, delegate to a builder agent via create_agent.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fself-customize\u002FSKILL.md",[110],{"categoryNo":111,"categoryName":112,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000023","Skill与智能体开发",[114,115,116],"customize","self customize","MCP",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":124,"publishedAt":24},"01M69A657JFNEG45Z1Y05BVK5R","onecli-gateway","OneCLI Gateway: transparent HTTPS proxy that injects stored credentials into outbound calls. You MUST use this skill when the user asks you to read emails, check calendar, access GitHub repos, create issues, check Stripe payments, or interact with ANY external service or API. Do NOT use browser extensions or OAuth CLI tools. Make HTTP requests directly; the gateway injects credentials automatically.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-app-nanoclaw\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fonecli-gateway\u002FSKILL.md",[123],{"categoryNo":111,"categoryName":112,"taxonomyType":99,"taxonomyTypeDesc":100},[125,86,126,127],"onecli gateway","github","repos"]