Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Manage printers via CUPS on macOS (discover, add, print, queue, status, wake).
Manage printers via CUPS on macOS (discover, add, print, queue, status, wake).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Control printers on macOS using built-in CUPS commands. No external CLI needed.
# Network printers (Bonjour/AirPrint) dns-sd -B _ipp._tcp . 2>/dev/null & sleep 3; kill $! 2>/dev/null # Get printer details (host, port, resource path) dns-sd -L "Printer Name" _ipp._tcp . 2>/dev/null & sleep 3; kill $! 2>/dev/null # CUPS-native discovery lpstat -e # available network destinations lpinfo --include-schemes dnssd -v # dnssd backends # IPP discovery ippfind --timeout 5
# Recommended: driverless queue lpadmin -p MyPrinter -E -v "ipp://printer.local:631/ipp/print" -m everywhere # Set as default lpadmin -d MyPrinter # Enable SNMP supply reporting (toner levels) sudo lpadmin -p MyPrinter -o cupsSNMPSupplies=true
lp filename.pdf # to default printer lp -d MyPrinter filename.pdf # specific printer lp -d MyPrinter -n 2 file.pdf # 2 copies lp -d MyPrinter -o sides=two-sided-long-edge file.pdf # duplex lp -d MyPrinter -o media=letter file.pdf lp -d MyPrinter -o ColorModel=Gray file.pdf # grayscale # Print text directly echo "Hello World" | lp -d MyPrinter
# Check status lpstat -p MyPrinter # printer status lpstat -o MyPrinter # queued jobs lpstat -t # everything lpq -P MyPrinter # BSD-style queue view # Cancel jobs cancel JOB_ID cancel -a MyPrinter # cancel all # Enable/disable cupsenable MyPrinter # resume printing cupsdisable MyPrinter # pause printer cupsaccept MyPrinter # accept new jobs cupsreject MyPrinter # reject new jobs
# List available options for a printer lpoptions -p MyPrinter -l # Set default options (per-user) lpoptions -p MyPrinter -o sides=two-sided-long-edge # Set server-side defaults sudo lpadmin -p MyPrinter -o sides-default=two-sided-long-edge
# IPP status query (detailed) ipptool -t ipp://PRINTER_IP/ipp/print get-printer-attributes.test # Filter for key info ipptool -t ipp://PRINTER_IP/ipp/print get-printer-attributes.test \ | grep -iE 'printer-state|marker|supply|media|error'
# IPP poke (usually wakes the printer) ipptool -q -T 5 ipp://PRINTER_IP/ipp/print get-printer-attributes.test # HTTP poke (wakes web UI stack) curl -s -m 5 http://PRINTER_IP/ >/dev/null # TCP connect test nc -zw2 PRINTER_IP 631
# Poll every 5 minutes (runs in foreground) ipptool -q -T 3 -i 300 ipp://PRINTER_IP/ipp/print get-printer-attributes.test For persistent keep-alive, create a launchd agent.
Requires brew install net-snmp: snmpwalk -v2c -c public PRINTER_IP 1.3.6.1.2.1.43.11.1.1 Note: SNMP may be disabled on the printer. Check Remote UI settings.
Most network printers expose a web UI at http://PRINTER_IP/ for: Sleep/timer settings (Settings > Timer Settings > Auto Sleep Time) Network protocol config (enable/disable IPP, SNMP, raw 9100) Consumables status
# Printer stuck/disabled? Re-enable it cupsenable MyPrinter # Check device URI lpstat -v MyPrinter # Remove and re-add printer lpadmin -x MyPrinter lpadmin -p MyPrinter -E -v "ipp://..." -m everywhere # CUPS error log tail -f /var/log/cups/error_log
Prefer ipp:// or ipps:// URIs over raw 9100 or LPD -m everywhere auto-configures from printer's IPP capabilities Option names vary by printer; use lpoptions -l to discover Sleep settings are best configured via printer's Remote UI Auto-sleep (1 min) keeps services alive - print jobs wake the printer automatically If the printer is completely unresponsive (IPP port closed, HTTP timeout), it's likely in deep sleep or powered off. Message the user to check/wake the printer physically.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.