Analyzing Malicious PDF With Peepdf
mukul975/Anthropic-Cybersecurity-Skills
Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects.
Audit PDF files for metadata leakage, page count, encryption, JavaScript, embedded files, and version.
$ npx skills add borghei/Claude-Skills --skill pdf-toolkit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borghei/Claude-Skills pdf-toolkit --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/borghei/Claude-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/documents/pdf-toolkit .claude/skills/pdf-toolkit && 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-toolkit" agent skill from https://github.com/borghei/Claude-Skills/tree/main/documents/pdf-toolkit into .claude/skills/pdf-toolkit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf-toolkit", 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/borghei/Claude-Skills/tree/main/documents/pdf-toolkitType 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 borghei/Claude-Skills --skill pdf-toolkit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borghei/Claude-Skills pdf-toolkit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/documents/pdf-toolkit .agents/skills/pdf-toolkit && 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-toolkit" agent skill from https://github.com/borghei/Claude-Skills/tree/main/documents/pdf-toolkit into .agents/skills/pdf-toolkit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf-toolkit", 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 borghei/Claude-Skills --skill pdf-toolkit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borghei/Claude-Skills pdf-toolkit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/documents/pdf-toolkit .cursor/skills/pdf-toolkit && 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-toolkit" agent skill from https://github.com/borghei/Claude-Skills/tree/main/documents/pdf-toolkit into .cursor/skills/pdf-toolkit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf-toolkit", 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/borghei/Claude-Skills.git --path documents/pdf-toolkit--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 borghei/Claude-Skills --skill pdf-toolkit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borghei/Claude-Skills pdf-toolkit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/documents/pdf-toolkit .gemini/skills/pdf-toolkit && 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-toolkit" agent skill from https://github.com/borghei/Claude-Skills/tree/main/documents/pdf-toolkit into .gemini/skills/pdf-toolkit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf-toolkit", 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 borghei/Claude-Skills pdf-toolkitInstalls 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 borghei/Claude-Skills --skill pdf-toolkit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/documents/pdf-toolkit .github/skills/pdf-toolkit && 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-toolkit" agent skill from https://github.com/borghei/Claude-Skills/tree/main/documents/pdf-toolkit into .github/skills/pdf-toolkit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf-toolkit", 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 borghei/Claude-Skills --skill pdf-toolkit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install borghei/Claude-Skills pdf-toolkit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/documents/pdf-toolkit .opencode/skills/pdf-toolkit && 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-toolkit" agent skill from https://github.com/borghei/Claude-Skills/tree/main/documents/pdf-toolkit into .opencode/skills/pdf-toolkit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pdf-toolkit", 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.
pdf-toolkitAudit PDF files for metadata leakage, page count, encryption, JavaScript, embedded files, and version.
PDF Toolkit is an agent skill from borghei/Claude-Skills. Audit PDF files for metadata leakage, page count, encryption, JavaScript, embedded files, and version. Use before sending a PDF externally, when redacting sensitive metadata, or running a PDF security review.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts, reference files and assets (for example `assets/pdf_handoff_checklist.md`, `references/pdf_handoff_guide.md` and `scripts/pdf_auditor.py`).
It sits in Documents & Office, covering PDF and Security review. It works with JavaScript. The repository describes itself as: 385 AI skills, 77 expert agents, and 900 stdlib Python tools for every team: engineering, PM, marketing, C-level, compliance, business ops, research, and a LinkedIn toolkit… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c9a1487. 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 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom 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 Toolkit loads about 1.4k tokens when it runs, and up to ~2.5k if it reads all its reference files. Until then it costs about 55 tokens; SKILL.md has 630 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 borghei/Claude-Skills at commit c9a1487, republished under its MIT licence (© borghei). 630 words, ~1,364 tokens.
.claude/skills/pdf-toolkit/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Audit .pdf files for metadata, page count, encryption status, embedded JavaScript, embedded files, and PDF version — using the standard library only.
pdf, pdf audit, pdf metadata, pdf review, pdf leakage, pdf security, redaction, document handoff
Before running the audit, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
python scripts/pdf_auditor.py contract.pdfOutputs: PDF version, page count, file size, metadata (Author, Title, Producer, Creator, dates), encryption status, embedded JavaScript indicators, embedded file indicators.
Goal: Stop leaking author identity, prior client names, or document history when handing a PDF to an external party.
Steps:
python scripts/pdf_auditor.py document.pdfAuthor matches the sender (not "Bob's intern" from a prior project)Title matches the document, not a leftover working titleProducer doesn't reveal an internal-only PDF toolCreationDate and ModDate are reasonable for the dealTime Estimate: 2-3 minutes per document.
Goal: Decide whether a received PDF can be opened safely on a managed laptop.
Steps:
Time Estimate: 1-2 minutes per inbound document.
Goal: Audit every PDF in a folder before zipping for a customer or partner.
Steps:
for f in *.pdf; do python scripts/pdf_auditor.py "$f" --json; done > audit.jsonlTime Estimate: 1-2 minutes per file.
Reads a PDF using stdlib parsing — no pypdf or pdfplumber required. Detects:
/Type /Page object scan)/Encrypt reference present)/JS, /JavaScript, /AA keys)/EmbeddedFiles)python scripts/pdf_auditor.py document.pdf
python scripts/pdf_auditor.py document.pdf --jsonLimits:
pdfplumber or pypdf separately.references/pdf_handoff_guide.md — What to scrub from PDFs before external send; PDF/A and PDF/UA basics; common leakage patternsassets/pdf_handoff_checklist.md — Pre-send PDF sign-off checklistPublic-Report.pdf can carry private metadata indistinguishable to the human eye.legal/ for redacted contract handoffsc-level-advisor/board-deck-builder for board pack handoffmarketing/ for whitepaper / case-study handoff© borghei, 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 3 other files (scripts, references, assets) in documents/pdf-toolkit of borghei/Claude-Skills.
Open the folder on GitHubat commit c9a1487
PDF Toolkit 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 Toolkit this skillborghei/Claude-Skills | 874 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Analyzing Malicious PDF With Peepdfmukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~799 | Automated safety check: Pass | Apache-2.0 | |
| Jev SEOAgriciDaniel/jev-seo | 515 | — | ~2.5k | Automated safety check: Notes | MIT | |
| PDF Extraction Fallback 80956bHKUDS/OpenSpace | 7.7k | — | ~1.8k | Automated safety check: Pass | MIT | |
| PDF Extraction FallbacksHKUDS/OpenSpace | 7.7k | — | ~1.8k | Automated safety check: Pass | MIT | |
| PDF Extraction Fallbacks 7d54a9HKUDS/OpenSpace | 7.7k | — | ~2k | Automated safety check: Pass | MIT |
mukul975/Anthropic-Cybersecurity-Skills
Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects.
AgriciDaniel/jev-seo
Full live SEO audit of any website from its homepage URL, powered by Jev (TypeSafe's System One model).
HKUDS/OpenSpace
Multi-fallback PDF download and text extraction with early failure detection
HKUDS/OpenSpace
Multi-fallback PDF/text extraction with early failure detection and sequential tool fallbacks
HKUDS/OpenSpace
Multi-fallback PDF extraction with sequential approaches and early failure detection
SimplePDF/simplepdf-embed
Edit and fill PDF documents. An agent skill from SimplePDF/simplepdf-embed.
borghei/Claude-Skills
Run delivery when AI coding and ops agents take tickets. An agent skill from borghei/Claude-Skills.
borghei/Claude-Skills
Check AI-generated marketing content and reviews for required disclosures under the EU AI Act, FTC rules and platform AI-label policies.
borghei/Claude-Skills
Idea to AI-generated prototype to customer validation to engineering handoff.
borghei/Claude-Skills
Analytics engineering across data modeling, dbt, transformation, and semantic layers.
borghei/Claude-Skills
Ansoff Matrix — 4-quadrant framework for growth options: market penetration, market/product development, and diversification.
borghei/Claude-Skills
OKR brainstorming and validation using the Radical Focus framework — outcome objectives, measurable key results, counter-metrics.
Works with
Categories
Audit PDF files for metadata leakage, page count, encryption, JavaScript, embedded files, and version. PDF Toolkit is an agent skill from borghei/Claude-Skills. Audit PDF files for metadata leakage, page count, encryption, JavaScript, embedded files, and version.
PDF Toolkit fits situations like: tasks that involve PDF; tasks that involve Security review.
Run `npx skills add borghei/Claude-Skills --skill pdf-toolkit -a claude-code`. Or copy the skill folder (documents/pdf-toolkit in borghei/Claude-Skills) into .claude/skills/pdf-toolkit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borghei/Claude-Skills --skill pdf-toolkit -a codex`. Or copy the skill folder (documents/pdf-toolkit in borghei/Claude-Skills) into .agents/skills/pdf-toolkit 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 borghei/Claude-Skills --skill pdf-toolkit -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-toolkit, .gemini/skills/pdf-toolkit, .github/skills/pdf-toolkit and .opencode/skills/pdf-toolkit in your project.
Going by SKILL.md and its folder, PDF Toolkit needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
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 Toolkit is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with PDF Toolkit: Analyzing Malicious PDF With Peepdf (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Jev SEO (AgriciDaniel/jev-seo, 515 stars), PDF Extraction Fallback 80956b (HKUDS/OpenSpace, 7.7k stars) and PDF Extraction Fallbacks (HKUDS/OpenSpace, 7.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
borghei (a GitHub user) maintains it in borghei/Claude-Skills, which has 874 GitHub stars. The repository holds 364 skills in this directory. The repository was last updated on October 7, 2026.
Source: borghei/Claude-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.