From network-cups
Use when mDNS discovery fails or the user wants to scan all devices on the subnet.
How this skill is triggered — by the user, by Claude, or both
Slash command
/network-cups:discover-printers-arpThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scan the local subnet using ARP to find all active devices, then identify likely printers by MAC OUI (vendor prefix).
Scan the local subnet using ARP to find all active devices, then identify likely printers by MAC OUI (vendor prefix).
--interface — specific network interface (e.g. eth0; auto-detected if unset)--vendor-filter — filter by vendor name (e.g. "HP" to show only HP devices)Auto-detect interface. If --interface not provided, derive the primary LAN interface:
IFACE=$(ip -o -4 route show to default | awk '{print $5; exit}')
echo "Scanning on interface: $IFACE"
Stop if no default route found; ask user to specify --interface manually.
Check for root/sudo. Test if arp-scan is installed:
command -v arp-scan >/dev/null || { echo "arp-scan not found. Install with: sudo apt-get install arp-scan"; exit 1; }
If not installed, stop and show the apt command.
Prompt for sudo if needed. If not running as root, show:
This scan requires sudo privilege to access raw network sockets.
Running: sudo arp-scan --localnet -i <interface>
Run ARP scan. Execute:
sudo arp-scan --localnet -i "$IFACE" 2>/dev/null
Parse output and identify printers. For each line with an IP and MAC, cross-reference the MAC OUI (first 3 octets) against a built-in vendor list:
08:00:69 → Xerox08:52:BA → HP1C:23:62 → HP4C:80:93 → Brother74:6F:F7 → Epson5C:F9:38 → CanonA4:B6:D3 → Kyocera00:00:48 → Ricoh00:1A:80 → Samsung00:14:85 → LexmarkFormat as table:
IP MAC Vendor Likely Printer?
192.168.1.50 08:52:BA:xx:xx:xx HP Yes
192.168.1.75 4C:80:93:xx:xx:xx Brother Yes
192.168.1.100 52:54:00:xx:xx:xx QEMU No
...
Apply vendor filter. If --vendor-filter provided, show only matching rows.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin network-cupsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.