Use when communicating via Matrix chat, notifying teams, or managing E2EE. Triggers on #room:server references, Matrix URLs, and chat requests.
From matrix-communicationnpx claudepluginhub netresearch/claude-code-marketplace --plugin matrix-communicationThis skill is limited to using the following tools:
LICENSEREADME.mdevals/evals.jsonreferences/api-reference.mdreferences/e2ee-guide.mdreferences/messaging-guide.mdreferences/setup-guide.mdscripts/_lib/__init__.pyscripts/_lib/config.pyscripts/_lib/deps.pyscripts/_lib/e2ee.pyscripts/_lib/formatting.pyscripts/_lib/http.pyscripts/_lib/rooms.pyscripts/_lib/utils.pyscripts/matrix-doctor.pyscripts/matrix-e2ee-setup.pyscripts/matrix-e2ee-verify.pyscripts/matrix-edit-e2ee.pyscripts/matrix-edit.pyDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Send and read messages in Matrix rooms. Always use *-e2ee.py scripts.
Bash ! rule: Prepend set +H && when arguments contain !
ROOM: name (test), ID (!abc:server), or alias (#room:server).
# Send (E2EE)
set +H && uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-send-e2ee.py ROOM "message"
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-send-e2ee.py ROOM "message" --no-prefix
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-send-e2ee.py ROOM "is deploying" --emote
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-send-e2ee.py ROOM "reply" --thread '$rootEventId'
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-send-e2ee.py ROOM "reply" --reply '$eventId'
# Read (E2EE)
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-read-e2ee.py ROOM --limit 10
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-read-e2ee.py ROOM --limit 20 --json
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-read-e2ee.py ROOM --limit 10 --request-keys
# Edit / Delete / React
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-edit-e2ee.py ROOM '$eventId' "new text"
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-redact.py ROOM '$eventId' "reason"
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-react.py ROOM '$eventId' "✅"
# Rooms
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-rooms.py
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-rooms.py --search ops
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-resolve.py "#room:server"
# E2EE management
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-e2ee-setup.py --status
MATRIX_PASSWORD="pass" uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-e2ee-setup.py
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-e2ee-verify.py --timeout 180
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-fetch-keys.py ROOM --sync-time 60
uv run ${CLAUDE_SKILL_DIR}/scripts/matrix-key-backup.py --recovery-key "EsTj ..." --import-keys
# Health check (uses python3, not uv run)
python3 ${CLAUDE_SKILL_DIR}/scripts/matrix-doctor.py --install
| Operation | E2EE (preferred) | Non-E2EE Fallback |
|---|---|---|
| Send | matrix-send-e2ee.py | matrix-send.py |
| Read | matrix-read-e2ee.py | matrix-read.py |
| Edit | matrix-edit-e2ee.py | matrix-edit.py |
| React | matrix-react.py | (same) |
| Delete | matrix-redact.py | (same) |
Other: matrix-rooms.py, matrix-resolve.py, matrix-e2ee-setup.py, matrix-e2ee-verify.py, matrix-fetch-keys.py, matrix-key-backup.py, matrix-doctor.py.
~/.config/matrix/config.json — required: homeserver, user_id. Optional: access_token, bot_prefix
| Error | Solution |
|---|---|
M_FORBIDDEN | Join room first in Element |
M_UNKNOWN_TOKEN | Get new token from Element |
M_LIMIT_EXCEEDED | Wait and retry |
Could not find room | matrix-rooms.py to list rooms |
[Unable to decrypt] | matrix-key-backup.py --recovery-key "..." --import-keys |
libolm not found | apt install libolm-dev / brew install libolm |
matrix-nio not found | python3 ${CLAUDE_SKILL_DIR}/scripts/matrix-doctor.py --install |
Invalid password | Use env var: MATRIX_PASSWORD="pass" uv run ... |
signature failed | Dedicated device via matrix-e2ee-setup.py |
*-e2ee.pyset +H — ! in messages/passwords gets mangled by bash--import-keys — key backup shows but doesn't save keys without itmatrix-doctor.py --install first — dependency errorsMATRIX_PASSWORD env var for special charactersreferences/setup-guide.md — setup walkthroughreferences/e2ee-guide.md — E2EE, key recovery, verificationreferences/messaging-guide.md — formatting, reactions, patternsreferences/api-reference.md — Matrix API endpoints