markdown-to-pdf
staskh/trading_skills/.claude/skills/markdown-to-pdf/SKILL.md
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.
Skill368 starsChanged 17 days ago
- Installs packages
---
name: markdown-to-pdf
description: 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.
user_invocable: true
arguments:
- name: file
description: Path to the input markdown file
required: true
- name: output
description: Output PDF path. Defaults to same directory and basename as the input file.
required: false
dependencies: ["trading-skills"]
---
# 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
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

