Skip to main content

matrix-administration

Use when administering a Synapse / Matrix homeserver — list or snapshot all rooms, rate room health (public, unencrypted, orphaned), render a Graphviz map of the room/space tree, force-join users, promote room admins, harden rooms (add-to-space + restrict + encrypt), deactivate Matrix users (with GDPR erase), find biggest rooms by DB size, audit where a user is admin or member, replay join/leave timelines, or search unencrypted history. Trigger on any '/_synapse/admin', server-wide room operation, Matrix user offboarding, or anything requiring a homeserver-admin token — even without 'admin API' in the prompt. Companion to matrix-communication.

소스 정보

저장소
netresearch/matrix-skill
최근 소스 활동
2026년 10월 1일 02:20
감지된 SKILL.md 언어
영어
스타
5
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
29 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
matrix-administration
description
Use when administering a Synapse / Matrix homeserver — list or snapshot all rooms, rate room health (public, unencrypted, orphaned), render a Graphviz map of the room/space tree, force-join users, promote room admins, harden rooms (add-to-space + restrict + encrypt), deactivate Matrix users (with GDPR erase), find biggest rooms by DB size, audit where a user is admin or member, replay join/leave timelines, or search unencrypted history. Trigger on any '/_synapse/admin', server-wide room operation, Matrix user offboarding, or anything requiring a homeserver-admin token — even without 'admin API' in the prompt. Companion to matrix-communication.
license
(MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0
compatibility
python3 (stdlib only) + a Matrix access token belonging to a Synapse server-admin user. Optional: graphviz `dot` for SVG. Synapse 1.x with admin API enabled.
metadata
{"author":"Netresearch DTT GmbH","version":"3.1.8","repository":"https://github.com/netresearch/matrix-skill"}
allowed-tools
Bash(uv run ${CLAUDE_SKILL_DIR}/scripts/*) Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/*) Bash(python3 skills/matrix-administration/scripts/*) Bash(dot:*) Read Write
# Matrix Administration Stdlib-only Python wrappers around the Synapse [Admin API](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html) and the Client-Server API. Reads `~/.config/matrix/config.json` (the same file matrix-communication uses). ## Quick Reference ```bash S=skills/matrix-administration/scripts python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-fetch-rooms.py [--server :example.com] python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-rate-rooms.py --space '!home:srv' [--language de] python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-graph.py --space '!home:srv' python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-biggest-rooms.py [-n 10] python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-join-room.py '!room:srv' '@user:srv' python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-make-admin.py '!room:srv' '@user:srv' python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-add-to-space.py '!room:srv' '!space:srv' python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-migrate-room.py '!room:srv' '@admin:srv' '!space:srv' # DESTRUCTIVE, asks first python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-deactivate-user.py '@user:srv' # DESTRUCTIVE python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-user-rooms.py '@user:srv' python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-user-admin-rooms.py '@user:srv' python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-room-member-flow.py '!room:srv' python3 ${CLAUDE_SKILL_DIR}/scripts/synapse-search.py '!room:srv' '@bot:srv' deploy ``` ## Scripts | Script | Purpose | |--------|---------| | `synapse-fetch-rooms.py` | Snapshot all rooms + state → `rooms.json` | | `synapse-rate-rooms.py` | Health checks (EN/DE) on `rooms.json` | | `synapse-graph.py` | Render `rooms.json` → Graphviz `.dot` + `.svg` | | `synapse-biggest-rooms.py` | Top-N rooms by DB size | | `synapse-join-room.py` | Force-join a user | | `synapse-make-admin.py` | Promote to PL 100 | | `synapse-add-to-space.py` | Send `m.space.child` | | `synapse-migrate-room.py` | Add to space + restrict + encrypt | | `synapse-deactivate-user.py` | **Destructive** deactivation (`--erase` for GDPR) | | `synapse-user-admin-rooms.py` | Local: rooms where user is PL 100 | | `synapse-user-rooms.py` | Local: rooms a user belongs to | | `synapse-room-member-flow.py` | Join/leave timeline | | `synapse-search.py` | Unencrypted history search | ## Setup `~/.config/matrix/config.json` (respects `$XDG_CONFIG_HOME`): ```json { "homeserver": "https://matrix.example.com", "admin_token": "syt_admin_…", "room_filter": ":example.com", "default_space_id": "!home:example.com", "home_space_ids": ["!home:example.com"] } ``` `homeserver` and either `admin_token` or `access_token` (server-admin) are required. The other fields are optional. To keep the token out of this file, set `admin_token_file` to a file holding it (relative paths resolve against the config directory) or export `MATRIX_ADMIN_TOKEN`; the environment wins over the file, the file over the inline value. Env fallbacks: `MATRIX_USER_ID`, `MATRIX_SPACE_ID`, `LANGUAGE=en|de`, `NO_COLOR`. ## Safety The token is server-admin. Read [`references/safety-guide.md`](references/safety-guide.md) before any destructive op. - `synapse-deactivate-user.py` is irreversible. - `synapse-migrate-room.py` enables encryption (one-way) and restricts joins; it prints the plan and asks before the first write (`--yes` skips, and is required without a terminal). Power-level changes restored on exit including Ctrl-C. - `synapse-make-admin.py` raises PL 100 permanently. - `synapse-search.py` cannot read E2EE — empty ≠ no messages. - `rooms.json` exposes user IDs; never commit it. ## References - [`references/synapse-admin-api.md`](references/synapse-admin-api.md) — endpoints + upstream docs - [`references/room-health-checks.md`](references/room-health-checks.md) — rules + remediation - [`references/room-graph-pipeline.md`](references/room-graph-pipeline.md) — Docker dashboard recipe - [`references/safety-guide.md`](references/safety-guide.md) — destructive-op checklist - Source: [netresearch/matrix-skill](https://github.com/netresearch/matrix-skill)
GitHub에서 보기