[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DFZKVHX35NNNBWT7SHCBMH":3,"skill-same:01M6DFZKVHX35NNNBWT7SHCBMH":51},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":13,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6DFZKVHX35NNNBWT7SHCBMH","add-whatsapp",null,"Add WhatsApp as a channel. Can replace other channels entirely or run alongside them. Uses QR code or pairing code for authentication.","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-whatsapp\u002FSKILL.md",[],[18,19,20,21,22,23,24,25],"whatsapp","add whatsapp","run","code","authentication","qr code","channel","as","2026-11-10 10:12:30",false,"---\nname: add-whatsapp\ndescription: Add WhatsApp as a channel. Can replace other channels entirely or run alongside them. Uses QR code or pairing code for authentication.\n---\n\n# Add WhatsApp Channel\n\nUse this skill when the user wants WhatsApp, or when first-run setup needs a recommended default channel.\n\nWhatsApp is bundled in NanoDex core. The expected experience is:\n1. authenticate WhatsApp\n2. register the main chat\n3. verify NanoDex can respond\n\nDo the work yourself. Only stop when the user must scan a QR code, enter a pairing code, choose between real options, or confirm a phone\u002Fchat choice.\n\n## User Experience Rules\n\n- Do not ask the user to understand channel remotes, branch merges, or file locations.\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 know what channel to pick, WhatsApp is the recommended default.\n- On Windows or PowerShell hosts, avoid bash-only commands when there is a cross-platform alternative.\n\n## Phase 1: Pre-flight\n\n1. Confirm the bundled WhatsApp files exist:\n   - `src\u002Fchannels\u002Fwhatsapp.ts`\n   - `src\u002Fwhatsapp-auth.ts`\n   - `setup\u002Fwhatsapp-auth.ts`\n2. Check whether WhatsApp auth already exists by looking for `store\u002Fauth\u002Fcreds.json`.\n3. If auth exists but registration is missing, skip to Phase 3.\n\n## Phase 2: Authenticate WhatsApp\n\nIf authentication is needed, ask the user which method they want:\n- QR code in browser\n- QR code in terminal\n- pairing code\n\nRecommended default:\n- desktop environment: QR code in browser\n- headless or awkward remote terminal: pairing code\n\nIf the user chooses pairing code, ask for their phone number with country code and no `+`.\n\nUse the setup step added by the WhatsApp channel:\n- `npx tsx setup\u002Findex.ts --step whatsapp-auth -- --method ...`\n\nIf re-authenticating, clear the old auth directory first.\n\nOnly pause for the user actions that must happen on their phone:\n- scan QR\n- enter pairing code\n\nWhen auth finishes, verify `store\u002Fauth\u002Fcreds.json` exists.\n\n## Phase 3: Register the Main Chat\n\nOnce auth exists, guide the user through choosing where NanoDex should live:\n- self-chat\n- solo group\n- existing group\n- DM with a dedicated assistant number\n\nRecommended default:\n- shared\u002Fpersonal number: self-chat\n- dedicated assistant number: direct message with the bot\n\nAsk for:\n1. shared number vs dedicated assistant number\n2. trigger word if they want something other than the default\n3. assistant display name if they want something other than the default\n4. chat choice\n\nThen determine the correct JID:\n- self-chat from auth credentials\n- group JIDs from the `groups` setup step\n- DM JID from the chosen number\n\nRegister the chat with `npx tsx setup\u002Findex.ts --step register ...`\n\nFor the main chat:\n- mark it as main\n- disable trigger requirement when appropriate\n\n## Phase 4: Verify\n\nAfter registration:\n1. run `npm run build` if code or env changed\n2. sync `.env` to `data\u002Fenv\u002Fenv` when needed\n3. restart the NanoDex service\u002Fruntime if needed\n4. tell the user the exact first test message to send\n\nExample verification guidance:\n- main\u002Fself-chat: “Send any message”\n- group: “Send `@Assistant hello`”\n\nIf verification fails, inspect logs and fix the issue rather than giving the user a troubleshooting list immediately.\n\n## Troubleshooting Priorities\n\nIf WhatsApp does not respond, check these in order:\n1. auth credentials exist\n2. channel code is installed\n3. the chat is registered\n4. the service\u002Fruntime is running\n5. the trigger requirement matches the chosen chat type\n\nIf the issue is a stale auth session, clear auth and re-run authentication.\nIf the issue is a duplicate process conflict, stop the extra process and retry.\n\n## Completion\n\nFinish by telling the user:\n- which chat 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 WhatsApp Channel\n\nUse this skill when the user wants WhatsApp, or when first-run setup needs a recommended default channel.\n\nWhatsApp is bundled in NanoDex core. The expected experience is:\n1. authenticate WhatsApp\n2. register the main chat\n3. verify NanoDex can respond\n\nDo the work yourself. Only stop when the user must scan a QR code, enter a pairing code, choose between real options, or confirm a phone\u002Fchat choice.\n\n## User Experience Rules\n\n- Do not ask the user to understand channel remotes, branch merges, or file locations.\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 know what channel to pick, WhatsApp is the recommended default.\n- On Windows or PowerShell hosts, avoid bash-only commands when there is a cross-platform alternative.\n\n## Phase 1: Pre-flight\n\n1. Confirm the bundled WhatsApp files exist:\n   - `src\u002Fchannels\u002Fwhatsapp.ts`\n   - `src\u002Fwhatsapp-auth.ts`\n   - `setup\u002Fwhatsapp-auth.ts`\n2. Check whether WhatsApp auth already exists by looking for `store\u002Fauth\u002Fcreds.json`.\n3. If auth exists but registration is missing, skip to Phase 3.\n\n## Phase 2: Authenticate WhatsApp\n\nIf authentication is needed, ask the user which method they want:\n- QR code in browser\n- QR code in terminal\n- pairing code\n\nRecommended default:\n- desktop environment: QR code in browser\n- headless or awkward remote terminal: pairing code\n\nIf the user chooses pairing code, ask for their phone number with country code and no `+`.\n\nUse the setup step added by the WhatsApp channel:\n- `npx tsx setup\u002Findex.ts --step whatsapp-auth -- --method ...`\n\nIf re-authenticating, clear the old auth directory first.\n\nOnly pause for the user actions that must happen on their phone:\n- scan QR\n- enter pairing code\n\nWhen auth finishes, verify `store\u002Fauth\u002Fcreds.json` exists.\n\n## Phase 3: Register the Main Chat\n\nOnce auth exists, guide the user through choosing where NanoDex should live:\n- self-chat\n- solo group\n- existing group\n- DM with a dedicated assistant number\n\nRecommended default:\n- shared\u002Fpersonal number: self-chat\n- dedicated assistant number: direct message with the bot\n\nAsk for:\n1. shared number vs dedicated assistant number\n2. trigger word if they want something other than the default\n3. assistant display name if they want something other than the default\n4. chat choice\n\nThen determine the correct JID:\n- self-chat from auth credentials\n- group JIDs from the `groups` setup step\n- DM JID from the chosen number\n\nRegister the chat with `npx tsx setup\u002Findex.ts --step register ...`\n\nFor the main chat:\n- mark it as main\n- disable trigger requirement when appropriate\n\n## Phase 4: Verify\n\nAfter registration:\n1. run `npm run build` if code or env changed\n2. sync `.env` to `data\u002Fenv\u002Fenv` when needed\n3. restart the NanoDex service\u002Fruntime if needed\n4. tell the user the exact first test message to send\n\nExample verification guidance:\n- main\u002Fself-chat: “Send any message”\n- group: “Send `@Assistant hello`”\n\nIf verification fails, inspect logs and fix the issue rather than giving the user a troubleshooting list immediately.\n\n## Troubleshooting Priorities\n\nIf WhatsApp does not respond, check these in order:\n1. auth credentials exist\n2. channel code is installed\n3. the chat is registered\n4. the service\u002Fruntime is running\n5. the trigger requirement matches the chosen chat type\n\nIf the issue is a stale auth session, clear auth and re-run authentication.\nIf the issue is a duplicate process conflict, stop the extra process and retry.\n\n## Completion\n\nFinish by telling the user:\n- which chat 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-whatsapp","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex","https:\u002F\u002Fgithub.com\u002Fmbaker95","2026-03-12 23:02:12",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add mbaker95\u002Fnanodex --skill add-whatsapp",{"tool":43,"command":44},"bunx","bunx skills add mbaker95\u002Fnanodex --skill add-whatsapp",{"tool":46,"command":47},"pnpm","pnpm dlx skills add mbaker95\u002Fnanodex --skill add-whatsapp","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fadd-whatsapp\u002FSKILL.md",true,[],[52,83,102,124,136,148],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":63,"publishedAt":26},"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",[58],{"categoryNo":59,"categoryName":60,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],"agent browser","browser","pages","forms","task","test web","take","use","extract","data","user","read","screenshots","research","test","web","just","Bash","browse",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":92,"publishedAt":26},"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",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000008","测试与质量",[93,94,71,95,96,97,98,99,100,101],"x integration","integration","testing","setup","troubleshooting","twitter","reply","quote","triggers",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":26},"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",[],[109,110,71,111,112,113,114,115,74,116,117,118,119,120,121,122,123,18],"whisper","local whisper","local","use local whisper","apple","openai whisper","only","voice","apple silicon","api","first","openai","cpp","transcription","openai whisper api",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":26},"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",[],[131,132,133,134,135],"update","update skills","upstream","branches","check",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":26},"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",[],[131,143,144,145,133,146,147],"update nanoclaw","install","pick","token","preview",{"skillNo":149,"name":96,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":26},"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",[],[96,144,101,154,155,31,71,24,74,156,119,157,158,159,20],"time","dependencies","configure","services","start","messaging"]