mcpbeat

Compdf Toolkit

compdfkit/compdf-toolkit

All-in-one ComPDF workflow for document conversion, OCR, data extraction, PDF editing, protection, compression, and watermarking. Use for any ComPDF Server API request that processes PDF, Office, HTML, CSV, RTF, TXT, or image files.

59k tokens
context cost
the whole folder, loaded on every use
5
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
104
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/ComPDFKit/compdf-skills --skill compdf-toolkit

What comes with it

232 652 bytes besides the instruction
agents/openai.yaml
references/endpoint-index.md
references/official-api-reference.md
scripts/sync_official_api_reference.py

The instruction itself

7 sections, as written by the author

ComPDF Toolkit

Overview

ComPDF Toolkit Skill gives AI agents a full PDF workflow layer in one package. It combines file conversion, OCR, structured extraction, page editing, encryption, decryption, and watermark processing so teams can handle document-heavy tasks without switching tools. The skill is designed for agent workflows that need reliable PDF preprocessing before analysis, routing, generation, or compliance review.

Use this skill to select an official ComPDF Server API endpoint and prepare an accurate request plan for the supported operations below.

Supported Operations

| Operation | Official page or index section |

| --- | --- |

| All conversion endpoints | Conversion endpoints |

| PDF editing, security, watermark, compression, and comparison | PDF endpoints |

| Document parsing and schema-based extraction | AI endpoints |

Scope

Use this broad skill only when the request spans multiple ComPDF capabilities or no focused ComPDF skill is a clearer match.

Workflow

  • Identify the source file type, desired output, and requested operation.
  • Read references/endpoint-index.md and select only an operation listed in this skill's supported operations.
  • Read the matching heading in references/official-api-reference.md. Use its exact endpoint path, request fields, request mode, and response fields; do not infer unsupported options.
  • Prefer synchronous mode for small interactive work. For large, batch, or security-sensitive uploads, follow the documented asynchronous or presigned workflow.
  • Resolve the API key before preparing the request. Read the first non-empty line from COMPDF_API_KEY_FILE when set. Otherwise read %USERPROFILE%\.compdf\api_key on Windows, or ~/.config/compdf/api_key on macOS and Linux. Pass the value only as the x-api-key header; never put it in code, logs, examples, or output.
  • Before an operation that overwrites, deletes, decrypts, applies permanent protection, or sends a document externally, identify affected files and obtain confirmation unless the user has already authorized it.
  • Return the endpoint, method, content type, complete request fields, expected task/result fields, and the next polling or download step. Preserve original files unless replacement is explicitly requested.

API Key

Use one local, private key file so later ComPDF tasks do not require pasting an API key into chat. The file must contain only the API key on its first non-empty line. Do not create, commit, upload, or display this file.

When the selected file is absent, unreadable, or empty, direct the user to obtain a key at https://www.compdf.com/compdf-portal/signin?utm_source=github&utm_medium=referral&utm_campaign=compdf_skills_repo_en&ref_platform_id=github_compdfkit_skills_en, save it in the selected file, and retry.

Maintainer

Refresh the local official snapshot before release, then inspect the diff for renamed endpoints, changed fields, and changed enum values:

python scripts/sync_official_api_reference.py

How to use it

Copy the folder

Take compdfkit/compdf-toolkit from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.