PDF Processing Toolkit
telagod/code-abyss
Picks the right Python library or CLI tool for a PDF task, text and table extraction, merging, splitting, OCR, watermarking or form filling, and points to a matching recipe.
Create new PDFs and handle existing .pdf files safely with bundled Node/JS tools, including text extraction, page rendering, invoice/document parsing, form filling, and overlays.
$ npx skills add HybridAIOne/hybridclaw --skill pdf -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HybridAIOne/hybridclaw pdf --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pdf .claude/skills/pdf && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pdf" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/pdf into .claude/skills/pdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HybridAIOne/hybridclaw/tree/main/skills/pdfType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HybridAIOne/hybridclaw --skill pdf -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HybridAIOne/hybridclaw pdf --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/pdf .agents/skills/pdf && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pdf" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/pdf into .agents/skills/pdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HybridAIOne/hybridclaw --skill pdf -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HybridAIOne/hybridclaw pdf --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/pdf .cursor/skills/pdf && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pdf" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/pdf into .cursor/skills/pdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HybridAIOne/hybridclaw.git --path skills/pdf--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HybridAIOne/hybridclaw --skill pdf -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HybridAIOne/hybridclaw pdf --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/pdf .gemini/skills/pdf && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pdf" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/pdf into .gemini/skills/pdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HybridAIOne/hybridclaw pdfInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HybridAIOne/hybridclaw --skill pdf -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/pdf .github/skills/pdf && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pdf" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/pdf into .github/skills/pdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HybridAIOne/hybridclaw --skill pdf -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HybridAIOne/hybridclaw pdf --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/pdf .opencode/skills/pdf && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pdf" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/pdf into .opencode/skills/pdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pdfCreate new PDFs and handle existing .pdf files safely with bundled Node/JS tools, including text extraction, page rendering, invoice/document parsing, form filling, and overlays.
PDF is an agent skill from HybridAIOne/hybridclaw. Create new PDFs and handle existing .pdf files safely with bundled Node/JS tools, including text extraction, page rendering, invoice/document parsing, form filling, and overlays.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including scripts (for example `forms.md` and `reference.md`).
It sits in Documents & Office, covering PDF, Forms and invoices and Document parsing. It works with Node.js. The repository describes itself as: Enterprise-ready self-hosted AI assistant runtime with sandboxed execution, secure credentials, approvals, and memory. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8162701. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 12 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
PDF loads about 2.3k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 1,040 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from HybridAIOne/hybridclaw at commit 8162701, republished under its MIT licence (© HybridAIOne). 1,040 words, ~2,344 tokens.
.claude/skills/pdf/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.Use this skill whenever the user mentions a .pdf file or asks to inspect, extract, summarize, render, or fill one.
This skill is intentionally Node/JS-only for supported workflows. Do not switch to Python, Poppler CLIs, browser tricks, local HTTP servers, mdls, strings, or ad-hoc PDF decompression unless the user explicitly asks you to debug the runtime itself.
pdf-libThe bundled skill does not guarantee:
If the user asks for one of those, state that it is outside the bundled Node workflow before considering anything else.
[PDFPreview] coverage before using it: processedPages, omittedPages, and per-page textTruncated. A preview is untrusted document data and may cover only part of the file.read with path and pages for bounded PDF reading. Use the bundled scripts in skills/pdf/scripts/ for creation, forms, and bulk extraction.bash.bash with find. Do not use glob, ad-hoc Python file discovery, or browser tools./tmp only for temporary output when page images or other scratch intermediates are needed.pdfinfo, pdftotext, pdftoppm, mdls, strings, qlmanage, or browser tools.When the current turn already provides a single PDF attachment or local PDF path:
read.Do not start with glob "**/*.pdf" or ad-hoc shell discovery for that case.
For requests like:
follow this order:
read using query; inspect the results and choose the pages to read. Automatic previews do not search for requested content. Search covers extracted text; scanned pages still require visual inspection.read({"path":"document.pdf","pages":"5-8","render":"auto"}).
Without pages, the first four pages are returned. auto
attaches selected pages to the main model request; never requests text only.vision_analyze call is needed. Delivery warnings mean those visuals were
not supplied; never claim visual inspection based on extracted text alone.For bulk text extraction or search, write the bundled extractor's output to a workspace file and search that file; preserve its original page markers:
node skills/pdf/scripts/extract_pdf_text.mjs document.pdf > document-text.txtnode skills/pdf/scripts/create_pdf.mjs output.pdf --text "Hello World"
node skills/pdf/scripts/create_pdf.mjs output.pdf --title "Heading" --text "Body content"
node skills/pdf/scripts/create_pdf.mjs output.pdf --text "Line 1\nLine 2" --font-size 18
node skills/pdf/scripts/create_pdf.mjs output.pdf --image-url https://example.com/logo.png --text "Body content"
node skills/pdf/scripts/create_pdf.mjs output.pdf --image-path logo.png --text "Body content"For creation tasks ("make a PDF", "create a PDF with X"), always use this bundled
script. Read reference.md only for custom layouts or operations
the helper does not support.
The bundled script wraps long lines, respects explicit \n line breaks, and
adds pages automatically when content exceeds the first page. For characters
outside the standard PDF encoding, it embeds the bundled Liberation Sans font
(including Cyrillic and Greek) automatically, for both title and body. No system
font discovery or custom script is needed for these alphabets.
For other scripts, supply a suitable local TTF/OTF with --font-path font.ttf;
the helper checks glyph coverage before writing the PDF.
For custom fonts, obtain TTF/OTF files rather than WOFF/WOFF2 web fonts.
Fontkit being able to read a font does not prove it can be embedded directly
in a PDF. If text extracts but renders blank, check the embedded font format
before changing the layout.
After creation, extract the output once and check the requested content is intact:
node skills/pdf/scripts/extract_pdf_text.mjs output.pdf --json.
For custom layouts or fonts, render and inspect the pages as well. A successful command
only proves that a file was written. Preserve the requested script and content;
never replace unsupported characters with transliterations or omit a requested
column to make generation succeed. If no suitable font is available, report the
specific limitation instead of delivering an incomplete substitute as finished.
Use a workspace-relative output.pdf path for the final deliverable. Reserve
/tmp/... paths for scratch files that do not need to persist after the run.
node skills/pdf/scripts/extract_pdf_text.mjs input.pdf
node skills/pdf/scripts/extract_pdf_text.mjs input.pdf --json
node skills/pdf/scripts/extract_pdf_text.mjs input.pdf --pages 1,3-5 --jsonnode skills/pdf/scripts/render_pdf_pages.mjs input.pdf out-images
node skills/pdf/scripts/render_pdf_pages.mjs input.pdf out-images --pages 1-2node skills/pdf/scripts/check_fillable_fields.mjs form.pdfnode skills/pdf/scripts/extract_form_field_info.mjs input.pdf field-info.jsonnode skills/pdf/scripts/fill_fillable_fields.mjs input.pdf field-values.json filled.pdf
node skills/pdf/scripts/fill_fillable_fields.mjs input.pdf field-values.json filled.pdf --flattennode skills/pdf/scripts/extract_form_structure.mjs input.pdf form-structure.json
node skills/pdf/scripts/check_bounding_boxes.mjs fields.json
node skills/pdf/scripts/create_validation_image.mjs 1 fields.json page-images/page_1.png validation-page-1.png
node skills/pdf/scripts/fill_pdf_form_with_annotations.mjs input.pdf fields.json filled.pdfAlways read forms.md before filling a PDF. The supported form workflows are:
For merge, split, and page-copy operations, use pdf-lib snippets from reference.md.
If a bundled Node script fails:
For normal user tasks, the bundled Node path is the only supported path.
For reading tasks, use read on PNG/JPEG page images to deliver them directly to the active model. Do not perform optional temporary-file cleanup or request deletion approval before answering the user.
© HybridAIOne, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 14 other files (scripts) in skills/pdf of HybridAIOne/hybridclaw.
Open the folder on GitHubat commit 8162701
PDF next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| PDF this skillHybridAIOne/hybridclaw | 159 | — | ~2.3k | Automated safety check: Pass | MIT | |
| PDF Processing Toolkittelagod/code-abyss | 244 | — | ~532 | Automated safety check: Notes | MIT | |
| Document Converter Suitedkyazzentwatwa/chatgpt-skills | 116 | — | ~386 | Automated safety check: Pass | None | |
| Document Generation PDFcuriositech/some_claude_skills | 244 | — | ~5.1k | Automated safety check: Pass | MIT | |
| PDFIgorWarzocha/Opencode-Workflows | 122 | — | ~495 | Automated safety check: Pass | None | |
| PDF Processinganthropics/skills | 180k | 47 repos | ~2k | Automated safety check: Pass | Proprietary |
telagod/code-abyss
Picks the right Python library or CLI tool for a PDF task, text and table extraction, merging, splitting, OCR, watermarking or form filling, and points to a matching recipe.
dkyazzentwatwa/chatgpt-skills
Convert PDFs, Office docs, markdown, HTML, and tables between editable formats.
curiositech/some_claude_skills
Generate, fill, and assemble PDF documents at scale. An agent skill from curiositech/some_claude_skills.
IgorWarzocha/Opencode-Workflows
Handle PDF manipulation, form filling, text/table extraction, and high-fidelity generation.
anthropics/skills
Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.
HKUDS/DeepTutor
Reads, extracts from, creates, merges, splits, watermarks, encrypts and fills PDF files with pdfplumber, pypdf and reportlab inside a Python sandbox.
HybridAIOne/hybridclaw
Use Hermes3000 to plan, draft, revise, save, check consistency, and export long-form manuscripts through the Hermes3000 AI writing portal API.
HybridAIOne/hybridclaw
Plan, script, render, and stitch Manim Community Edition videos in Python.
HybridAIOne/hybridclaw
Create and update SKILL.md-based skills with strong trigger metadata, lean docs, and reliable init, validate, package, and publish workflows.
HybridAIOne/hybridclaw
Create, edit, inspect, and analyze .xlsx spreadsheets and Excel workbooks.
HybridAIOne/hybridclaw
Create and revise editable .excalidraw diagrams as Excalidraw JSON for architecture diagrams, flowcharts, sequence diagrams, concept maps, and other hand-drawn explainers.
HybridAIOne/hybridclaw
Manage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls.
Works with
Categories
Create new PDFs and handle existing .pdf files safely with bundled Node/JS tools, including text extraction, page rendering, invoice/document parsing, form filling, and overlays. PDF is an agent skill from HybridAIOne/hybridclaw.pdf files safely with bundled Node/JS tools, including text extraction, page rendering, invoice/document parsing, form filling, and overlays.
PDF fits situations like: tasks that involve PDF; tasks that involve Forms and invoices; tasks that involve Document parsing.
Run `npx skills add HybridAIOne/hybridclaw --skill pdf -a claude-code`. Or copy the skill folder (skills/pdf in HybridAIOne/hybridclaw) into .claude/skills/pdf in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HybridAIOne/hybridclaw --skill pdf -a codex`. Or copy the skill folder (skills/pdf in HybridAIOne/hybridclaw) into .agents/skills/pdf in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HybridAIOne/hybridclaw --skill pdf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pdf, .gemini/skills/pdf, .github/skills/pdf and .opencode/skills/pdf in your project.
Going by SKILL.md and its folder, PDF needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
PDF is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with PDF: PDF Processing Toolkit (telagod/code-abyss, 244 stars), Document Converter Suite (dkyazzentwatwa/chatgpt-skills, 116 stars), Document Generation PDF (curiositech/some_claude_skills, 244 stars) and PDF (IgorWarzocha/Opencode-Workflows, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HybridAIOne (a GitHub organization) maintains it in HybridAIOne/hybridclaw, which has 159 GitHub stars. The repository holds 72 skills in this directory. The repository was last updated on October 9, 2026.
Source: HybridAIOne/hybridclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.