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
1---2name: compdf-page-editor3description: Merge, split, rotate, insert, delete, and extract PDF pages with ComPDF. Use for PDF page management, document assembly, cleanup, restructuring, and selected-page output.4---5
6# ComPDF Page Editor
7
8## Overview
9
10ComPDF 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.
11
12Use this skill to select an official ComPDF Server API endpoint and prepare an accurate request plan for the supported operations below.
13
14## Supported Operations
15
16| Operation | Official page or index section |
17| --- | --- |
18| Merge PDFs | `merge` |
19| Split PDF | `split` |
20| Rotate pages | `rotate` |
21| Insert pages | `insert` |
22| Delete pages | `delete` |
23| Extract pages | `extract` |
24
25## Scope
26
27Use only page-management endpoints. Validate one-based page ranges and request confirmation for destructive edits unless already authorized.
28
29## Workflow
30
311. Identify the source file type, desired output, and requested operation.
322. Read `references/endpoint-index.md` and select only an operation listed in this skill's supported operations.
333. 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.
344. Prefer synchronous mode for small interactive work. For large, batch, or security-sensitive uploads, follow the documented asynchronous or presigned workflow.
355. 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.
366. 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.
377. 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.
38
39## API Key
40
41Use 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.
42
43When 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.
44
45## Maintainer
46
47Refresh the local official snapshot before release, then inspect the diff for renamed endpoints, changed fields, and changed enum values:
48
49```powershell
50python scripts/sync_official_api_reference.py
51```