npx skills add ...
npx skills add steveclarke/dotfiles --skill print
Print files on Mac or Linux via `lp` — defaults to double-sided B&W. Supports PDF, markdown (via md-to-pdf), copies, page ranges, color, printer selection.
npx skills add steveclarke/dotfiles --skill print
Print files on Mac or Linux using the lp command with sensible defaults.
To print a markdown file, first convert it to PDF using the /md-to-pdf skill:
The /md-to-pdf skill handles Mermaid diagrams, syntax highlighting, and page numbers.
| Setting | Default | Rationale |
|---|---|---|
| Duplex | Double-sided (long-edge) | Save paper |
| Color | Black & white | Save toner on color printers |
These defaults can be overridden per-request.
| Option | Flag | Example |
|---|---|---|
| Printer | -d <name> | -d HP_LaserJet_4001 |
| Copies | -n <count> | -n 3 |
| Pages | -P <range> | -P 1-5 or -P 1,3,7 |
| Single-sided | -o sides=one-sided | Override duplex |
| Color | -o ColorModel=Color | Override b&w |
| Landscape | -o landscape | Rotate 90° |
| Fit to page | -o fit-to-page | Scale to fit |
Shows all printers and the system default (marked with system default destination:).
The print script at ~/.claude/skills/print/scripts/print wraps lp with the defaults:
Run ~/.claude/skills/print/scripts/print --help for all options.
--color to override b&w defaultThe printer name has changed. Run lpstat -p to see current names.
Not all printers support duplex. Check printer capabilities:
lpstat -p -dlpstat -o # Show pending jobs
lpstat -W completed # Show completed jobscancel <job-id> # e.g., cancel HP_LaserJet_4001-852
cancel -a # Cancel all jobs# Basic usage
~/.claude/skills/print/scripts/print document.pdf
# Specify printer
~/.claude/skills/print/scripts/print document.pdf -d Brother_HL_L3280CDW_series
# Multiple copies
~/.claude/skills/print/scripts/print document.pdf -n 3
# Single-sided color
~/.claude/skills/print/scripts/print document.pdf --single-sided --color
# Page range
~/.claude/skills/print/scripts/print document.pdf -P 1-5lpstat -o # Check status
cancel <job-id> # Cancel stuck job
cupsenable <printer-name> # Re-enable if disabledlpoptions -p <printer-name> -l | grep -i sides