Files
claude-plugins/plugins/mediawiki/skills/mediawiki/SKILL.md
T
skoandClaude Opus 4.8 7b44ceafdc plugins/mediawiki: wiki.py als Skill (fetch/update/render, wiki & devwiki)
Neues Plugin, das MediaWiki-Seiten/Templates ueber die gevendorte, self-
contained wiki.py (uv run --script; mwclient+python-dotenv) liest, rendert und
schreibt. Instanzen wiki (Prod) und devwiki via -w. Zugangsdaten bleiben lokal
(Umgebungsvariablen bzw. dotenv-Datei) - Beispiel-Vorlage beiliegend. SKILL.md
dokumentiert Nutzung + Regel "Wiki nur via wiki.py/MCP, nicht Maintenance-Skript".
Marketplace-Eintrag ergaenzt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 09:50:43 +02:00

2.6 KiB

name, description, version
name description version
mediawiki MediaWiki-Seiten und -Templates lesen, rendern und schreiben. Use when editing/fetching wiki pages (wiki.inmedias.it, devwiki.inmedias.it) or when the user mentions "wiki", "Vorlage/Template", "Kundenseite". 0.1.0

MediaWiki (wiki.py)

Liest, rendert und schreibt MediaWiki-Seiten/Templates über die mitgelieferte CLI wiki.py (mwclient + Login). Unterstützt mehrere Instanzen.

Grundregel

Wiki-Seiten/Templates werden ausschließlich über wiki.py (oder ein MediaWiki-MCP) bearbeitet — niemals per ssh <host> php .../maintenance/edit.php oder anderen direkten Server-Eingriffen. Reine Lese-/Render-Checks (curl ...?action=render) sind ok; nur das Schreiben läuft über wiki.py.

Ausführen

wiki.py ist ein eigenständiges uv run --script (Inline-Deps: mwclient, python-dotenv). Aus dem Skill-Verzeichnis ausführen:

./wiki.py -w <instanz> <befehl> ...

-w / --wiki wählt die Instanz (Default: wiki):

Befehle

./wiki.py -w devwiki fetch  "Kunde:Beispiel GmbH"                 # Wikitext -> stdout
./wiki.py -w devwiki render "Kunde:Beispiel GmbH"                 # gerendertes HTML -> stdout
./wiki.py -w devwiki search "Suchbegriff" [-n <namespace>]        # Titelsuche
./wiki.py -w devwiki update "Kunde:Beispiel GmbH" datei.wiki --summary "..."   # speichern
./wiki.py -w wiki    update "Titel" -    --summary "..."          # Inhalt von stdin

Tipp: Beim Schreiben den Inhalt aus einer Datei (datei.wiki) oder - (stdin) übergeben — nicht als langes Shell-Argument (Sonderzeichen/Backticks!).

Zugangsdaten

wiki.py bringt keine Zugangsdaten mit. Jede/r hinterlegt eigene Creds als Umgebungsvariablen oder in einer .env (Reihenfolge: ~/.config/dokumentierer/.env, dann .env im aktuellen Verzeichnis, dann bereits gesetzte Env-Variablen). Siehe .env.example:

  • MEDIAWIKI_USER, MEDIAWIKI_PASSWORD — für die Prod-Instanz (wiki)
  • DEVMEDIAWIKI_USER, DEVMEDIAWIKI_PASSWORD — für devwiki (fällt auf die MEDIAWIKI_*-Werte zurück, wenn nicht gesetzt)
  • optional MEDIAWIKI_URL / DEVMEDIAWIKI_URL — nur nötig, wenn die Default-URLs abweichen

Es empfiehlt sich ein eigener Bot-/Service-Account mit den nötigen Schreibrechten.

Hinweise

  • search liefert Titel; render ist nützlich, um vor/nach dem Schreiben das Ergebnis zu prüfen, ohne die Seite im Browser zu öffnen.
  • Für neue Instanzen: WIKI_ALIASES oben in wiki.py erweitern.