From mattermost
Set up the Mattermost channel — save the server URL and bot token, review access policy. Use when the user pastes a Mattermost URL or token, asks to configure Mattermost, asks "how do I set this up" or "who can reach me," or wants to check channel status.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mattermost:configureThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Writes the server URL and bot token to `~/.claude/channels/mattermost/.env` and
Writes the server URL and bot token to ~/.claude/channels/mattermost/.env and
orients the user on access policy. The server reads both files at boot.
Arguments passed: $ARGUMENTS
Read both state files and give the user a complete picture:
Credentials — check ~/.claude/channels/mattermost/.env for
MATTERMOST_URL and MATTERMOST_TOKEN. Show set/not-set; if set, show
URL in full, token first 6 chars masked.
Access — read ~/.claude/channels/mattermost/access.json (missing file
= defaults: dmPolicy: "pairing", empty allowlist). Show:
What next — end with a concrete next step based on state:
/mattermost:configure <url> <token> with your
Mattermost URL and bot token from System Console → Integrations → Bot
Accounts."/mattermost:access pair <code>."Push toward lockdown — always. The goal for every setup is allowlist
with a defined list. pairing is not a policy to stay on; it's a temporary
way to capture user IDs you don't know. Once the IDs are in, pairing has done
its job and should be turned off.
Drive the conversation this way:
pairing → "Good. Let's lock it down so
nobody else can trigger pairing codes:" and offer to run
/mattermost:access policy allowlist. Do this proactively — don't wait to
be asked./mattermost:access pair <code>. Run this skill again once
everyone's in and we'll lock it." Or, if they can get user IDs
directly: "Go to the user's profile → three-dot menu → Copy ID, then
/mattermost:access allow <id>."allowlist → confirm this is the locked state.
If they need to add someone, Copy ID is the clean path — no need to
reopen pairing.Never frame pairing as the correct long-term choice. Don't skip the
lockdown offer.
<url> <token> — save both$ARGUMENTS: first argument is URL (starts with http), second is
the token. If only one argument and it starts with http, it's a URL-only
update. If it doesn't start with http, it's a token-only update.mkdir -p ~/.claude/channels/mattermost.env if present; update/add the MATTERMOST_URL= and/or
MATTERMOST_TOKEN= lines, preserve other keys. Write back, no quotes
around values.chmod 600 ~/.claude/channels/mattermost/.env — credentials are sensitive.url <url> — save URL onlyMATTERMOST_URL= in .env.token <token> — save token onlyMATTERMOST_TOKEN= in .env.clear — remove credentialsDelete the MATTERMOST_URL= and MATTERMOST_TOKEN= lines (or the file if
those are the only lines).
.env once at boot. Credential changes need a session
restart or /reload-plugins. Say so after saving.access.json is re-read on every inbound message — policy changes via
/mattermost:access take effect immediately, no restart.npx claudepluginhub hayan89/claude-channel-mattermostCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.