| name | paper |
| description | Use this skill when the user asks to "print markdown", "print document", "pretty print", "paper", "export to print", "markdown to printer", "print conversation", "print chat", or wants to print Claude's output beautifully. Also triggers on Korean commands like "ํ๋ฆฐํธํด์ค", "๋ฝ์์ค", "์ถ๋ ฅํด์ค", "์ธ์ํด์ค", "๋งํฌ๋ค์ด ์ถ๋ ฅ", "๋ฌธ์ ๋ฝ๊ธฐ", "์์๊ฒ ์ถ๋ ฅ", "ํ๋ฆฐํฐ๋ก ๋ณด๋ด์ค", "๋ํ ํ๋ฆฐํธ", "๋ํ ์ถ๋ ฅ", "๋ํ ๋ฝ๊ธฐ", "์ฑํ
์ถ๋ ฅ", or any Korean request for printing documents or conversations. |
| version | 1.0.0 |
Paper - Markdown Print Skill
This skill enables beautiful printing of markdown documents with customizable templates.
Capabilities
- Convert markdown to styled HTML
- Open OS print dialog for direct printing
- Support multiple templates (B&W friendly, color, minimal)
- Syntax highlighting for code blocks
- Print Claude Code conversations with beautiful formatting
Templates
| Template | Style | Best For |
|---|
default | Clean, professional | B&W printers, general documents |
report | Colorful, headers/footers | Color printers, formal reports |
minimal | Compact, ink-saving | Draft printing, reference sheets |
Workflow
Step 1: Identify the source
Determine what the user wants to print:
- Explicit file path - User provides a
.md file path
- Conversation - User wants to print Claude Code conversation (
.jsonl file)
- Recent output - User wants to print Claude's recent markdown output
- Unclear - Ask the user using AskUserQuestion
Step 2: Select template
Guide template selection based on user's printer or preference:
- B&W printer โ Recommend
default or minimal
- Color printer โ Recommend
report
- Quick draft โ Recommend
minimal
- Formal document โ Recommend
report
If unclear, ask using AskUserQuestion with these options:
default - Clean document (B&W friendly)
report - Professional report (color)
minimal - Ink-saving (B&W)
Step 3: Execute print
Run the print command:
For markdown files:
cd ${CLAUDE_PLUGIN_ROOT} && node scripts/paper.mjs "<file_path>" --template <template>
For conversations:
cd ${CLAUDE_PLUGIN_ROOT} && node scripts/paper.mjs --conversation --latest --template <template>
cd ${CLAUDE_PLUGIN_ROOT} && node scripts/paper.mjs --conversation "<path_to_jsonl>" --template <template>
Step 4: Inform user
Let user know:
- Browser window will open with print dialog
- They can select printer and adjust settings
- Close browser when done
Example Conversations
Direct file print
User: Print README.md
Assistant: [Executes /paper README.md]
Template selection
User: I want to print this report for a meeting
Assistant: For a formal meeting document, I recommend the 'report' template
which includes headers, page numbers, and professional styling.
[Executes with --template report]
Printer type hint
User: Print this on my black and white printer
Assistant: [Executes with --template default or minimal]
Conversation printing (๋ํ ํ๋ฆฐํธ)
User: Print our conversation / ๋ํ ํ๋ฆฐํธํด์ค
Assistant: [Executes with --conversation --latest]
Specific conversation file
User: Print the conversation from ~/.claude/projects/.../00abc123.jsonl
Assistant: [Executes with --conversation "<path>"]
Conversation Printing Feature
Print Claude Code conversations with beautiful formatting:
- Claudy icon (๐ค) for Claude's messages
- Developer icon (๐จโ๐ป) for user messages
- Markdown rendering for all message content
- Code syntax highlighting preserved
- Tool usage and results displayed clearly
Conversation File Location
Claude Code stores conversations in:
~/.claude/projects/<project_hash>/<session_id>.jsonl
Use --latest to automatically find the most recent conversation.
Technical Details
- Engine: Playwright (Chromium)
- Markdown parser: marked with highlight.js
- Output: Direct to OS print dialog
- Temporary files: Auto-cleaned after printing