Skip to content
Automation
Skill

/add-mattermost

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.

From plugin
nanoclaw
31k61 skills
Install
$ npx -y skills add nanocoai/nanoclaw --skill add-mattermost --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/add-mattermost

Context 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.

SKILL.md

add-mattermost.SKILL.md
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.

Add Mattermost Channel

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.

Discover the server first

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.

Apply

1. Detect the server

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; print
Read more
Ships withnanoclaw

A 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

Get the whole plugin
Stats
30,745
Stars
12,836
Forks
Active
Maintenance
TypeScript
Language
MIT
License
2d ago
Last commit
7mo ago
Created

Repo: nanocoai/nanoclaw

Other skills on nanoclaw.