printer
Manage printers via CUPS on macOS (discover, add, print, queue, status, wake).
Best use case
printer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manage printers via CUPS on macOS (discover, add, print, queue, status, wake).
Teams using printer should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/printer/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How printer Compares
| Feature / Agent | printer | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manage printers via CUPS on macOS (discover, add, print, queue, status, wake).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Printer (CUPS) Control printers on macOS using built-in CUPS commands. No external CLI needed. ## Discover printers ```bash # 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 ``` ## Add a printer (driverless IPP Everywhere) ```bash # 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 ``` ## Print files ```bash 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 ``` ## Queue management ```bash # 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 ``` ## Printer options ```bash # 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 ``` ## Status and diagnostics ```bash # 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' ``` ## Wake printer from sleep ```bash # 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 ``` ## Keep-alive (prevent deep sleep) ```bash # 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. ## Toner levels via SNMP Requires `brew install net-snmp`: ```bash 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. ## Remote UI (web interface) 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 ## Troubleshooting ```bash # 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 ``` ## Notes - 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.
Related Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).