Skip to content
Back to skills

Pdf Ebook

ASecurity

Convert any file format (markdown, text, HTML) into a professionally styled PDF e-book using WeasyPrint. Supports single files, directories of files, and custom styling. Use when generating PDF deliverables from content files.

  • 2 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added October 26, 2026
content-marketingpythonbash

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 26, 2026

npx -y skills add JoshuaShepherd/my-skills --skill pdf-ebook --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pdf Ebook?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pdf Ebook
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/joshuashepherd-pdf-ebook/badge)](https://www.skillsdirectory.com/skills/joshuashepherd-pdf-ebook)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pdf-ebook
description: Convert any file format (markdown, text, HTML) into a professionally styled PDF e-book using WeasyPrint. Supports single files, directories of files, and custom styling. Use when generating PDF deliverables from content files.
user-invocable: true
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
---

Convert content files to a styled PDF e-book: $ARGUMENTS

$ARGUMENTS should specify: the source file or directory path, and optionally: title, subtitle, author, output path, or style overrides. If no arguments, ask the user.

## Before Starting

1. Identify the source: single file or directory of files
2. If a directory, determine file order (numeric prefixes, alphabetical, or custom)
3. Read source files to understand content structure (headings, tables, lists, images)
4. Check for any existing cover or metadata files

## Process

1. **Gather content** — Read all source files in order. For directories, sort by filename (numeric prefixes respected).
2. **Generate the conversion script** — Write a Python script to `/tmp/pdf_ebook_convert.py` that:
   - Reads and concatenates all markdown/text/HTML files
   - Converts markdown to HTML via the `markdown` Python library (with `tables`, `toc`, `fenced_code`, `meta` extensions)
   - Wraps in a full HTML document with embedded CSS
   - Generates PDF via WeasyPrint
3. **Run the script** — Execute with `python3 /tmp/pdf_ebook_convert.py`
4. **Report** — Show the output path and page count

## Styling Defaults

The default e-book style uses:
- **Page size:** US Letter with 1in margins
- **Body font:** Georgia, serif at 11pt / 1.6 line-height
- **Heading font:** system sans-serif stack
- **Colors:** Dark charcoal text (#1a1a1a), accent for headings (#2c3e50)
- **Tables:** Clean bordered style with subtle header background
- **Page breaks:** Before each H1; avoid breaks inside tables, figures, blockquotes
- **Header/footer:** Running title in header, page numbers in footer
- **Cover page:** First page with title, subtitle, author centered

The user may override any of these via $ARGUMENTS (e.g., "dark theme", "A4 size", "sans-serif body").

## Dependencies

Requires Python packages: `weasyprint`, `markdown`. Both should be installed. If missing, install with `pip3 install weasyprint markdown`.

## Output

Default output path: same directory as source, named `{title-slug}.pdf`. User may specify a custom output path.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.