Pdf It — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Pdf It (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Convert a Claude session, research artifact, or markdown blob into a designed PDF: cover page, auto-generated table of contents, styled body, page-numbered footer. One tool call.
Trigger on any of the following (or close variations):
This skill requires the pdf-it-mcp MCP server. If it is not connected, prompt the user to install and connect it first (see Setup below).
Do NOT fall back to Chrome headless (--print-to-pdf), cupsfilter, wkhtmltopdf, pandoc, or LaTeX. Those bypass the cover, TOC, page-break, and embedded-font logic this server provides. If generate_pdf errors, fix the input and retry. Don't switch tools.
generate_pdf({
content: "<markdown content>",
title: "<document title>",
author: "<author name>"
})The PDF saves to ~/Documents/pdf-it/{slug}-{timestamp}.pdf and the path is returned.
| Parameter | Required | Description |
|---|---|---|
content | Yes | Markdown string to convert |
title | No | Shown on cover page and footer |
author | No | Shown on cover page |
output_path | No | Custom output path. Absolute (/Users/...) or tilde-prefixed (~/Desktop/x.pdf) both work |
template | No | research-report (default) or plain |
generate_pdf with the content and any available metadata.User: Save this as a PDF Claude: Generating PDF with the research-report template… (calls generate_pdf) Claude: Done. Your PDF is at ~/Documents/pdf-it/my-research-2026-06-07T14-30-00.pdf
npm install -g pdf-it-mcpOr run on demand with npx -y pdf-it-mcp.
Claude Desktop, Claude Code, Cursor, Cline, Continue, Zed, and Goose all use the same shape:
{
"mcpServers": {
"pdf-it": {
"command": "npx",
"args": ["-y", "pdf-it-mcp"]
}
}
}For Claude Code specifically:
claude mcp add pdf-it -- npx -y pdf-it-mcp@react-pdf/renderer) and all fonts (Newsreader, JetBrains Mono, DM Sans) ship inside the package.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.