Wraps Nutrient's document processing API so you can generate PDFs from HTML or URLs, convert Office files and images, OCR scans, extract tables and key-value pairs, redact PII, sign documents, and produce PDF/A or PDF/UA compliance outputs. Ships with single-operation Python scripts for common tasks and a workflow template for chaining operations like OCR-then-redact or convert-merge-sign sequences. The tool preference is clear: use the helper scripts when they fit, copy the template for multi-step jobs, hit the API directly for edge cases. If you're building document pipelines where fidelity and compliance matter more than quick-and-dirty local PDF hacks, this gives you a managed service with proper text extraction and archival format support.
npx -y skills add pspdfkit-labs/nutrient-agent-skill --skill nutrient-document-processing --agent claude-codeInstalls into .claude/skills of the current project.
Use Nutrient DWS for managed document workflows where fidelity, compliance, or multi-step processing matters more than local-tool convenience.
Authorization: Bearer $NUTRIENT_API_KEY.
export NUTRIENT_API_KEY="nutr_sk_..."
@nutrient-sdk/dws-mcp-server with NUTRIENT_DWS_API_KEY.scripts/ relative to this SKILL.md. Use the directory containing this SKILL.md as the working directory:
cd <directory containing this SKILL.md> && uv run scripts/<script>.py --help
start:end with 0-based indexes and end-exclusive semantics. Negative indexes count from the end.scripts/*.py for covered single-operation workflows.assets/templates/custom-workflow-template.py for multi-step jobs that should still run through the Python client.references/ docs and direct API payloads for capabilities that do not yet have a dedicated helper script, especially HTML/URL generation and compliance tuning.convert.py -> convert between pdf, pdfa, pdfua, docx, xlsx, pptx, png, jpeg, webp, html, and markdownmerge.py -> merge multiple files into one PDFsplit.py -> split one PDF into multiple PDFs by page rangesadd-pages.py -> append blank pagesdelete-pages.py -> remove specific pagesduplicate-pages.py -> reorder or duplicate pages into a new PDFrotate.py -> rotate selected pagesocr.py -> OCR scanned PDFs or imagesextract-text.py -> extract text to JSONextract-table.py -> extract tablesextract-key-value-pairs.py -> extract key-value pairswatermark-text.py -> apply a text watermarkredact-ai.py -> detect and apply AI-powered redactionssign.py -> digitally sign a local PDFpassword-protect.py -> write encrypted output PDFsoptimize.py -> apply optimization and linearization-style options via JSONDo not add new committed pipeline scripts under scripts/.
When the user asks for multiple operations in one run:
assets/templates/custom-workflow-template.py to a temporary location such as /tmp/ndp-workflow-<task>.py.uv run /tmp/ndp-workflow-<task>.py ....split.py requires a multi-page PDF and cannot extract ranges from a single-page document.delete-pages.py must retain at least one page and cannot delete the entire document.sign.py only accepts local file paths for the main PDF.file.url inputs when the source already lives at a stable URL and you want to avoid local uploads.output.type for conversion and finalization targets. Use actions for transformations when building direct API payloads.scripts/.Read only what you need:
references/request-basics.md -> endpoint model, auth, multipart vs JSON, credits, limits, and errorsreferences/generation-and-conversion.md -> HTML/URL generation and format conversionreferences/pdf-manipulation.md -> merge, split, page-range, rotate, and flatten workflowsreferences/extraction-and-ocr.md -> OCR, text extraction, tables, and key-value workflowsreferences/security-signing-and-forms.md -> redaction, watermarking, signatures, forms, and passwordsreferences/compliance-and-optimization.md -> PDF/A, PDF/UA, optimization, and linearizationreferences/workflow-recipes.md -> end-to-end sequencing patterns for common business document workflowsasyncio.run(main()).uv add nutrient-dws.npm i -g @nutrient-sdk/dws-mcp-server@<pinned-version>NUTRIENT_DWS_API_KEY in committed JSON config files.
SANDBOX_PATH to the minimum required working directory.sickn33/antigravity-awesome-skills
moizibnyousaf/ai-agent-skills
github/awesome-copilot