make-pdf
Turn a markdown file into a publication-quality PDF — cover page, clickable table of contents with page numbers, running headers, page numbers, curly quotes…
Skill by sejas
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sejas-make-pdf
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/make-pdf
Tools it pre-approves 3
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash,Read,AskUserQuestion
What's inside
- Skill name
make-pdf- Description
- Turn a markdown file into a publication-quality PDF — cover page, clickable table of contents with page numbers, running headers, page numbers, curly quotes, syntax-highlighted code, optional DRAFT watermark. Use when asked to "make a PDF", "export to PDF", "turn this markdown into a PDF", or "generate a document".
- License
- MIT
- Allowed tools
- Bash,, Read,, AskUserQuestion
- Instructions
- 47 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Files (2)
- SKILL.md
- md2pdf.py
SKILL.md (first lines)
# make-pdf ```bash uv run --quiet --with weasyprint --with markdown --with pygments \ ~/.claude/skills/make-pdf/md2pdf.py INPUT.md ``` Writes `INPUT.pdf` next to the input and prints the path. Then `open` it, or read it back with the Read tool to check the result before handing it over. ## Options | Flag | Effect | |---|---| | `-o OUT.pdf` | Output path (default: input path with `.pdf`) | | `--title` / `--subtitle` / `--author` | Override the cover; otherwise taken from YAML front matter, then the first `# H1`, then the filename | | `--draft` | Diagonal DRAFT watermark on every page | | `--no-cover` | Skip the cover page | | `--no-toc` | Skip the table of contents | Front matter (`title`, `subtitle`/`description`, `author`, `date`) is consumed for the cover and stripped from the body. A leading `# H1` that repeats the title is dropped so the cover doesn't say it twice. ## Gotchas - **Needs `uv` and Homebrew `pango`.** WeasyPrint links against pango at runtime; without it the import fails with a `libgobject`/`libpango` load error — fix with `brew install pango`. `uv run --with` builds a cached ephemeral env, so nothing is installed globally and the first run takes ~10s, later ones ~2s. - **WeasyPrint, not headless Chrome, on purpose.** Running headers, `counter(page)`, and the TOC's page numbers are `@page` margin boxes and `target-counter()`. Chrome ignores both, so a Chrome-based pipeline silently drops exactly the features that make the output look printed. - **Relative image paths resolve against the markdown file's directory.** Images from elsewhere need absolute paths. - **Mermaid and other JS-rendered diagrams don't render** — there is no JS engine in the pipeline. Convert them to SVG/PNG first and reference the image. - Everything visual lives in one `STYLESHEET` string at the top of `md2pdf.py`. For a different look, edit it there — there is no theme system and no config file. ## Vault note For a note out of the Obsidian vault, wikilinks (`[[slug]]`) pass through as literal text — strip or expand them first if the PDF is going to someone outside the vault.
From sejas/ai-code-skills, MIT.
More from sejas/ai-code-skills
- 0.603score
gpt-image
sejas
Generate and edit images with OpenAI GPT Image 2.5 via fal.ai.
SkillAFreshness: A★ 2Claude Code +9 - 0.557score
id-photo-sheet
sejas
Use when the user needs ID/passport/carnet photos (foto carnet, foto de carné, DNI, visa) at an exact mm size (e.g.
SkillBFreshness: B★ 2Claude Code +9 - 0.507score
ai-radar
sejas
Use when Antonio wants to catch up on frontier AI — "what's new in AI", "AI radar", "what is karpathy working on", "AI trends", "research digest", "what…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
brainstorming-names
sejas
Use when the user wants to name or rename something — a product, feature, brand, project, command, or company — or asks to "brainstorm names", "find a better…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
first-time-contributors
sejas
Use when checking whether recently merged PRs in a GitHub repository include first-time contributors — e.g.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
pr-leaderboard
sejas
Use when asked to analyze, rank, or explore merged PRs in a GitHub repo — "who merged what this week", "PR leaderboard", "rank contributors", "top authors"…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
design-review
sejas
Designer's-eye QA of a running UI — screenshots it at real breakpoints, then reports spacing, hierarchy, alignment, contrast, state and motion defects ranked…
SkillCFreshness: C★ 2Claude Code +9 - 0.503score
og-inspect
sejas
Inspect a URL's Open Graph and Twitter Card metadata and render a styled HTML page showing how the link unfurls on Facebook, X/Twitter, LinkedIn…
SkillCFreshness: C★ 2Claude Code +9 - 0.487score
mac-cleanup
sejas
This skill should be used when the user asks to "clean up my Mac", "free disk space", "my disk is full", "what's taking up space", "reclaim storage", "offload…
SkillCFreshness: C★ 2Claude Code +9 - 0.443score
commit
sejas
Write a commit message and create a git commit.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
presentation
sejas
Generate a Marp presentation from an intent's spec.
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
ai-prs
sejas
List all open PRs targeting the Studio AI command with draft status, approval state, and requested reviewers
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jul 25, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/sejas/ai-code-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sejas
- 0.603score
gpt-image
sejas
Generate and edit images with OpenAI GPT Image 2.5 via fal.ai.
SkillAFreshness: A★ 2Claude Code +9 - 0.557score
id-photo-sheet
sejas
Use when the user needs ID/passport/carnet photos (foto carnet, foto de carné, DNI, visa) at an exact mm size (e.g.
SkillBFreshness: B★ 2Claude Code +9 - 0.507score
first-time-contributors
sejas
Use when checking whether recently merged PRs in a GitHub repository include first-time contributors — e.g.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
ai-radar
sejas
Use when Antonio wants to catch up on frontier AI — "what's new in AI", "AI radar", "what is karpathy working on", "AI trends", "research digest", "what…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
brainstorming-names
sejas
Use when the user wants to name or rename something — a product, feature, brand, project, command, or company — or asks to "brainstorm names", "find a better…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
pr-leaderboard
sejas
Use when asked to analyze, rank, or explore merged PRs in a GitHub repo — "who merged what this week", "PR leaderboard", "rank contributors", "top authors"…
SkillCFreshness: C★ 2Claude Code +9
Cite this page
make-pdf skill. Agent Mart. https://agentmart.dev/skills/sejas-make-pdf (last updated 2026-10-24)