[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DG19QXMBCTP9HSGPCPJBC5":3,"skill-same:01M6DG19QXMBCTP9HSGPCPJBC5":64},{"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":22,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":13,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6DG19QXMBCTP9HSGPCPJBC5","add-ollama-tool",null,"Add Ollama MCP server so the container agent can call local models for cheaper\u002Ffaster tasks like summarization, translation, or general queries.","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.claude\u002Fskills\u002Fadd-ollama-tool\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"add ollama tool","tool","ollama","MCP","mcp server","tasks","server","Local Models","container","models","general","queries","translation","summarization","call","local","2026-11-10 10:12:30",false,"---\nname: add-ollama-tool\ndescription: Add Ollama MCP server so the container agent can call local models for cheaper\u002Ffaster tasks like summarization, translation, or general queries.\n---\n\n# Add Ollama Integration\n\nThis skill adds a stdio-based MCP server that exposes local Ollama models as tools for the container agent. Claude remains the orchestrator but can offload work to local models.\n\nTools added:\n- `ollama_list_models` — lists installed Ollama models\n- `ollama_generate` — sends a prompt to a specified model and returns the response\n\n## Phase 1: Pre-flight\n\n### Check if already applied\n\nCheck if `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` exists. If it does, skip to Phase 3 (Configure).\n\n### Check prerequisites\n\nVerify Ollama is installed and running on the host:\n\n```bash\nollama list\n```\n\nIf Ollama is not installed, direct the user to https:\u002F\u002Follama.com\u002Fdownload.\n\nIf no models are installed, suggest pulling one:\n\n> You need at least one model. I recommend:\n>\n> ```bash\n> ollama pull gemma3:1b    # Small, fast (1GB)\n> ollama pull llama3.2     # Good general purpose (2GB)\n> ollama pull qwen3-coder:30b  # Best for code tasks (18GB)\n> ```\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\u002Follama-tool\ngit merge upstream\u002Fskill\u002Follama-tool\n```\n\nThis merges in:\n- `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` (Ollama MCP server)\n- `scripts\u002Follama-watch.sh` (macOS notification watcher)\n- Ollama MCP config in `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` (allowedTools + mcpServers)\n- `[OLLAMA]` log surfacing in `src\u002Fcontainer-runner.ts`\n- `OLLAMA_HOST` in `.env.example`\n\nIf the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.\n\n### Copy to per-group agent-runner\n\nExisting groups have a cached copy of the agent-runner source. Copy the new files:\n\n```bash\nfor dir in data\u002Fsessions\u002F*\u002Fagent-runner-src; do\n  cp container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts \"$dir\u002F\"\n  cp container\u002Fagent-runner\u002Fsrc\u002Findex.ts \"$dir\u002F\"\ndone\n```\n\n### Validate code changes\n\n```bash\nnpm run build\n.\u002Fcontainer\u002Fbuild.sh\n```\n\nBuild must be clean before proceeding.\n\n## Phase 3: Configure\n\n### Set Ollama host (optional)\n\nBy default, the MCP server connects to `http:\u002F\u002Fhost.docker.internal:11434` (Docker Desktop) with a fallback to `localhost`. To use a custom Ollama host, add to `.env`:\n\n```bash\nOLLAMA_HOST=http:\u002F\u002Fyour-ollama-host:11434\n```\n\n### Restart the service\n\n```bash\nlaunchctl kickstart -k gui\u002F$(id -u)\u002Fcom.nanoclaw  # macOS\n# Linux: systemctl --user restart nanoclaw\n```\n\n## Phase 4: Verify\n\n### Test via WhatsApp\n\nTell the user:\n\n> Send a message like: \"use ollama to tell me the capital of France\"\n>\n> The agent should use `ollama_list_models` to find available models, then `ollama_generate` to get a response.\n\n### Monitor activity (optional)\n\nRun the watcher script for macOS notifications when Ollama is used:\n\n```bash\n.\u002Fscripts\u002Follama-watch.sh\n```\n\n### Check logs if needed\n\n```bash\ntail -f logs\u002Fnanoclaw.log | grep -i ollama\n```\n\nLook for:\n- `Agent output: ... Ollama ...` — agent used Ollama successfully\n- `[OLLAMA] >>> Generating` — generation started (if log surfacing works)\n- `[OLLAMA] \u003C\u003C\u003C Done` — generation completed\n\n## Troubleshooting\n\n### Agent says \"Ollama is not installed\"\n\nThe agent is trying to run `ollama` CLI inside the container instead of using the MCP tools. This means:\n1. The MCP server wasn't registered — check `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` has the `ollama` entry in `mcpServers`\n2. The per-group source wasn't updated — re-copy files (see Phase 2)\n3. The container wasn't rebuilt — run `.\u002Fcontainer\u002Fbuild.sh`\n\n### \"Failed to connect to Ollama\"\n\n1. Verify Ollama is running: `ollama list`\n2. Check Docker can reach the host: `docker run --rm curlimages\u002Fcurl curl -s http:\u002F\u002Fhost.docker.internal:11434\u002Fapi\u002Ftags`\n3. If using a custom host, check `OLLAMA_HOST` in `.env`\n\n### Agent doesn't use Ollama tools\n\nThe agent may not know about the tools. Try being explicit: \"use the ollama_generate tool with gemma3:1b to answer: ...\"\n","# Add Ollama Integration\n\nThis skill adds a stdio-based MCP server that exposes local Ollama models as tools for the container agent. Claude remains the orchestrator but can offload work to local models.\n\nTools added:\n- `ollama_list_models` — lists installed Ollama models\n- `ollama_generate` — sends a prompt to a specified model and returns the response\n\n## Phase 1: Pre-flight\n\n### Check if already applied\n\nCheck if `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` exists. If it does, skip to Phase 3 (Configure).\n\n### Check prerequisites\n\nVerify Ollama is installed and running on the host:\n\n```bash\nollama list\n```\n\nIf Ollama is not installed, direct the user to https:\u002F\u002Follama.com\u002Fdownload.\n\nIf no models are installed, suggest pulling one:\n\n> You need at least one model. I recommend:\n>\n> ```bash\n> ollama pull gemma3:1b    # Small, fast (1GB)\n> ollama pull llama3.2     # Good general purpose (2GB)\n> ollama pull qwen3-coder:30b  # Best for code tasks (18GB)\n> ```\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\u002Follama-tool\ngit merge upstream\u002Fskill\u002Follama-tool\n```\n\nThis merges in:\n- `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` (Ollama MCP server)\n- `scripts\u002Follama-watch.sh` (macOS notification watcher)\n- Ollama MCP config in `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` (allowedTools + mcpServers)\n- `[OLLAMA]` log surfacing in `src\u002Fcontainer-runner.ts`\n- `OLLAMA_HOST` in `.env.example`\n\nIf the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.\n\n### Copy to per-group agent-runner\n\nExisting groups have a cached copy of the agent-runner source. Copy the new files:\n\n```bash\nfor dir in data\u002Fsessions\u002F*\u002Fagent-runner-src; do\n  cp container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts \"$dir\u002F\"\n  cp container\u002Fagent-runner\u002Fsrc\u002Findex.ts \"$dir\u002F\"\ndone\n```\n\n### Validate code changes\n\n```bash\nnpm run build\n.\u002Fcontainer\u002Fbuild.sh\n```\n\nBuild must be clean before proceeding.\n\n## Phase 3: Configure\n\n### Set Ollama host (optional)\n\nBy default, the MCP server connects to `http:\u002F\u002Fhost.docker.internal:11434` (Docker Desktop) with a fallback to `localhost`. To use a custom Ollama host, add to `.env`:\n\n```bash\nOLLAMA_HOST=http:\u002F\u002Fyour-ollama-host:11434\n```\n\n### Restart the service\n\n```bash\nlaunchctl kickstart -k gui\u002F$(id -u)\u002Fcom.nanoclaw  # macOS\n# Linux: systemctl --user restart nanoclaw\n```\n\n## Phase 4: Verify\n\n### Test via WhatsApp\n\nTell the user:\n\n> Send a message like: \"use ollama to tell me the capital of France\"\n>\n> The agent should use `ollama_list_models` to find available models, then `ollama_generate` to get a response.\n\n### Monitor activity (optional)\n\nRun the watcher script for macOS notifications when Ollama is used:\n\n```bash\n.\u002Fscripts\u002Follama-watch.sh\n```\n\n### Check logs if needed\n\n```bash\ntail -f logs\u002Fnanoclaw.log | grep -i ollama\n```\n\nLook for:\n- `Agent output: ... Ollama ...` — agent used Ollama successfully\n- `[OLLAMA] >>> Generating` — generation started (if log surfacing works)\n- `[OLLAMA] \u003C\u003C\u003C Done` — generation completed\n\n## Troubleshooting\n\n### Agent says \"Ollama is not installed\"\n\nThe agent is trying to run `ollama` CLI inside the container instead of using the MCP tools. This means:\n1. The MCP server wasn't registered — check `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` has the `ollama` entry in `mcpServers`\n2. The per-group source wasn't updated — re-copy files (see Phase 2)\n3. The container wasn't rebuilt — run `.\u002Fcontainer\u002Fbuild.sh`\n\n### \"Failed to connect to Ollama\"\n\n1. Verify Ollama is running: `ollama list`\n2. Check Docker can reach the host: `docker run --rm curlimages\u002Fcurl curl -s http:\u002F\u002Fhost.docker.internal:11434\u002Fapi\u002Ftags`\n3. If using a custom host, check `OLLAMA_HOST` in `.env`\n\n### Agent doesn't use Ollama tools\n\nThe agent may not know about the tools. Try being explicit: \"use the ollama_generate tool with gemma3:1b to answer: ...\"\n",{"name":5,"description":7},"main","b6b2f4d4a0c7243409d1684119a6772629bfeba6",".claude\u002Fskills\u002Fadd-ollama-tool","https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex","https:\u002F\u002Fgithub.com\u002Fmbaker95","2026-03-12 23:02:12",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add mbaker95\u002Fnanodex --skill add-ollama-tool",{"tool":56,"command":57},"bunx","bunx skills add mbaker95\u002Fnanodex --skill add-ollama-tool",{"tool":59,"command":60},"pnpm","pnpm dlx skills add mbaker95\u002Fnanodex --skill add-ollama-tool","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmbaker95\u002Fnanodex\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fadd-ollama-tool\u002FSKILL.md",true,[],[65,92,111,133,145,157],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":72,"publishedAt":39},"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",[71],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],"agent browser","browser","pages","forms","task","test web","take","use","extract","data","user","read","screenshots","research","test","web","just","Bash","browse",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":101,"publishedAt":39},"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",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[102,103,80,104,105,106,107,108,109,110],"x integration","integration","testing","setup","troubleshooting","twitter","reply","quote","triggers",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":39},"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",[],[118,119,80,38,120,121,122,123,83,124,125,126,127,128,129,130,131,132],"whisper","local whisper","use local whisper","apple","openai whisper","only","voice","apple silicon","api","first","openai","cpp","transcription","openai whisper api","whatsapp",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":39},"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",[],[140,141,142,143,144],"update","update skills","upstream","branches","check",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":39},"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",[],[140,152,153,154,142,155,156],"update nanoclaw","install","pick","token","preview",{"skillNo":158,"name":105,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":39},"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",[],[105,153,110,163,164,44,80,165,83,166,127,167,168,169,170],"time","dependencies","channel","configure","services","start","messaging","run"]