Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ericwang915/PythonClaw --skill pdf_writergit clone --depth 1 https://github.com/ericwang915/PythonClawWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ericwang915/pythonclaw/pdf_writer)<a href="https://agentmods.dev/skills/ericwang915/pythonclaw/pdf_writer"><img src="https://agentmods.dev/badge/skills/ericwang915/pythonclaw/pdf_writer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ericwang915/pythonclaw/pdf_writer"><img src="https://agentmods.dev/badge/skills/ericwang915/pythonclaw/pdf_writer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00060 | $0.00542 |
| Opus 5.5 | $0.00024 | $0.00217 |
| Sonnet 5.5 | $0.00012 | $0.00108 |
| Haiku 4.5 | $0.00006 | $0.00054 |
Grade A, and why
pdf_writer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
PDF Writer Skill
Create PDF documents from plain text, Markdown, or structured content using fpdf2.
When to Use
✅ USE this skill when:
- "Create a PDF with this text"
- "Write a report as PDF"
- "Convert this markdown to PDF"
- "Generate a PDF document"
- User wants to produce a new PDF file from scratch
When NOT to Use
❌ DON'T use this skill when:
- Editing an existing PDF → use PDF manipulation tools
- Filling PDF forms → use form-filling libraries
- Complex layouts with images/charts → use LaTeX or specialized tools
- Converting PDF to other formats → use
pdf_convert
Usage/Commands
python {skill_path}/write_pdf.py OUTPUT_PATH [options]
Options:
--text "content"— plain text body--file INPUT_FILE— read body from a text/markdown file--title "Title"— document title (shown on first page)--author "Name"— PDF metadata author--font-size 12— base font size (default 12)--landscape— landscape orientation (default portrait)--format json— output result as JSON
Content passed via --text or --file supports lightweight Markdown:
# Heading 1,## Heading 2,### Heading 3- bullet items**bold**and*italic*- Blank lines for paragraph breaks
Examples
- "Create a PDF with this text" →
python {skill_path}/write_pdf.py output.pdf --text "Hello World" - "Write report.md as PDF" →
python {skill_path}/write_pdf.py report.pdf --file report.md --title "Report" - "Generate a landscape PDF" →
python {skill_path}/write_pdf.py wide.pdf --text "..." --landscape
Notes
- Install dependency:
pip install fpdf2 - Output is UTF-8 compatible (supports CJK characters via built-in fonts)
- Maximum recommended body size: ~100 KB of text
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 62 lines · 60 tokens per session scan A 42e12fd39e1e
pdf_writer is a skill published in the GitHub repository ericwang915/PythonClaw (45 stars, last pushed 10d ago), licensed MIT. It adds 60 tokens to every session and 542 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pdf-generator
A document tool that turns Markdown, HTML, plain text, or template data into paginated PDF files. It supports A4 pages, page numbers, automatic page breaks, and Chinese text.
pdf-processor
A tool for working with PDF files: it can read text and tables, combine or split documents, convert pages to images, and show basic file details.
document-suite
A single document-processing toolkit for PDF, Word, Excel, PowerPoint, and Markdown files. It chooses a document-specific handler based on the file type or requested task.
save-as-pdf
Reformat the current HTML design into a paginated, paper-ready PDF. The "Instant" export already gives the user a PDF at the design's native pixel size — this path is for when they want real pages.
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and…
docs-artifact
Use when creating, editing, or reviewing a document for the user (Word, Google Docs, or a document delivered as PDF), or when the task calls for a standalone written deliverable such as a memo, report, proposal, or brief. Also use to answer questions that require inspecting an existing document; not for a short chat…