CommunityCodierung & Entwicklunggithub.com

Servosity/zammad

Jede Zammad-Ticket-, Artikel- und Wissensdatenbank-Operation als ein CLI und MCP-Server – plus eine Team-Management-Ebene (Agentenauslastung, Kundenzustand, überfällige Tickets, Eskalations-Triage, Abwanderungsrisiko, Feedback-Analyse), die die Zammad-API nicht in einem einzigen Aufruf beantworten kann. Auslösephrasen: "wer ist überlastet im Support", "welche Kunden sind gefährdet", "welche Tickets sind zu lange offen", "wen sollten wir eskalieren", "welches Feedback bekommen wir", "zammad Tickets durchsuchen", "zammad verwenden", "zammad ausführen".

Was ist zammad?

Dieses Skill ermöglicht es einem AI-Agenten, Zammad-Tickets, -Artikel und die Wissensdatenbank (Knowledge Base) zu lesen, zu durchsuchen und zu verwalten – alles über eine einheitliche CLI und MCP-Server. Darüber hinaus bietet es eine einzigartige Team-Management-Ebene, die aus den synchronisierten Tickets berechnet wird: Agentenauslastung und -trends, Kundenzustand und Abwanderungsrisiko, überfällige Tickets, Eskalationshinweise und Feedback-Kategorisierung. Entwickelt für Claude Code, aber auch mit anderen MCP-kompatiblen Agents nutzbar. Das Tool verwendet eine Go-Binärdatei, die lokal mit SQLite synchronisiert und sicher konfiguriert werden muss (Instanz-URL und Token). Es ist ideal für Support-Ops-Automatisierung, Stand-ups und Konto-Zustandsprüfungen, bei denen die Antwort eine Aggregation über viele Tickets erfordert.

Funktioniert mit✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Servosity/msp-skills/tree/HEAD/skills/zammad

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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:

  1. macOS / Linux:
    bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/zammad/install.sh)
    
  2. Windows (PowerShell):
    iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/zammad/install.ps1 | iex
    
  3. Überprüfen: zammad-cli --version
  4. Stelle sicher, dass ~/.local/bin (macOS / Linux) oder %LOCALAPPDATA%\Programs\msp-skills (Windows) im $PATH ist.

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
  • register erstellt 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 status zeigt nur, woher es kommt.
  • listen bindet standardmäßig nur an diese Maschine (127.0.0.1, Port 8789) und weigert sich zu starten, ohne das Geheimnis. Jede Anfrage muss Zammads X-Hub-Signature enthalten, 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 listen startet, zeichnet es zuerst auf, was sich geändert hat, während es nicht lief. Eine Zustellung, die Zammad aufgibt, während listen lä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 einen https://-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ühre tickets get <id> für den Text eines Tickets aus.
  • Über MCP liest events_list die aufgezeichneten Ereignisse (nur lesen, kein Zammad-Aufruf). webhooks_register und webhooks_unregister ändern Zammad nur mit confirm: true. listen ist 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 auflisten
  • zammad-cli articles create – Einen Artikel (Notiz oder E-Mail) zu einem Ticket hinzufügen
  • zammad-cli articles get – Einen einzelnen Artikel anhand der ID abrufen

groups – Ticket-Routing-Gruppen

  • zammad-cli groups get – Eine Gruppe anhand der ID abrufen
  • zammad-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 erstellen
  • zammad-cli organizations get – Eine Organisation anhand der ID abrufen
  • zammad-cli organizations list – Organisationen auflisten (paginiert)
  • zammad-cli organizations search – Organisationen nach Name oder benutzerdefiniertem Feld durchsuchen
  • zammad-cli organizations update – Eine Organisation aktualisieren

overviews – Agenten-Ticket-Übersichten (gespeicherte Ansichten)

  • zammad-cli overviews get – Eine Übersicht (und ihre Tickets) anhand der ID abrufen
  • zammad-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ügen
  • zammad-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 abrufen
  • zammad-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 erstellen
  • zammad-cli users get – Einen Benutzer anhand der ID abrufen
  • zammad-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, die webhooks listen nach einem Cursor aufgezeichnet hat, zuerst die ältesten (lokal, kein Zammad-Aufruf).

webhooks

  • zammad-cli webhooks register – Erstellt die Zammad-Webhooks und -Trigger, die webhooks listen aufrufen (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, was webhooks register erstellt 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...

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Verwandte Skills