[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DFZS0CDTK2D3EFMF8YTJJS":3,"skill-same:01M6DFZS0CDTK2D3EFMF8YTJJS":104},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":13,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6DFZS0CDTK2D3EFMF8YTJJS","convert-to-apple-container",null,"Switch from Docker to Apple Container for macOS-native container isolation. Use when the user wants Apple Container instead of Docker, or is setting up on macOS and prefers the native runtime. Triggers on \"apple container\", \"convert to apple container\", \"switch to apple container\", or \"use apple container\".","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\u002Fconvert-to-apple-container\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30],"convert to apple container","convert","container","apple","macos","docker","user","use","up","switch","runtime","triggers","isolation","2026-11-10 10:12:30",false,"---\nname: convert-to-apple-container\ndescription: Switch from Docker to Apple Container for macOS-native container isolation. Use when the user wants Apple Container instead of Docker, or is setting up on macOS and prefers the native runtime. Triggers on \"apple container\", \"convert to apple container\", \"switch to apple container\", or \"use apple container\".\n---\n\n# Convert to Apple Container\n\nThis skill switches NanoDex's container runtime from Docker to Apple Container (macOS-only). It uses the skills engine for deterministic code changes, then walks through verification.\n\n**What this changes:**\n- Container runtime binary: `docker` → `container`\n- Mount syntax: `-v path:path:ro` → `--mount type=bind,source=...,target=...,readonly`\n- Startup check: `docker info` → `container system status` (with auto-start)\n- Orphan detection: `docker ps --filter` → `container ls --format json`\n- Build script default: `docker` → `container`\n- Dockerfile entrypoint: `.env` shadowing via `mount --bind` inside the container (Apple Container only supports directory mounts, not file mounts like Docker's `\u002Fdev\u002Fnull` overlay)\n- Container runner: main-group containers start as root for `mount --bind`, then drop privileges via `setpriv`\n\n**What stays the same:**\n- Mount security\u002Fallowlist validation\n- All exported interfaces and IPC protocol\n- Non-main container behavior (still uses `--user` flag)\n- All other functionality\n\n## Prerequisites\n\nVerify Apple Container is installed:\n\n```bash\ncontainer --version && echo \"Apple Container ready\" || echo \"Install Apple Container first\"\n```\n\nIf not installed:\n- Download from https:\u002F\u002Fgithub.com\u002Fapple\u002Fcontainer\u002Freleases\n- Install the `.pkg` file\n- Verify: `container --version`\n\nApple Container requires macOS. It does not work on Linux.\n\n## Phase 1: Pre-flight\n\n### Check if already applied\n\n```bash\ngrep \"CONTAINER_RUNTIME_BIN\" src\u002Fcontainer-runtime.ts\n```\n\nIf it already shows `'container'`, the runtime is already Apple Container. Skip to Phase 3.\n\n## Phase 2: Apply Code Changes\n\n### Ensure upstream remote\n\n```bash\ngit remote -v\n```\n\nIf `upstream` is missing, add it:\n\n```bash\ngit remote add upstream https:\u002F\u002Fgithub.com\u002Fqwibitai\u002Fnanoclaw.git\n```\n\n### Merge the skill branch\n\n```bash\ngit fetch upstream skill\u002Fapple-container\ngit merge upstream\u002Fskill\u002Fapple-container\n```\n\nThis merges in:\n- `src\u002Fcontainer-runtime.ts` — Apple Container implementation (replaces Docker)\n- `src\u002Fcontainer-runtime.test.ts` — Apple Container-specific tests\n- `src\u002Fcontainer-runner.ts` — .env shadow mount fix and privilege dropping\n- `container\u002FDockerfile` — entrypoint that shadows .env via `mount --bind`\n- `container\u002Fbuild.sh` — default runtime set to `container`\n\nIf the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.\n\n### Validate code changes\n\n```bash\nnpm test\nnpm run build\n```\n\nAll tests must pass and build must be clean before proceeding.\n\n## Phase 3: Verify\n\n### Ensure Apple Container runtime is running\n\n```bash\ncontainer system status || container system start\n```\n\n### Build the container image\n\n```bash\n.\u002Fcontainer\u002Fbuild.sh\n```\n\n### Test basic execution\n\n```bash\necho '{}' | container run -i --entrypoint \u002Fbin\u002Fecho nanodex-agent:latest \"Container OK\"\n```\n\n### Test readonly mounts\n\n```bash\nmkdir -p \u002Ftmp\u002Ftest-ro && echo \"test\" > \u002Ftmp\u002Ftest-ro\u002Ffile.txt\ncontainer run --rm --entrypoint \u002Fbin\u002Fbash \\\n  --mount type=bind,source=\u002Ftmp\u002Ftest-ro,target=\u002Ftest,readonly \\\n  nanodex-agent:latest \\\n  -c \"cat \u002Ftest\u002Ffile.txt && touch \u002Ftest\u002Fnew.txt 2>&1 || echo 'Write blocked (expected)'\"\nrm -rf \u002Ftmp\u002Ftest-ro\n```\n\nExpected: Read succeeds, write fails with \"Read-only file system\".\n\n### Test read-write mounts\n\n```bash\nmkdir -p \u002Ftmp\u002Ftest-rw\ncontainer run --rm --entrypoint \u002Fbin\u002Fbash \\\n  -v \u002Ftmp\u002Ftest-rw:\u002Ftest \\\n  nanodex-agent:latest \\\n  -c \"echo 'test write' > \u002Ftest\u002Fnew.txt && cat \u002Ftest\u002Fnew.txt\"\ncat \u002Ftmp\u002Ftest-rw\u002Fnew.txt && rm -rf \u002Ftmp\u002Ftest-rw\n```\n\nExpected: Both operations succeed.\n\n### Full integration test\n\n```bash\nnpm run build\nlaunchctl kickstart -k gui\u002F$(id -u)\u002Fcom.nanodex\n```\n\nSend a message via WhatsApp and verify the agent responds.\n\n## Troubleshooting\n\n**Apple Container not found:**\n- Download from https:\u002F\u002Fgithub.com\u002Fapple\u002Fcontainer\u002Freleases\n- Install the `.pkg` file\n- Verify: `container --version`\n\n**Runtime won't start:**\n```bash\ncontainer system start\ncontainer system status\n```\n\n**Image build fails:**\n```bash\n# Clean rebuild — Apple Container caches aggressively\ncontainer builder stop && container builder rm && container builder start\n.\u002Fcontainer\u002Fbuild.sh\n```\n\n**Container can't write to mounted directories:**\nCheck directory permissions on the host. The container runs as uid 1000.\n\n## Summary of Changed Files\n\n| File | Type of Change |\n|------|----------------|\n| `src\u002Fcontainer-runtime.ts` | Full replacement — Docker → Apple Container API |\n| `src\u002Fcontainer-runtime.test.ts` | Full replacement — tests for Apple Container behavior |\n| `src\u002Fcontainer-runner.ts` | .env shadow mount removed, main containers start as root with privilege drop |\n| `container\u002FDockerfile` | Entrypoint: `mount --bind` for .env shadowing, `setpriv` privilege drop |\n| `container\u002Fbuild.sh` | Default runtime: `docker` → `container` |\n","# Convert to Apple Container\n\nThis skill switches NanoDex's container runtime from Docker to Apple Container (macOS-only). It uses the skills engine for deterministic code changes, then walks through verification.\n\n**What this changes:**\n- Container runtime binary: `docker` → `container`\n- Mount syntax: `-v path:path:ro` → `--mount type=bind,source=...,target=...,readonly`\n- Startup check: `docker info` → `container system status` (with auto-start)\n- Orphan detection: `docker ps --filter` → `container ls --format json`\n- Build script default: `docker` → `container`\n- Dockerfile entrypoint: `.env` shadowing via `mount --bind` inside the container (Apple Container only supports directory mounts, not file mounts like Docker's `\u002Fdev\u002Fnull` overlay)\n- Container runner: main-group containers start as root for `mount --bind`, then drop privileges via `setpriv`\n\n**What stays the same:**\n- Mount security\u002Fallowlist validation\n- All exported interfaces and IPC protocol\n- Non-main container behavior (still uses `--user` flag)\n- All other functionality\n\n## Prerequisites\n\nVerify Apple Container is installed:\n\n```bash\ncontainer --version && echo \"Apple Container ready\" || echo \"Install Apple Container first\"\n```\n\nIf not installed:\n- Download from https:\u002F\u002Fgithub.com\u002Fapple\u002Fcontainer\u002Freleases\n- Install the `.pkg` file\n- Verify: `container --version`\n\nApple Container requires macOS. It does not work on Linux.\n\n## Phase 1: Pre-flight\n\n### Check if already applied\n\n```bash\ngrep \"CONTAINER_RUNTIME_BIN\" src\u002Fcontainer-runtime.ts\n```\n\nIf it already shows `'container'`, the runtime is already Apple Container. Skip to Phase 3.\n\n## Phase 2: Apply Code Changes\n\n### Ensure upstream remote\n\n```bash\ngit remote -v\n```\n\nIf `upstream` is missing, add it:\n\n```bash\ngit remote add upstream https:\u002F\u002Fgithub.com\u002Fqwibitai\u002Fnanoclaw.git\n```\n\n### Merge the skill branch\n\n```bash\ngit fetch upstream skill\u002Fapple-container\ngit merge upstream\u002Fskill\u002Fapple-container\n```\n\nThis merges in:\n- `src\u002Fcontainer-runtime.ts` — Apple Container implementation (replaces Docker)\n- `src\u002Fcontainer-runtime.test.ts` — Apple Container-specific tests\n- `src\u002Fcontainer-runner.ts` — .env shadow mount fix and privilege dropping\n- `container\u002FDockerfile` — entrypoint that shadows .env via `mount --bind`\n- `container\u002Fbuild.sh` — default runtime set to `container`\n\nIf the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.\n\n### Validate code changes\n\n```bash\nnpm test\nnpm run build\n```\n\nAll tests must pass and build must be clean before proceeding.\n\n## Phase 3: Verify\n\n### Ensure Apple Container runtime is running\n\n```bash\ncontainer system status || container system start\n```\n\n### Build the container image\n\n```bash\n.\u002Fcontainer\u002Fbuild.sh\n```\n\n### Test basic execution\n\n```bash\necho '{}' | container run -i --entrypoint \u002Fbin\u002Fecho nanodex-agent:latest \"Container OK\"\n```\n\n### Test readonly mounts\n\n```bash\nmkdir -p \u002Ftmp\u002Ftest-ro && echo \"test\" > \u002Ftmp\u002Ftest-ro\u002Ffile.txt\ncontainer run --rm --entrypoint \u002Fbin\u002Fbash \\\n  --mount type=bind,source=\u002Ftmp\u002Ftest-ro,target=\u002Ftest,readonly \\\n  nanodex-agent:latest \\\n  -c \"cat \u002Ftest\u002Ffile.txt && touch \u002Ftest\u002Fnew.txt 2>&1 || echo 'Write blocked (expected)'\"\nrm -rf \u002Ftmp\u002Ftest-ro\n```\n\nExpected: Read succeeds, write fails with \"Read-only file system\".\n\n### Test read-write mounts\n\n```bash\nmkdir -p \u002Ftmp\u002Ftest-rw\ncontainer run --rm --entrypoint \u002Fbin\u002Fbash \\\n  -v \u002Ftmp\u002Ftest-rw:\u002Ftest \\\n  nanodex-agent:latest \\\n  -c \"echo 'test write' > \u002Ftest\u002Fnew.txt && cat \u002Ftest\u002Fnew.txt\"\ncat \u002Ftmp\u002Ftest-rw\u002Fnew.txt && rm -rf \u002Ftmp\u002Ftest-rw\n```\n\nExpected: Both operations succeed.\n\n### Full integration test\n\n```bash\nnpm run build\nlaunchctl kickstart -k gui\u002F$(id -u)\u002Fcom.nanodex\n```\n\nSend a message via WhatsApp and verify the agent responds.\n\n## Troubleshooting\n\n**Apple Container not found:**\n- Download from https:\u002F\u002Fgithub.com\u002Fapple\u002Fcontainer\u002Freleases\n- Install the `.pkg` file\n- Verify: `container --version`\n\n**Runtime won't start:**\n```bash\ncontainer system start\ncontainer system status\n```\n\n**Image build fails:**\n```bash\n# Clean rebuild — Apple Container caches aggressively\ncontainer builder stop && container builder rm && container builder start\n.\u002Fcontainer\u002Fbuild.sh\n```\n\n**Container can't write to mounted directories:**\nCheck directory permissions on the host. The container runs as uid 1000.\n\n## Summary of Changed Files\n\n| File | Type of Change |\n|------|----------------|\n| `src\u002Fcontainer-runtime.ts` | Full replacement — Docker → Apple Container API |\n| `src\u002Fcontainer-runtime.test.ts` | Full replacement — tests for Apple Container behavior |\n| `src\u002Fcontainer-runner.ts` | .env shadow mount removed, main containers start as root with privilege drop |\n| `container\u002FDockerfile` | Entrypoint: `mount --bind` for .env shadowing, `setpriv` privilege drop |\n| `container\u002Fbuild.sh` | Default runtime: `docker` → `container` |\n",{"name":5,"description":7},"main","b6b2f4d4a0c7243409d1684119a6772629bfeba6",".agents\u002Fskills\u002Fconvert-to-apple-container","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex","https:\u002F\u002Fgithub.com\u002Fmbaker95","2026-03-12 23:02:12",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add mbaker95\u002Fnanodex --skill convert-to-apple-container",{"tool":48,"command":49},"bunx","bunx skills add mbaker95\u002Fnanodex --skill convert-to-apple-container",{"tool":51,"command":52},"pnpm","pnpm dlx skills add mbaker95\u002Fnanodex --skill convert-to-apple-container","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fconvert-to-apple-container\u002FSKILL.md",true,[56,62,66,70,74,78,82,86,92,96,100],{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"api-style.md","REFERENCE","参考文档",1155,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fapi-style.md",{"path":63,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":64,"sourceHtmlUrl":65},"auth.md",576,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fauth.md",{"path":67,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":68,"sourceHtmlUrl":69},"documentation.md",549,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fdocumentation.md",{"path":71,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":72,"sourceHtmlUrl":73},"graphql.md",977,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fgraphql.md",{"path":75,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":76,"sourceHtmlUrl":77},"rate-limiting.md",726,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Frate-limiting.md",{"path":79,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":80,"sourceHtmlUrl":81},"response.md",921,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fresponse.md",{"path":83,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":84,"sourceHtmlUrl":85},"rest.md",1280,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Frest.md",{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fapi_validator.py","SCRIPT","脚本",7593,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fscripts\u002Fapi_validator.py",{"path":93,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":94,"sourceHtmlUrl":95},"security-testing.md",2892,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fsecurity-testing.md",{"path":97,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":98,"sourceHtmlUrl":99},"trpc.md",801,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Ftrpc.md",{"path":101,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":102,"sourceHtmlUrl":103},"versioning.md",651,"https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fapi-patterns\u002Fversioning.md",[105,134,152,174,186,198],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":116,"publishedAt":31},"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",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[117,118,119,120,121,122,123,25,124,125,24,126,127,128,129,130,131,132,133],"agent browser","browser","pages","forms","task","test web","take","extract","data","read","screenshots","research","test","web","just","Bash","browse",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":31},"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",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000008","测试与质量",[144,145,25,146,147,148,149,150,151,29],"x integration","integration","testing","setup","troubleshooting","twitter","reply","quote",{"skillNo":153,"name":154,"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":31},"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",[],[159,160,25,161,162,21,163,164,24,165,166,167,168,169,170,171,172,173],"whisper","local whisper","local","use local whisper","openai whisper","only","voice","apple silicon","api","first","openai","cpp","transcription","openai whisper api","whatsapp",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":31},"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",[],[181,182,183,184,185],"update","update skills","upstream","branches","check",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":192,"publishedAt":31},"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",[],[181,193,194,195,183,196,197],"update nanoclaw","install","pick","token","preview",{"skillNo":199,"name":147,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":203,"publishedAt":31},"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",[],[147,194,29,204,205,36,25,206,24,207,168,208,209,210,211],"time","dependencies","channel","configure","services","start","messaging","run"]