add-anydoc
Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when agents need to read attached Word,…
Add a self-hosted or cloud Mattermost bot channel through the Chat SDK bridge, reusing a local server when available and offering an evaluation server when none exists.
$ npx -y skills add nanocoai/nanoclaw --skill add-mattermost --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/add-mattermostContext preview
The summary Claude sees to decide when to auto-load this skill.
Add a self-hosted or cloud Mattermost bot channel through the Chat SDK bridge, reusing a local server when available and offering an evaluation server when none exists.
name: add-mattermost description: Add a self-hosted or cloud Mattermost bot channel through the Chat SDK bridge, reusing a local server when available and offering an evaluation server when none exists.
Adds Mattermost DMs, channels, threads, files, reactions, and interactive approval cards. Messages arrive over Mattermost's WebSocket; card clicks return to NanoClaw over an authenticated HTTP callback. Every step is safe to re-run.
Do this before installing the adapter or asking for a URL. The goal is to reuse a healthy Mattermost the user already has and establish one canonical base URL.
1. Check an existing `MATTERMOST_BASE_URL` in the current environment and NanoClaw env/config files. Do not print tokens or dump whole env files. 2. Probe likely local URLs, at least `http://localhost:8065` and `http://127.0.0.1:8065`, using `GET /api/v4/system/ping`. A listening port alone is not evidence that the service is Mattermost. 3. Inspect Docker/Compose for Mattermost containers. If a matching container exists but is stopped, offer to start it; do not start or recreate it without the user's approval. 4. If you find a healthy server, show its URL. Ask the user to use this server, enter a different URL, or create the local evaluation server. Do not select a server automatically. Treat the localhost and 127.0.0.1 endpoints for the same container as one server. 5. If nothing local is found, ask whether the user has a remote Mattermost. If not, offer the local evaluation installation in [LOCAL_SERVER.md](LOCAL_SERVER.md). Read that file only for local server discovery, repair, or installation.
Set `MATTERMOST_BASE_URL` to the chosen canonical URL (scheme included, no trailing slash), then use that exact hostname in browser/Desktop setup. Do not silently install Mattermost: it runs containers, binds a port, and persists data, so show what will be created and get approval first.
Test the configured URL and the standard local URLs. A detected server is only a suggestion. The user must select the server.
node .claude/skills/add-mattermost/scripts/discover-server.mjs
NanoClaw found a healthy Mattermost server at {{detected_url}}. You can use this server, enter a different URL, or create a local evaluation server.Enter `use` to use {{detected_url}}. Enter `enter` to specify a different Mattermost URL. Enter `create` to create a local evaluation server.node .claude/skills/add-mattermost/scripts/select-server.mjs use "{{detected_url}}" "{{detected_config_access}}" "{{detected_container}}"Enter the Mattermost base URL. Include the scheme, for example `https://mattermost.example.com`.
node .claude/skills/add-mattermost/scripts/select-server.mjs enter "{{entered_url}}"printf 'yes\n'
NanoClaw did not find a healthy Mattermost server. You can enter a server URL or create a local evaluation server.
Enter `enter` to specify a Mattermost URL. Enter `create` to create a local evaluation server.
Enter the Mattermost base URL. Include the scheme, for example `https://mattermost.example.com`.
node .claude/skills/add-mattermost/scripts/select-server.mjs enter "{{entered_url_new}}"printf 'yes\n'
Explain what the installation creates. Give the user time to review the details. Then get approval.
The local evaluation server runs Mattermost Team Edition and PostgreSQL in containers. The installation creates a Docker network and named volumes. It saves configuration files in .nanoclaw/mattermost. It binds the server to 127.0.0.1:8065. You need Docker and Docker Compose. Port 8065 must be free. If the port is in use, the installation stops and makes no changes.
Enter `install` to create and start these local resources.
After approval, verify the requirements and create the stack. Wait for a maximum of 60 seconds for Mattermost. If the operation fails, show the last 100 service log lines and stop.
docker info >/dev/null && docker compose version >/dev/null
node -e 'const net=require("node:net");const s=net.createServer();s.once("error",()=>process.exit(1));s.listen(8065,"127.0.0.1",()=>s.close())'
mkdir -p .nanoclaw/mattermost
cp .claude/skills/add-mattermost/assets/compose.yml .nanoclaw/mattermost/compose.yml
test -f .nanoclaw/mattermost/.env || { umask 077; printA lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK
Repo: nanocoai/nanoclaw
Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when agents need to read attached Word,…
Convert an attached Word document, presentation, spreadsheet, OpenDocument file, RTF, EPUB, CSV, or text-based PDF into local Markdown. Use when a message…
Add Atomic Chat MCP server so the container agent can call local models served by the Atomic Chat desktop app via its OpenAI-compatible API.
Add clidash — a zero-dependency, read-only web dashboard that derives its tabs and tables at runtime from any CLI that lists resources as JSON. Ships pre-wired…
Use Codex (OpenAI's codex app-server) as a full agent provider — planning, tool orchestration, MCP tools, server-side history, session resume — alongside or…
Add a monitoring dashboard to NanoClaw. Installs @nanoco/nanoclaw-dashboard and a pusher that sends periodic JSON snapshots.