terminal-print
Installation
SKILL.md
Terminal Print
Print terminal output from iTerm2 to your HP network printer with a single command.
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
When to Use This Skill
Use this skill when:
- Printing terminal output to a network printer
- Creating PDF copies of command-line session output
- Archiving terminal logs in print-friendly format
- Sharing terminal output in meetings or documentation
Quick Start
- Copy terminal output in iTerm2 (Cmd+C)
- Invoke this skill
- Review PDF preview, press Enter to print
How It Works
Clipboard → Strip ANSI → Markdown code block → pandoc/xelatex → PDF → Preview → Print
- ANSI codes stripped: Colors and escape sequences removed for clean B&W output
- Monospace font: DejaVu Sans Mono for proper character alignment
- Landscape orientation: Fits ~120 characters per line
- US Letter paper: Auto-detected from printer settings
Execution
/usr/bin/env bash << 'PRINT_EOF'
SKILL_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/doc-tools}/skills/terminal-print"
bash "$SKILL_DIR/assets/print-terminal.sh"
PRINT_EOF
Options
Run with arguments by modifying the execution block:
/usr/bin/env bash << 'PRINT_EOF'
SKILL_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/doc-tools}/skills/terminal-print"
bash "$SKILL_DIR/assets/print-terminal.sh" --no-preview
PRINT_EOF
| Flag | Description |
|---|---|
--file FILE |
Read from file instead of clipboard |
--no-preview |
Skip PDF preview, print directly |
--no-print |
Generate PDF only, don't send to printer |
-h, --help |
Show help message |
Examples
Print from clipboard (default)
# Copy terminal output in iTerm2, then:
/usr/bin/env bash << 'EOF'
bash "${CLAUDE_PLUGIN_ROOT}/skills/terminal-print/assets/print-terminal.sh"
EOF
Print from file
/usr/bin/env bash << 'EOF'
bash "${CLAUDE_PLUGIN_ROOT}/skills/terminal-print/assets/print-terminal.sh" --file ~/session.log
EOF
Generate PDF only (no print)
/usr/bin/env bash << 'EOF'
bash "${CLAUDE_PLUGIN_ROOT}/skills/terminal-print/assets/print-terminal.sh" --no-print
EOF
Prerequisites
All dependencies are already available on macOS with MacTeX:
| Tool | Purpose | Status |
|---|---|---|
pandoc |
Markdown to PDF | Required |
xelatex |
PDF engine | Required (MacTeX) |
pbpaste |
Clipboard access | Built-in |
lpr |
CUPS printing | Built-in |
Output
- PDF location:
/tmp/terminal-output-YYYYMMDD_HHMMSS.pdf - Markdown source:
/tmp/terminal-YYYYMMDD_HHMMSS.md - Cleanup: macOS automatically cleans
/tmpperiodically
Troubleshooting
"No text in clipboard"
Copy terminal output first using Cmd+C in iTerm2.
"Missing pandoc" or "Missing xelatex"
Install MacTeX: brew install --cask mactex
Printer not found
Check printer status: lpstat -p -d
The default printer is HP_LaserJet_Pro_MFP_3101_3108. Edit the script to change.
Related Skills
- pandoc-pdf-generation - General Markdown to PDF conversion
- asciinema-converter - Convert terminal recordings
Post-Execution Reflection
After this skill completes, check before closing:
- Did the command succeed? — If not, fix the instruction or error table that caused the failure.
- Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
- Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.
Only update if the issue is real and reproducible — not speculative.