markdown-to-pdf

Solid

Convert a markdown file to PDF using mistune + reportlab. Use when the user wants to convert a .md file to PDF, or when another skill needs to produce a PDF from markdown output.

Data & Documents 298 stars 68 forks Updated 6 days ago MIT

Install

View on GitHub

Quality Score: 90/100

Stars 20%
82
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
71
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Markdown to PDF Converter Converts a markdown file to a professionally formatted PDF. Pure Python — no system tools required. ## Dependencies Requires two Python packages (already in `pyproject.toml`): ``` mistune>=3.2 reportlab>=4.0 ``` Install with: `uv sync` (or `pip install mistune reportlab`) ## Instructions ```bash uv run python .claude/skills/markdown-to-pdf/scripts/markdown_to_pdf.py <input.md> [output.pdf] ``` - `input.md` — path to the markdown file (required) - `output.pdf` — output path (optional; defaults to same directory and basename as input) ## Output The script returns JSON with: - `success` — `true` or `false` - `input` — resolved absolute path of the input file - `output` — resolved absolute path of the generated PDF - `error` — error message if `success` is `false` - `generated_at` — NY timezone timestamp - `data_delay` — always `"real-time"` After conversion, tell the user the output PDF path. ## Examples ```bash # Convert sandbox/report.md → sandbox/report.pdf (default output) uv run python .claude/skills/markdown-to-pdf/scripts/markdown_to_pdf.py sandbox/report.md # Explicit output path uv run python .claude/skills/markdown-to-pdf/scripts/markdown_to_pdf.py sandbox/report.md sandbox/AAPL_Report_2026-05-20_1430.pdf ``` ## Supported Markdown - Headings (H1–H3) - Paragraphs, bold, italic - Tables (pipe syntax) - Fenced code blocks - Unordered and ordered lists

Details

Author
staskh
Repository
staskh/trading_skills
Created
5 months ago
Last Updated
6 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category