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>
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):
wiki→ https://wiki.inmedias.it (Prod)devwiki→ https://devwiki.inmedias.it (Test)
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ürdevwiki(fällt auf dieMEDIAWIKI_*-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
searchliefert Titel;renderist nützlich, um vor/nach dem Schreiben das Ergebnis zu prüfen, ohne die Seite im Browser zu öffnen.- Für neue Instanzen:
WIKI_ALIASESoben inwiki.pyerweitern.