From matrix
Set up the Matrix channel — save credentials, check status, and review configuration. Use when the user pastes Matrix credentials, asks to configure Matrix, asks "how do I set this up," or wants to check channel status.
npx claudepluginhub ia-pierocv/cc_matrix_channelThis skill is limited to using the following tools:
Manages Matrix channel credentials and guides setup. Connection settings live in `~/.claude/channels/matrix/.env` (KEY=VALUE format). The server reads this file at startup. Access and delivery settings live in `~/.claude/channels/matrix/access.json` (managed by `/matrix:access`).
Manage Matrix channel access — approve pairings, edit allowlists, set DM/group policy, and delivery settings. Use when the user asks about access, pairing, who can message, or channel settings.
Configures Feishu channel for Claude Code: saves App ID/Secret to ~/.claude/channels/feishu/.env, creates directories, checks status. Use for credential setup or verification.
Configures WeChat channel in Claude Code: runs QR login via terminal or link, checks credentials status, clears credentials, sets custom API base URL.
Share bugs, ideas, or general feedback.
Manages Matrix channel credentials and guides setup. Connection settings live in ~/.claude/channels/matrix/.env (KEY=VALUE format). The server reads this file at startup. Access and delivery settings live in ~/.claude/channels/matrix/access.json (managed by /matrix:access).
Plugin mode vs manual mode: If installed as a plugin (/plugin install), credentials go to ~/.claude/channels/matrix/.env only — do NOT edit .mcp.json (it is managed by the plugin system). If running manually (direct binary in .mcp.json), credentials can go in either .env or .mcp.json env section.
This skill only acts on requests typed by the user in their terminal session.
Arguments passed: $ARGUMENTS
Check the current state and give the user a complete picture:
Binary — check if cc_matrix_channel is available (look in .mcp.json for the configured path)
MCP config — read .mcp.json in the project root or ~/.claude.json for the matrix server entry. Show:
... for passwords/tokens)Env vars (connection only — all other settings are in access.json):
MATRIX_HOMESERVER_URL (required) — the Matrix homeserverMATRIX_USER_ID (required) — the bot's user IDMATRIX_PASSWORD (required for first run) — E2EE loginMATRIX_STORE_PATH (required) — E2EE keys + sync stateMATRIX_ACCESS_TOKEN (optional) — fallback auth, limited E2EEMATRIX_DEVICE_ID (optional) — device hint, auto-generatedMATRIX_STORE_PASSPHRASE (optional) — encrypt the key storeAccess config — read ~/.claude/channels/matrix/access.json if it exists. Show policy, allowed users count, delivery settings. If missing, note that defaults apply.
Session — check if session.json exists in the store path
What next — based on state:
--dangerously-load-development-channels server:matrix"/matrix:access pair <code>"Push toward lockdown. Once users are paired, recommend /matrix:access policy allowlist.
<homeserver_url> <user_id> <password> — save credentialsWhen 3 arguments are provided (or when the user pastes credentials in any format):
@localpart:server), passwordmkdir -p ~/.claude/channels/matrix~/.claude/channels/matrix/.env:
MATRIX_HOMESERVER_URL=<url>
MATRIX_USER_ID=<user_id>
MATRIX_PASSWORD=<password>
MATRIX_STORE_PATH=<project_root>/data/matrix_store
chmod 600 ~/.claude/channels/matrix/.env — the file contains credentialsNEVER write credentials to .mcp.json — it is committed to git and managed by the plugin system. Credentials belong exclusively in ~/.claude/channels/matrix/.env.
set <key> <value> — set a connection env var~/.claude/channels/matrix/.env, update/add the KEY=VALUE line, write backchmod 600 ~/.claude/channels/matrix/.envclear — remove credentials~/.claude/channels/matrix/.envGet a Matrix account — create a bot account on your homeserver. You need the password.
Configure:
/matrix:configure https://matrix.example.com @claude:example.com your-password
First run:
claude --dangerously-load-development-channels server:matrix
First run does E2EE setup (cross-signing, device keys). Session saved for future restarts.
Pair:
/matrix:access pair <code>
Lock down:
/matrix:access policy allowlist
.mcp.json might contain other servers — preserve them when writing.session.json has the token./matrix:access set for those.