servosity/msp-skills/zammad
Claude Code and agent skill by servosity/msp-skills
- community
Checking that the SKILL.md file is still in the repository.
Every Zammad ticket, article, and Knowledge Base operation as one CLI and MCP server - plus a team-management layer (agent load, customer health, aging backlog, escalation triage, churn risk, feedback mining) the Zammad API can't answer in a single call. Trigger phrases: `who is overloaded in support`, `which customers are at risk`, `what tickets are open too long`, `who should we escalate`, `what feedback are we getting`, `search zammad tickets`, `use zammad`, `run zammad`.
Install
npx vskill@latest install servosity/msp-skills/zammadSKILL.md
Zammad - Claude Code Skill
Prerequisites: Install the CLI
This skill drives the zammad-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
- macOS / Linux:
``bash bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/zammad/install.sh) ``
- Windows (PowerShell):
``powershell iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/zammad/install.ps1 | iex ``
- Verify:
zammad-cli --version - Ensure
~/.local/bin(macOS / Linux) or%LOCALAPPDATA%\Programs\msp-skills(Windows) is on$PATH.
The installer downloads the zammad-cli and zammad-mcp binaries into ~/.local/bin (macOS / Linux) or %LOCALAPPDATA%\Programs\msp-skills (Windows). It does not register the skill with your agent and writes no MCP client config - see mcp-install.md for that wire-up.
If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
A single Go binary for the whole Zammad REST + Knowledge Base surface with an offline SQLite store, structured --json/--select output, and --dry-run on every write. On top of parity it adds a team-management layer computed from your synced tickets: agent-load and agent-trend for workload, customer-health and churn-risk for account risk, overdue for aging backlog, escalate for sentiment triage, and feedback for mining what customers ask for. Works against any Zammad instance - set your instance URL and token.
When to Use This CLI
Use this CLI when an agent needs to read, search, or triage Zammad tickets and Knowledge Base content, or to answer team-management questions - who is overloaded, which customers are at risk, what is aging, who sounds like they might churn, and what feedback themes are recurring. It is ideal for support-ops automation, standups, and account-health reviews where the answer requires aggregating across many tickets.
Anti-triggers
Do not use this CLI for:
- Do not use this CLI to send customer-facing marketing email - it manages ticket articles, not campaigns.
- Do not use it to configure Zammad triggers, automations, SLAs, or channels - those are admin-console features not exposed here.
- Do not rely on escalate/churn/feedback as authoritative sentiment analysis - they are heuristic keyword triage that surface signals for a human or agent to judge.
Unique Capabilities
Team management
- `agent-load` - See each agent's current ticket load broken out by state (open/pending/backlog) so you can balance work before it piles up.
_Reach for this when asked who is overloaded or how work is distributed across the support team right now._
``bash zammad-cli agent-load --json ``
- `agent-trend` - Show whether each agent's queue is growing or shrinking across the last N weeks, with opened-vs-closed deltas.
_Reach for this when asked if the team is keeping up or falling behind over time._
``bash zammad-cli agent-trend --weeks 2 --json ``
- `customer-health` - Rank organizations by a health signal built from open count, oldest-open age, reopen rate, velocity, and last activity.
_Reach for this to spot which customers are struggling before they complain._
``bash zammad-cli customer-health --at-risk --json ``
- `overdue` - Find aging tickets still in new/open/pending past a threshold, weighted by priority so the worst rise to the top.
_Reach for this to catch tickets about to breach SLA or go stale._
``bash zammad-cli overdue --days 3 --json ``
- `escalate` - Surface active tickets whose recent customer messages read as upset (heuristic negative-signal scan), ranked by hits, age, and priority - with the matched snippets shown.
_Reach for this to find customers who sound angry and should be escalated; it is keyword triage with snippets, so you make the final call._
``bash zammad-cli escalate --json ``
- `churn-risk` - Score each organization's churn risk from open backlog, overdue tickets, unanswered pending, and negative-sentiment customer messages, listing the contributing factors.
_Reach for this to get ahead of churn; it surfaces the factors so you can judge and act._
``bash zammad-cli churn-risk --json ``
- `feedback-scan` - Bucket ticket and article text into feature-request, pricing, compliance, and bug themes with the source ticket refs and snippets.
_Reach for this to mine what customers keep asking for across features, pricing, and compliance._
``bash zammad-cli feedback-scan --bucket pricing --json ``
Knowledge Base
- `kb browse` - Print the Knowledge Base as a category/answer tree parsed from the init bundle.
_Reach for this to see the KB structure before reading or searching answers._
``bash zammad-cli kb browse ``
- `kb search` - Text search over KB answer titles and bodies from the live KB init bundle.
_Reach for this to find the right KB answer by keyword._
``bash zammad-cli kb search "restore" --json ``
- `kb get` - Resolve a KB answer id from the init bundle to its full translated body.
_Reach for this to read a KB answer's full content._
``bash zammad-cli kb get 42 ``
Ticket ergonomics
- `ticket note` - Add an internal or partner-visible note to a ticket in one line, with correct content-type defaults.
_Reach for this to log work on a ticket without hand-building the article payload._
``bash zammad-cli ticket note 12345 --body "Investigated, awaiting logs" --internal --dry-run ``
Webhooks (no polling)
Zammad can call this machine when a ticket is created or updated or an article is added, so nothing has to poll it.
registercreates one Zammad webhook and one trigger per event (zammad.ticket.created,zammad.ticket.updated,zammad.article.created). It generates the signature secret and stores it beside your API token, readable only by you;ZAMMAD_WEBHOOK_SECREToverrides it. The secret is never printed:webhooks statusshows only where it comes from.listenbinds to this machine only (127.0.0.1, port 8789) by default and refuses to start without the secret. Every request must carry Zammad'sX-Hub-Signature, checked before the body is read; a delivery it has already seen is dropped, and bodies over 1 MiB are refused.- The webhook carries IDs only. The listener fetches the ticket through the API and records the event, so customer text never travels in the webhook.
- Zammad gives up on a delivery after five attempts over about two minutes. Each time
listenstarts, it first records what changed while it was down. A delivery Zammad gives up on whilelistenis running but cannot be reached (a network outage) is not recorded. - Zammad has to reach the listener. A self-hosted Zammad on the same server works with the default. Zammad on another machine on your LAN needs
listen --addr <lan-ip>:8789 --tls-cert <file> --tls-key <file>and anhttps://endpoint. A Zammad Cloud instance cannot reach a machine on your LAN. - Reach for this when the user wants to react to new or changed tickets. Read with
events list --since <cursor>and keep the returned cursor; runtickets get <id>for a ticket's text. - Over MCP,
events_listreads the recorded events (read-only, no Zammad call).webhooks_registerandwebhooks_unregisterchange Zammad only withconfirm: true.listenis CLI-only.
Command Reference
articles - Read and add ticket articles (notes and emails)
zammad-cli articles by-ticket- List all articles for a ticketzammad-cli articles create- Add an article (note or email) to a ticketzammad-cli articles get- Get a single article by id
groups - Ticket routing groups
zammad-cli groups get- Get a group by idzammad-cli groups list- List all groups
kb - Knowledge Base categories and answers
zammad-cli kb answer-create- Create a KB answer. Pass translations_attributes as JSON, then publish or mark internal.zammad-cli kb answer-delete- Delete a KB answer (requires KB editor permission)zammad-cli kb answer-internal- Mark a KB answer internal (agent-only)zammad-cli kb answer-publish- Publish a KB answer (make it public)zammad-cli kb category-create- Create a KB category. Pass translations_attributes as JSON.zammad-cli kb init- Fetch the full Knowledge Base bundle (categories, answers, translations). Used by 'kb browse/search/get'.
organizations - Read and manage organizations (customers / partners)
zammad-cli organizations create- Create an organizationzammad-cli organizations get- Get an organization by idzammad-cli organizations list- List organizations (paginated)zammad-cli organizations search- Search organizations by name or custom fieldzammad-cli organizations update- Update an organization
overviews - Agent ticket overviews (saved views)
zammad-cli overviews get- Get an overview (and its tickets) by idzammad-cli overviews list- List all overviews
priorities - Ticket priority reference (id -> name map)
zammad-cli priorities- List ticket priorities
states - Ticket state reference (id -> name map)
zammad-cli states- List ticket states
tags - Ticket tags
zammad-cli tags add- Add a tag to an objectzammad-cli tags all- List every tag defined in the instance (vocabulary)zammad-cli tags list- List tags on an object (defaults to a ticket)zammad-cli tags remove- Remove a tag from an object
tickets - Read, search, create, and change Zammad tickets
zammad-cli tickets create- Create a ticket. Provide title, group, a customer, and an initial article.zammad-cli tickets delete- Delete a ticket permanently (requires admin / delete permission)zammad-cli tickets get- Get a ticket by idzammad-cli tickets list- List tickets (paginated)zammad-cli tickets search- Search tickets with Zammad query syntax (e.g. 'state:open owner_id:3')zammad-cli tickets update- Update a ticket (state, priority, owner, title, organization)
users - Read and manage users (agents and customers)
zammad-cli users create- Create a userzammad-cli users get- Get a user by idzammad-cli users list- List users (paginated)zammad-cli users me- Get the authenticated user (auth self-check)zammad-cli users search- Search users by email, name, or query (e.g. organization_id:5)zammad-cli users update- Update a user
agent-load
zammad-cli agent-load- See each agent's current ticket load broken out by state (open/pending/backlog) so you can balance work before it piles up.
agent-trend
zammad-cli agent-trend- Show whether each agent's queue is growing or shrinking across the last N weeks, with opened-vs-closed deltas.
churn-risk
zammad-cli churn-risk- Score each organization's churn risk from open backlog, overdue tickets, unanswered pending, and negative-sentiment customer messages, listing the contributing factors.
customer-health
zammad-cli customer-health- Rank organizations by a health signal built from open count, oldest-open age, reopen rate, velocity, and last activity.
escalate
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/zammad/SKILL.md
Popularity
- Repository stars
- 46
- Repository forks
- 11
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/servosity/msp-skills/zammad)