Zammad - Claude Code Skill
Voraussetzungen: CLI installieren
Dieses Skill verwendet die zammad-cli-Binärdatei. Du musst überprüfen, ob die CLI installiert ist, bevor du einen Befehl aus diesem Skill aufrufst. Wenn sie fehlt, installiere sie zuerst:
- macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/zammad/install.sh) - Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/zammad/install.ps1 | iex - Überprüfen:
zammad-cli --version - Stelle sicher, dass
~/.local/bin(macOS / Linux) oder%LOCALAPPDATA%\Programs\msp-skills(Windows) im$PATHist.
Der Installer lädt die Binärdateien zammad-cli und zammad-mcp in ~/.local/bin (macOS / Linux) oder %LOCALAPPDATA%\Programs\msp-skills (Windows) herunter. Er registriert das Skill nicht bei deinem Agent und schreibt keine MCP-Client-Konfiguration – siehe mcp-install.md für die Einrichtung.
Wenn --version nach der Installation "Befehl nicht gefunden" meldet, kann die Laufzeitumgebung das Binärverzeichnis nicht im $PATH finden. Fahre nicht mit Skill-Befehlen fort, bis die Überprüfung erfolgreich ist.
Eine einzelne Go-Binärdatei für die gesamte Zammad REST + Wissensdatenbank-Oberfläche mit einem Offline-SQLite-Speicher, strukturierter --json/--select-Ausgabe und --dry-run bei jedem Schreibvorgang. Zusätzlich zur Parität bietet es eine aus deinen synchronisierten Tickets berechnete Team-Management-Ebene: agent-load und agent-trend für die Arbeitslast, customer-health und churn-risk für das Kontorisiko, overdue für den überfälligen Rückstand, escalate für die Sentiment-Triage und feedback für die Analyse von Kundenanfragen. Funktioniert mit jeder Zammad-Instanz – setze deine Instanz-URL und deinen Token.
Wann diese CLI verwendet werden sollte
Verwende diese CLI, wenn ein Agent Zammad-Tickets und Wissensdatenbank-Inhalte lesen, durchsuchen oder triagieren muss oder um Team-Management-Fragen zu beantworten – wer ist überlastet, welche Kunden sind gefährdet, was ist überfällig, wer klingt, als ob er abwandern könnte, und welche Feedback-Themen wiederkehren. Sie ist ideal für Support-Ops-Automatisierung, Stand-ups und Konto-Zustandsprüfungen, bei denen die Antwort eine Aggregation über viele Tickets erfordert.
Anti-Auslöser
Verwende diese CLI nicht für:
- Sende keine kundenorientierten Marketing-E-Mails – sie verwaltet Ticket-Artikel, keine Kampagnen.
- Konfiguriere keine Zammad-Trigger, Automatisierungen, SLAs oder Kanäle – dies sind Admin-Konsolen-Funktionen, die hier nicht verfügbar sind.
- Verlasse dich nicht auf Eskalation/Abwanderung/Feedback als autoritative Sentiment-Analyse – sie sind heuristische Schlüsselwort-Triage, die Signale für einen Menschen oder Agenten zur Beurteilung liefern.
Einzigartige Fähigkeiten
Team-Management
-
agent-load– Zeigt die aktuelle Ticketlast jedes Agenten, aufgeschlüsselt nach Status (offen/ausstehend/Rückstand), damit du die Arbeit ausgleichen kannst, bevor sie sich auftürmt.Greife darauf zu, wenn gefragt wird, wer überlastet ist oder wie die Arbeit aktuell im Support-Team verteilt ist.
zammad-cli agent-load --json -
agent-trend– Zeigt, ob die Warteschlange jedes Agenten in den letzten N Wochen wächst oder schrumpft, mit Differenzen zwischen geöffneten und geschlossenen Tickets.Greife darauf zu, wenn gefragt wird, ob das Team im Laufe der Zeit mithält oder zurückfällt.
zammad-cli agent-trend --weeks 2 --json -
customer-health– Bewertet Organisationen anhand eines Gesundheits-Signals, das aus der Anzahl offener Tickets, dem Alter des ältesten offenen Tickets, der Wiedereröffnungsrate, der Geschwindigkeit und der letzten Aktivität gebildet wird.Greife darauf zu, um zu erkennen, welche Kunden Probleme haben, bevor sie sich beschweren.
zammad-cli customer-health --at-risk --json -
overdue– Findet überfällige Tickets, die sich noch im Status Neu/Offen/Ausstehend befinden und einen Schwellenwert überschritten haben, gewichtet nach Priorität, sodass die schlimmsten ganz oben stehen.Greife darauf zu, um Tickets zu erkennen, die kurz davor sind, eine SLA zu verletzen oder zu veralten.
zammad-cli overdue --days 3 --json -
escalate– Zeigt aktive Tickets, deren aktuelle Kundenmitteilungen verärgert klingen (heuristischer Negativ-Signal-Scan), sortiert nach Treffern, Alter und Priorität – mit den passenden Textausschnitten.Greife darauf zu, um Kunden zu finden, die wütend klingen und eskaliert werden sollten; es ist eine Schlüsselwort-Triage mit Textausschnitten, also triff du die endgültige Entscheidung.
zammad-cli escalate --json -
churn-risk– Bewertet das Abwanderungsrisiko jeder Organisation anhand des offenen Rückstands, überfälliger Tickets, unbeantworteter ausstehender und negativer Kundenmitteilungen und listet die beitragenden Faktoren auf.Greife darauf zu, um der Abwanderung zuvorzukommen; es zeigt die Faktoren an, damit du beurteilen und handeln kannst.
zammad-cli churn-risk --json -
feedback-scan– Ordnet Ticket- und Artikeltexte in Feature-Request-, Preis-, Compliance- und Bug-Themen mit den Quell-Ticket-Referenzen und Textausschnitten ein.Greife darauf zu, um zu ermitteln, was Kunden wiederholt anfordern – in Bezug auf Funktionen, Preise und Compliance.
zammad-cli feedback-scan --bucket pricing --json
Wissensdatenbank
-
kb browse– Druckt die Wissensdatenbank als Kategorie/Antwort-Baum, der aus dem Init-Bundle geparst wurde.Greife darauf zu, um die KB-Struktur zu sehen, bevor du Antworten liest oder suchst.
zammad-cli kb browse -
kb search– Textsuche über KB-Antworttitel und -texte aus dem Live-KB-Init-Bundle.Greife darauf zu, um die richtige KB-Antwort per Schlüsselwort zu finden.
zammad-cli kb search "restore" --json -
kb get– Löst eine KB-Antwort-ID aus dem Init-Bundle in ihren vollständig übersetzten Text auf.Greife darauf zu, um den vollständigen Inhalt einer KB-Antwort zu lesen.
zammad-cli kb get 42
Ticket-Ergonomie
-
ticket note– Fügt einem Ticket in einer Zeile eine interne oder partner-sichtbare Notiz hinzu, mit korrekten Content-Type-Standardwerten.Greife darauf zu, um Arbeit an einem Ticket zu protokollieren, ohne die Artikel-Payload manuell erstellen zu müssen.
zammad-cli ticket note 12345 --body "Untersucht, warte auf Logs" --internal --dry-run
Webhooks (kein Polling)
Zammad kann diese Maschine aufrufen, wenn ein Ticket erstellt oder aktualisiert oder ein Artikel hinzugefügt wird, sodass nichts sie abfragen muss.
# Einmalig, mit einem Token, der die Berechtigungen admin.webhook und admin.trigger hat
zammad-cli webhooks register --endpoint http://127.0.0.1:8789/zammad --yes
# Auf der Maschine, an die Zammad sendet, am Laufen halten
zammad-cli webhooks listen
# Lese, was angekommen ist; gib den zurückgegebenen Cursor als --since beim nächsten Mal weiter
zammad-cli events list --since 0 --json
registererstellt einen Zammad-Webhook und einen Trigger pro Ereignis (zammad.ticket.created,zammad.ticket.updated,zammad.article.created). Es generiert das Signatur-Geheimnis und speichert es neben deinem API-Token, nur von dir lesbar;ZAMMAD_WEBHOOK_SECRETüberschreibt es. Das Geheimnis wird nie ausgegeben:webhooks statuszeigt nur, woher es kommt.listenbindet standardmäßig nur an diese Maschine (127.0.0.1, Port 8789) und weigert sich zu starten, ohne das Geheimnis. Jede Anfrage muss ZammadsX-Hub-Signatureenthalten, die überprüft wird, bevor der Body gelesen wird; eine bereits gesehene Zustellung wird verworfen, und Bodies über 1 MiB werden abgelehnt.- Der Webhook enthält nur IDs. Der Listener ruft das Ticket über die API ab und zeichnet das Ereignis auf, sodass Kundentext nie im Webhook reist.
- Zammad gibt eine Zustellung nach fünf Versuchen über etwa zwei Minuten auf. Jedes Mal, wenn
listenstartet, zeichnet es zuerst auf, was sich geändert hat, während es nicht lief. Eine Zustellung, die Zammad aufgibt, währendlistenläuft, aber nicht erreicht werden kann (ein Netzwerkausfall), wird nicht aufgezeichnet. - Zammad muss den Listener erreichen können. Ein selbst gehostetes Zammad auf demselben Server funktioniert mit der Standardeinstellung. Zammad auf einer anderen Maschine in deinem LAN benötigt
listen --addr <lan-ip>:8789 --tls-cert <datei> --tls-key <datei>und einenhttps://-Endpunkt. Eine Zammad-Cloud-Instanz kann keine Maschine in deinem LAN erreichen. - Greife darauf zu, wenn der Benutzer auf neue oder geänderte Tickets reagieren möchte. Lese mit
events list --since <cursor>und behalte den zurückgegebenen Cursor; führetickets get <id>für den Text eines Tickets aus. - Über MCP liest
events_listdie aufgezeichneten Ereignisse (nur lesen, kein Zammad-Aufruf).webhooks_registerundwebhooks_unregisterändern Zammad nur mitconfirm: true.listenist nur CLI.
Befehlsreferenz
articles – Ticket-Artikel lesen und hinzufügen (Notizen und E-Mails)
zammad-cli articles by-ticket– Alle Artikel für ein Ticket auflistenzammad-cli articles create– Einen Artikel (Notiz oder E-Mail) zu einem Ticket hinzufügenzammad-cli articles get– Einen einzelnen Artikel anhand der ID abrufen
groups – Ticket-Routing-Gruppen
zammad-cli groups get– Eine Gruppe anhand der ID abrufenzammad-cli groups list– Alle Gruppen auflisten
kb – Wissensdatenbank-Kategorien und -Antworten
zammad-cli kb answer-create– Eine KB-Antwort erstellen. Übergib translations_attributes als JSON, dann veröffentlichen oder als intern markieren.zammad-cli kb answer-delete– Eine KB-Antwort löschen (erfordert KB-Editor-Berechtigung)zammad-cli kb answer-internal– Eine KB-Antwort als intern markieren (nur Agenten)zammad-cli kb answer-publish– Eine KB-Antwort veröffentlichen (öffentlich machen)zammad-cli kb category-create– Eine KB-Kategorie erstellen. Übergib translations_attributes als JSON.zammad-cli kb init– Das vollständige Wissensdatenbank-Bundle abrufen (Kategorien, Antworten, Übersetzungen). Wird von 'kb browse/search/get' verwendet.
organizations – Organisationen lesen und verwalten (Kunden / Partner)
zammad-cli organizations create– Eine Organisation erstellenzammad-cli organizations get– Eine Organisation anhand der ID abrufenzammad-cli organizations list– Organisationen auflisten (paginiert)zammad-cli organizations search– Organisationen nach Name oder benutzerdefiniertem Feld durchsuchenzammad-cli organizations update– Eine Organisation aktualisieren
overviews – Agenten-Ticket-Übersichten (gespeicherte Ansichten)
zammad-cli overviews get– Eine Übersicht (und ihre Tickets) anhand der ID abrufenzammad-cli overviews list– Alle Übersichten auflisten
priorities – Ticket-Prioritäts-Referenz (ID -> Name-Zuordnung)
zammad-cli priorities– Ticket-Prioritäten auflisten
states – Ticket-Status-Referenz (ID -> Name-Zuordnung)
zammad-cli states– Ticket-Status auflisten
tags – Ticket-Tags
zammad-cli tags add– Ein Tag zu einem Objekt hinzufügenzammad-cli tags all– Jedes in der Instanz definierte Tag auflisten (Vokabular)zammad-cli tags list– Tags auf einem Objekt auflisten (standardmäßig ein Ticket)zammad-cli tags remove– Ein Tag von einem Objekt entfernen
tickets – Zammad-Tickets lesen, durchsuchen, erstellen und ändern
zammad-cli tickets create– Ein Ticket erstellen. Gib Titel, Gruppe, einen Kunden und einen ersten Artikel an.zammad-cli tickets delete– Ein Ticket dauerhaft löschen (erfordert Admin/Lösch-Berechtigung)zammad-cli tickets get– Ein Ticket anhand der ID abrufenzammad-cli tickets list– Tickets auflisten (paginiert)zammad-cli tickets search– Tickets mit der Zammad-Abfragesyntax durchsuchen (z. B. 'state:open owner_id:3')zammad-cli tickets update– Ein Ticket aktualisieren (Status, Priorität, Besitzer, Titel, Organisation)
users – Benutzer lesen und verwalten (Agenten und Kunden)
zammad-cli users create– Einen Benutzer erstellenzammad-cli users get– Einen Benutzer anhand der ID abrufenzammad-cli users list– Benutzer auflisten (paginiert)zammad-cli users me– Den authentifizierten Benutzer abrufen (Authentifizierungs-Selbsttest)zammad-cli users search– Benutzer nach E-Mail, Name oder Abfrage durchsuchen (z. B. organization_id:5)zammad-cli users update– Einen Benutzer aktualisieren
agent-load
zammad-cli agent-load– Zeigt die aktuelle Ticketlast jedes Agenten, aufgeschlüsselt nach Status (offen/ausstehend/Rückstand), damit du die Arbeit ausgleichen kannst, bevor sie sich auftürmt.
agent-trend
zammad-cli agent-trend– Zeigt, ob die Warteschlange jedes Agenten in den letzten N Wochen wächst oder schrumpft, mit Differenzen zwischen geöffneten und geschlossenen Tickets.
churn-risk
zammad-cli churn-risk– Bewertet das Abwanderungsrisiko jeder Organisation anhand des offenen Rückstands, überfälliger Tickets, unbeantworteter ausstehender und negativer Kundenmitteilungen und listet die beitragenden Faktoren auf.
customer-health
zammad-cli customer-health– Bewertet Organisationen anhand eines Gesundheits-Signals, das aus der Anzahl offener Tickets, dem Alter des ältesten offenen Tickets, der Wiedereröffnungsrate, der Geschwindigkeit und der letzten Aktivität gebildet wird.
escalate
zammad-cli escalate– Zeigt aktive Tickets, deren aktuelle Kundenmitteilungen verärgert klingen (heuristischer Negativ-Signal-Scan), sortiert nach Treffern, Alter und Priorität – mit den passenden Textausschnitten.
feedback-scan
zammad-cli feedback-scan– Ordnet Ticket- und Artikeltexte in Feature-Request-, Preis-, Compliance- und Bug-Themen mit den Quell-Ticket-Referenzen und Textausschnitten ein.
kb
zammad-cli kb browse– Druckt die Wissensdatenbank als Kategorie/Antwort-Baum, der aus dem Init-Bundle geparst wurde.zammad-cli kb search– Textsuche über KB-Antworttitel und -texte aus dem Live-KB-Init-Bundle.zammad-cli kb get– Löst eine KB-Antwort-ID aus dem Init-Bundle in ihren vollständig übersetzten Text auf.
events
zammad-cli events list– Listet die Zammad-Ereignisse auf, diewebhooks listennach einem Cursor aufgezeichnet hat, zuerst die ältesten (lokal, kein Zammad-Aufruf).
webhooks
zammad-cli webhooks register– Erstellt die Zammad-Webhooks und -Trigger, diewebhooks listenaufrufen (schreibt nur mit--yes).zammad-cli webhooks listen– Empfängt, überprüft und zeichnet Zammad-Webhooks auf, bis es gestoppt wird (nur CLI).zammad-cli webhooks status– Zeigt die registrierten Webhooks und Trigger an und woher das Geheimnis stammt (niemals das Geheimnis).zammad-cli webhooks unregister– Entfernt, waswebhooks registererstellt hat (schreibt nur mit--yes).
overdue
zammad-cli overdue– Findet überfällige Tickets, die sich noch im Status Neu/Offen/Ausstehend befinden und einen Schwellenwert überschritten haben, gewichtet nach Priorität, sodass die schlimmsten ganz oben stehen.
ticket
zammad-cli ticket note– Fügt einem Ticket in einer Zeile eine interne oder partner-sichtbare Notiz hinzu, mit korrekten Content-Type-Standardwerten.
Den richtigen Befehl finden
Wenn du weißt, was du tun möchtest, aber nicht, welcher Befehl es tut, frage die CLI direkt:
zammad-cli which "<Fähigkeit in eigenen Worten>"
which löst eine natürlichsprachliche Fähigkeitsabfrage in den am besten passenden Befehl aus dem kuratierten Feature-Index dieser CLI auf. Exit-Code 0 bedeutet mindestens eine Übereinstimmung; Exit-Code 2 bedeutet keine sichere...