plugins/humhub: humhub.py als Skill (Wiki-Seiten & Posts via REST-API)

Neues Plugin, das HumHub (humhub.inmedias.it) ueber die gevendorte, self-
contained humhub.py (uv run --script; requests+python-dotenv) bedient:
wiki-list/get/update/create, post-list/create/update. Token bleibt lokal
(Umgebungsvariable bzw. dotenv-Datei) - Beispiel-Vorlage beiliegend. SKILL.md
dokumentiert Nutzung. Marketplace-Eintrag ergaenzt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
skoandClaude Opus 4.8 committed 2026-07-16 10:01:25 +02:00
1 parent fdbf8d640f
commit f45d7a3f8f
5 files changed
+334

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
---
name: humhub
description: HumHub Wiki-Seiten und Posts lesen/erstellen/aktualisieren via REST-API. Use when the user mentions "HumHub", "Space", "Wiki-Seite in HumHub" or "Post/Beitrag".
version: 0.1.0
---
# HumHub (humhub.py)
Interagiert mit HumHub (https://humhub.inmedias.it) über die REST-API:
Wiki-Seiten und Posts auflisten, anzeigen, anlegen und aktualisieren — über die
mitgelieferte, self-contained `humhub.py`.
## Ausführen
`humhub.py` ist ein eigenständiges `uv run --script` (Inline-Deps: `requests`,
`python-dotenv`). Aus dem Skill-Verzeichnis:
```bash
./humhub.py <befehl> ...
```
### Wiki
```bash
./humhub.py wiki-list ["filter"] # Wiki-Seiten auflisten (Titel-Filter optional)
./humhub.py wiki-get <id> # Wiki-Seite anzeigen (Inhalt + URL)
./humhub.py wiki-update <id> [datei|-] [--title ...] [--topics a,b] [--parent-id N]
./humhub.py wiki-create <container_id> "<titel>" [datei|-] [--topics a,b] [--parent-id N]
```
### Posts
```bash
./humhub.py post-list <container_id> [--limit N]
./humhub.py post-create <container_id> [datei|-]
./humhub.py post-update <id> [datei|-]
```
Inhalte (Markdown) aus Datei oder `-` (stdin) übergeben — nicht als langes
Shell-Argument (Sonderzeichen). `container_id` ist die Space-/Profil-Container-ID
in HumHub (z.&nbsp;B. ein User- oder Space-Container). Mit `wiki-list` /
`post-list` die passende ID/Seite ermitteln.
## Zugangsdaten
`humhub.py` bringt **keinen** Token mit. Jede/r hinterlegt ein eigenes
API-Token als Umgebungsvariable oder in einer dotenv-Datei (Reihenfolge:
`~/.config/dokumentierer/.env`, dann Datei im Arbeitsverzeichnis, dann bereits
gesetzte Env-Variablen). Siehe `.env.example`:
- `HUMHUB_API_TOKEN` — persönliches bzw. Service-API-Token (HumHub → Benutzer →
Einstellungen → API-Token)
Die Basis-URL (`https://humhub.inmedias.it/api/v1`) ist fest im Skript; für eine
andere Instanz `BASE_URL` oben in `humhub.py` anpassen.