[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DFY12VMNV2NEXVX4MMB8NE":3,"skill-same:01M6DFY12VMNV2NEXVX4MMB8NE":56},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":13,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":35,"install":36,"resources":49},"01M6DFY12VMNV2NEXVX4MMB8NE","add-discord",null,"Add Discord bot channel integration to NanoDex.","mbaker95\u002Fnanodex","mbaker95","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11398294?v=4","01M6DFXVNAJHZG78Y2D700Y6V3","01M6DFXVTTW83QGKTJ9FJ5YCH5",0,"MIT","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fadd-discord\u002FSKILL.md",[],[18,19,20,21,22,23,24],"discord","add discord","bot","integration","channel","discord bot","channel integration","2026-11-10 10:12:30",false,"---\nname: add-discord\ndescription: Add Discord bot channel integration to NanoDex.\n---\n\n# Add Discord Channel\n\nUse this skill when the user wants Discord as a primary or additional channel.\n\nDiscord is bundled in NanoDex core. The expected experience is:\n1. collect or create the Discord bot token\n2. register the main Discord channel\n3. verify NanoDex can respond\n\nDo the work yourself. Only stop when the user must create the Discord bot, paste a token, choose a channel, or perform a Discord-side action.\n\n## User Experience Rules\n\n- Do not ask the user to understand remotes, branches, or code layout.\n- Do not tell the user to invoke another skill manually.\n- Prefer one clear question at a time in normal conversation. Do not use `AskUserQuestion`.\n- If the user does not already have a Discord bot token, guide them through the Discord Developer Portal plainly.\n- On Windows or PowerShell hosts, prefer cross-platform commands or direct file edits over bash-only snippets.\n\n## Phase 1: Pre-flight\n\n1. Confirm the bundled Discord file exists: `src\u002Fchannels\u002Fdiscord.ts`.\n2. Check whether `DISCORD_BOT_TOKEN` is already configured.\n3. If token exists but registration is missing, skip to Phase 3.\n\n## Phase 2: Configure Discord Auth\n\nAsk the user whether they already have a Discord bot token.\n\nIf not, guide them through the Discord Developer Portal:\n1. create an application\n2. create a bot for it\n3. generate or reset the bot token\n4. enable Message Content Intent\n5. optionally enable member-related intents if needed\n6. invite the bot to the target server with the required permissions\n7. paste the token back into the session\n\nOnce the token is available:\n1. write it to `.env`\n2. sync the runtime env if needed\n\n## Phase 3: Register the Main Channel\n\nAsk where the user wants to talk to NanoDex:\n- a main Discord text channel\n- an additional trigger-based channel\n\nThen help the user get the channel ID:\n- enable Discord Developer Mode\n- right-click the channel\n- copy the channel ID\n\nRegister the chosen channel with `npx tsx setup\u002Findex.ts --step register ...`\n\nUse a sensible default folder name such as `discord_main` for the main channel.\n\n## Phase 4: Verify\n\nAfter registration:\n1. run `npm run build` if code or env changed\n2. restart the NanoDex service\u002Fruntime if needed\n3. tell the user the exact first message to send\n\nExample verification guidance:\n- main channel: “Send any message in the registered Discord channel”\n- additional channel: “Mention the bot or use the configured trigger”\n\nIf verification fails, inspect logs and fix the issue before falling back to a troubleshooting list.\n\n## Troubleshooting Priorities\n\nIf Discord does not respond, check these in order:\n1. the Discord channel code is installed\n2. `DISCORD_BOT_TOKEN` is present where NanoDex reads env\n3. the Discord channel is registered\n4. the service\u002Fruntime is running\n5. the Discord bot has Message Content Intent and was invited to the right server\u002Fchannel\n\nIf the bot connects but cannot read messages, fix intents before changing anything else.\n\n## Completion\n\nFinish by telling the user:\n- which Discord channel was registered\n- whether it is the main chat\n- what trigger to use\n- whether a restart was needed\n- the exact first message to send for a live test\n","# Add Discord Channel\n\nUse this skill when the user wants Discord as a primary or additional channel.\n\nDiscord is bundled in NanoDex core. The expected experience is:\n1. collect or create the Discord bot token\n2. register the main Discord channel\n3. verify NanoDex can respond\n\nDo the work yourself. Only stop when the user must create the Discord bot, paste a token, choose a channel, or perform a Discord-side action.\n\n## User Experience Rules\n\n- Do not ask the user to understand remotes, branches, or code layout.\n- Do not tell the user to invoke another skill manually.\n- Prefer one clear question at a time in normal conversation. Do not use `AskUserQuestion`.\n- If the user does not already have a Discord bot token, guide them through the Discord Developer Portal plainly.\n- On Windows or PowerShell hosts, prefer cross-platform commands or direct file edits over bash-only snippets.\n\n## Phase 1: Pre-flight\n\n1. Confirm the bundled Discord file exists: `src\u002Fchannels\u002Fdiscord.ts`.\n2. Check whether `DISCORD_BOT_TOKEN` is already configured.\n3. If token exists but registration is missing, skip to Phase 3.\n\n## Phase 2: Configure Discord Auth\n\nAsk the user whether they already have a Discord bot token.\n\nIf not, guide them through the Discord Developer Portal:\n1. create an application\n2. create a bot for it\n3. generate or reset the bot token\n4. enable Message Content Intent\n5. optionally enable member-related intents if needed\n6. invite the bot to the target server with the required permissions\n7. paste the token back into the session\n\nOnce the token is available:\n1. write it to `.env`\n2. sync the runtime env if needed\n\n## Phase 3: Register the Main Channel\n\nAsk where the user wants to talk to NanoDex:\n- a main Discord text channel\n- an additional trigger-based channel\n\nThen help the user get the channel ID:\n- enable Discord Developer Mode\n- right-click the channel\n- copy the channel ID\n\nRegister the chosen channel with `npx tsx setup\u002Findex.ts --step register ...`\n\nUse a sensible default folder name such as `discord_main` for the main channel.\n\n## Phase 4: Verify\n\nAfter registration:\n1. run `npm run build` if code or env changed\n2. restart the NanoDex service\u002Fruntime if needed\n3. tell the user the exact first message to send\n\nExample verification guidance:\n- main channel: “Send any message in the registered Discord channel”\n- additional channel: “Mention the bot or use the configured trigger”\n\nIf verification fails, inspect logs and fix the issue before falling back to a troubleshooting list.\n\n## Troubleshooting Priorities\n\nIf Discord does not respond, check these in order:\n1. the Discord channel code is installed\n2. `DISCORD_BOT_TOKEN` is present where NanoDex reads env\n3. the Discord channel is registered\n4. the service\u002Fruntime is running\n5. the Discord bot has Message Content Intent and was invited to the right server\u002Fchannel\n\nIf the bot connects but cannot read messages, fix intents before changing anything else.\n\n## Completion\n\nFinish by telling the user:\n- which Discord channel was registered\n- whether it is the main chat\n- what trigger to use\n- whether a restart was needed\n- the exact first message to send for a live test\n",{"name":5,"description":7},"main","b6b2f4d4a0c7243409d1684119a6772629bfeba6",".agents\u002Fskills\u002Fadd-discord","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex","https:\u002F\u002Fgithub.com\u002Fmbaker95","2026-03-12 23:02:12",{"source":8,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add mbaker95\u002Fnanodex --skill add-discord",{"tool":42,"command":43},"bunx","bunx skills add mbaker95\u002Fnanodex --skill add-discord",{"tool":45,"command":46},"pnpm","pnpm dlx skills add mbaker95\u002Fnanodex --skill add-discord","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fadd-discord\u002FSKILL.md",true,[50],{"path":51,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":54,"sourceHtmlUrl":55},"index.json","REFERENCE","参考文档",519,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fbrowser-chrome-cookie\u002Findex.json",[57,88,106,129,141,153],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":68,"publishedAt":25},"01M6DG2XYNH5XV7XGTJJ1SF0TG","agent-browser","Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use whenever a browser would be useful, not just when the user explicitly asks.","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fagent-browser\u002FSKILL.md",[63],{"categoryNo":64,"categoryName":65,"taxonomyType":66,"taxonomyTypeDesc":67},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"agent browser","browser","pages","forms","task","test web","take","use","extract","data","user","read","screenshots","research","test","web","just","Bash","browse",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":97,"publishedAt":25},"01M6DG2TPZAT3SMWSYFJ3K82TE","x-integration","X (Twitter) integration for NanoClaw. Post tweets, like, reply, retweet, and quote. Use for setup, testing, or troubleshooting X functionality. Triggers on \"setup x\", \"x integration\", \"twitter\", \"post tweet\", \"tweet\".","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fx-integration\u002FSKILL.md",[94],{"categoryNo":95,"categoryName":96,"taxonomyType":66,"taxonomyTypeDesc":67},"01JBSEEDCAT000000000000008","测试与质量",[98,21,76,99,100,101,102,103,104,105],"x integration","testing","setup","troubleshooting","twitter","reply","quote","triggers",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":25},"01M6DG2Q4BJQ046BZSR9N7GZ72","use-local-whisper","Use when the user wants local voice transcription instead of OpenAI Whisper API. Switches to whisper.cpp running on Apple Silicon. WhatsApp only for now. Requires voice-transcription skill to be applied first.","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fuse-local-whisper\u002FSKILL.md",[],[113,114,76,115,116,117,118,119,79,120,121,122,123,124,125,126,127,128],"whisper","local whisper","local","use local whisper","apple","openai whisper","only","voice","apple silicon","api","first","openai","cpp","transcription","openai whisper api","whatsapp",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":25},"01M6DG2N2Z1V8VV4MQFRKFAQV0","update-skills","Check for and apply updates to installed skill branches from upstream.","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fupdate-skills\u002FSKILL.md",[],[136,137,138,139,140],"update","update skills","upstream","branches","check",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":25},"01M6DG2J5D7Y3R2BF8V87XZAXF","update-nanoclaw","Efficiently bring upstream NanoClaw updates into a customized install, with preview, selective cherry-pick, and low token usage.","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fupdate-nanoclaw\u002FSKILL.md",[],[136,148,149,150,138,151,152],"update nanoclaw","install","pick","token","preview",{"skillNo":154,"name":100,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":25},"01M6DG2FN7S7DVD337CNT5Y67D","Run initial NanoClaw setup. Use when user wants to install dependencies, authenticate messaging channels, register their main channel, or start the background services. Triggers on \"setup\", \"install\", \"configure nanoclaw\", or first-time setup requests.","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsetup\u002FSKILL.md",[],[100,149,105,159,160,30,76,22,79,161,123,162,163,164,165],"time","dependencies","configure","services","start","messaging","run"]