mcpbeat

Compdf Page Editor

compdfkit/compdf-page-editor

Merge, split, rotate, insert, delete, and extract PDF pages with ComPDF. Use for PDF page management, document assembly, cleanup, restructuring, and selected-page output.

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-page-editor

What comes with it

232 655 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 Page Editor

Overview

ComPDF Page Editor gives AI agents a focused PDF page-management skill for assembling, cleaning, and restructuring documents. It supports merging multiple PDFs, splitting large files, rotating pages, inserting new pages, deleting pages, and extracting selected pages or ranges. The skill fits document-prep workflows before review, filing, delivery, or automation.

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 |

| --- | --- |

| Merge PDFs | merge |

| Split PDF | split |

| Rotate pages | rotate |

| Insert pages | insert |

| Delete pages | delete |

| Extract pages | extract |

Scope

Use only page-management endpoints. Validate one-based page ranges and request confirmation for destructive edits unless already authorized.

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-page-editor 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.