Date: 2026-03-01
Replaces: linux-sysadmin-mcp (TypeScript MCP server)
Approach: Pure markdown skills — no build step, no MCP server
The existing linux-sysadmin-mcp plugin wraps shell commands in an MCP server that provides structured output, knowledge profiles, and safety gating. Analysis showed that Claude's Bash tool + skill-provided knowledge achieves the same outcomes with zero infrastructure overhead. The MCP server's 18 remaining tools (after an earlier cull of 18 redundant ones) reduce to skills that give Claude the same knowledge directly.
One plugin containing:
| Component | Count | Purpose |
|---|---|---|
| Discovery skill | 1 | linux-overview: broad triggers, categorized index of all tools/services |
| Service skills | ~30 | nginx, sshd, Docker, PostgreSQL, etc. |
| CLI tool skills | ~25 | nmap, btop, strace, tcpdump, etc. |
| Filesystem skills | ~7 | ZFS, Btrfs, ext4, XFS, LVM, mdadm, exFAT/NTFS |
| Other skills | ~13 | systemd, cron, Certbot, self-hosted apps, IoT |
| Command | 1 | /sysadmin: guided system architecture workflow |
| Reference files | ~150+ | Annotated configs, cheatsheets, property refs, doc links |
plugins/linux-sysadmin/
├── .claude-plugin/
│ └── plugin.json
├── commands/
│ └── sysadmin.md
├── skills/
│ ├── linux-overview/
│ │ └── SKILL.md
│ ├── nginx/
│ │ ├── SKILL.md
│ │ └── references/
│ │ ├── nginx.conf.annotated
│ │ ├── common-patterns.md
│ │ └── docs.md
│ ├── docker/
│ │ ├── SKILL.md
│ │ └── references/
│ │ ├── daemon.json.annotated
│ │ ├── dockerfile-patterns.md
│ │ ├── compose-patterns.md
│ │ └── docs.md
│ ├── zfs/
│ │ ├── SKILL.md
│ │ └── references/
│ │ ├── zfs-properties.md
│ │ ├── common-operations.md
│ │ └── docs.md
│ ├── nmap/
│ │ ├── SKILL.md
│ │ └── references/
│ │ ├── cheatsheet.md
│ │ └── docs.md
│ └── ...
├── README.md
└── CHANGELOG.md
- Discovery skill (
linux-overview): triggers on broad terms ("web server", "database", "what should I use for", "monitoring", "backup solution") - Service skills: trigger on service name + closely related keywords (e.g., nginx skill triggers on "nginx", "reverse proxy", "vhost")
- CLI tool skills: trigger on tool name + task keywords (e.g., nmap triggers on "nmap", "port scan", "network scan")
- Filesystem skills: trigger on filesystem name + related operations (e.g., ZFS triggers on "zfs", "zpool", "zfs snapshot")
Skills only enter context when triggered. Installing ~75 skills has zero cost until a relevant query arrives.
Sections: Identity (unit, config paths, logs, user), Key Operations (validate, reload, test), Expected Ports, Health Checks, Common Failures (table: symptom/cause/check), Pain Points, References pointer.
Target length: 100-200 lines.
Sections: Install (per-distro), Essential Invocations (table: goal/command), Output Interpretation, Gotchas, References pointer.
Target length: 60-120 lines.
Sections: Core Concepts, Key Commands (table: operation/command), Important Properties (table: property/values/default/notes), Gotchas, References pointer.
Target length: 80-150 lines.
Complete default config with every directive commented. Each option includes: what it does, default value, recommended value, and when to change it. Named after the actual config file (e.g., nginx.conf.annotated, daemon.json.annotated).
For CLI tools. Organized by task (not alphabetically). Tables with command + what it does. Includes output format options where relevant.
For filesystems and tools with extensive option sets. Tables with property/values/default/notes. Separate file for common operations with step-by-step commands.
Every skill gets one. Sections: Official (reference docs, guides), Community (tutorials, generators), Man pages. Links only, no duplicated content.
Interactive guided workflow for system architecture. Phases:
- Purpose: homelab, VPS, dedicated server, dev machine, edge gateway
- Requirements: multi-select capabilities (web, DB, DNS, VPN, monitoring, backups, containers, mail, file sharing, media, home automation, CI/CD)
- Security posture: minimal (home network), moderate (some exposed), hardened (public-facing)
- Constraints: existing stack, distro, hardware limits
- Experience level: adjusts recommendation complexity (Caddy vs nginx, docker-compose vs bare-metal)
- Output: recommended stack with rationale, ordered setup sequence, offer to deep-dive into any component
The command does not execute setup. It consults, recommends, and hands off to individual skills.
nginx, Apache (httpd), Caddy, Traefik, HAProxy
Docker, Docker Compose, Podman, Proxmox VE, LXC/LXD
unbound, Pi-hole, BIND9, dnsmasq, CoreDNS
ufw, firewalld/nftables, fail2ban, CrowdSec, WireGuard, OpenVPN, Tailscale
PostgreSQL, MariaDB/MySQL, Redis, SQLite
Prometheus, Grafana, Node Exporter, Loki, Netdata
systemd, journald/journalctl, cron + systemd-timers, logrotate, chrony/NTP, OpenSSH (sshd)
rsync, Borg, Rclone
ZFS, Btrfs, ext4, XFS, LVM, mdadm/RAID, exFAT/NTFS
NFS, Samba (SMB), DHCP (isc-dhcp-server), Avahi (mDNS)
Postfix, Dovecot, OpenDKIM
Nextcloud, Gitea/Forgejo, Vaultwarden, Jellyfin, Immich
Mosquitto (MQTT), Zigbee2MQTT, Z-Wave JS, Node-RED
Certbot (Let's Encrypt), step-ca
btop, htop/top, glances, iotop, vmstat, iostat
nmap, iperf3, ss/netstat, tcpdump, mtr, dig/bind-utils (nslookup, host)
df, ncdu, lsblk, smartctl, fdisk/parted
strace, lsof, perf, dmesg
jq, ripgrep, awk/sed, column
curl/wget, tmux, openssl (CLI), age, ssh-keygen
Total: ~75 skills + 1 discovery skill + 1 command
- Delete
plugins/linux-sysadmin-mcp/entirely - Remove its entry from
.claude-plugin/marketplace.json - Remove its CI workflow from
.github/workflows/ - Create
plugins/linux-sysadmin/with new structure - Add new marketplace entry for
linux-sysadmin - No new CI needed (markdown-only plugin)