Merge PDF

Merge multiple user-provided PDF files by uploading them to Cross-Service-Solutions, polling until completion, then returning a download URL for the merged PDF.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 1k · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, SKILL.md, README, and the Python script all consistently implement uploading PDFs to the Cross-Service-Solutions API and polling for a merged result. One small inconsistency: the registry metadata lists no required env vars or primary credential, but both SKILL.md and the script require an API key (or SOLUTIONS_API_KEY environment variable). This is likely an omission in the registry metadata rather than a functional mismatch.
Instruction Scope
SKILL.md instructs only to accept PDFs, upload them to the stated API, poll the API, and return the download URL. The included script implements exactly that. The instructions and code do not read unrelated system files or other environment variables beyond the API key and optional base-URL override, and they do not transmit data to endpoints other than the documented Cross-Service-Solutions base URL.
Install Mechanism
There is no install spec (instruction-only skill) and the only code file is a straightforward Python script. requirements.txt lists only 'requests'. No downloads from untrusted URLs or extract/install steps are present.
Credentials
The skill legitimately requires a single service API key (passed as --api-key or via SOLUTIONS_API_KEY). No other credentials or unrelated environment access are requested. However the registry metadata did not declare this required credential, so users relying only on the registry listing might not realize an API key is required.
Persistence & Privilege
The skill is not always-enabled, does not request persistent/system-wide privileges, and does not modify other skills or system configuration. It runs network calls only to the documented API.
Assessment
This skill appears internally consistent and implements exactly what it claims: uploading PDFs to Cross-Service-Solutions and returning a merged-file URL. Before installing, confirm you trust the external service (https://api.xss-cross-service-solutions.com) and its privacy policy, because your PDF contents will be sent to that provider. Provide the API key via the --api-key argument or the SOLUTIONS_API_KEY environment variable (the registry metadata omitted this requirement). Avoid uploading sensitive or confidential documents to an untrusted third party; if you need an on-device merge instead, use a local tool that does not send files off-host. Finally, test with non-sensitive example PDFs to verify expected behavior and URLs.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk976d1q031p3gykv3wn3dgfwb980rnrm

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

merge-pdf-files

Purpose

This skill merges multiple PDFs by:

  1. accepting multiple PDF files from the user,
  2. uploading them to the Cross-Service-Solutions merge API,
  3. polling the job status until it is finished,
  4. returning the merged PDF download URL.

Credentials

The API requires an API key used as a Bearer token:

  • Authorization: Bearer <API_KEY>

How the user gets an API key:

Rule: never echo or log the API key.

API endpoints

Base URL:

  • https://api.xss-cross-service-solutions.com/solutions/solutions

Create merge job:

  • POST /api/30
  • multipart/form-data parameters:
    • files (PDF Dokument) — required — multiple PDF files (multiple_files)

Get result by ID:

  • GET /api/<ID>

When done, the response contains:

  • output.files[] with { name, path } where path is a downloadable URL.

Inputs

Required

  • One or more PDF files (binary)
  • An API key (string)

Optional

  • None (ordering is determined by the provided file list order)

Output

Return a structured result:

  • job_id (number)
  • status (string)
  • download_url (string, when done)
  • file_name (string, when available)
  • input_files (array of strings)

Example output:

{
  "job_id": 456,
  "status": "done",
  "download_url": "https://.../merged.pdf",
  "file_name": "merged.pdf",
  "input_files": ["a.pdf", "b.pdf", "c.pdf"]
}

Files

5 total
Select a file
Select a file to preview.

Comments

Loading comments…