# Send Nutrient Document Processing (Universal Agent Skill) to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nutrient-document-processing-universal",
    "name": "Nutrient Document Processing (Universal Agent Skill)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/jdrhyne/nutrient-document-processing-universal",
    "canonicalUrl": "https://clawhub.ai/jdrhyne/nutrient-document-processing-universal",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/nutrient-document-processing-universal",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nutrient-document-processing-universal",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "_meta.json"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "nutrient-document-processing-universal",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T07:04:08.105Z",
      "expiresAt": "2026-05-13T07:04:08.105Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nutrient-document-processing-universal",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nutrient-document-processing-universal",
        "contentDisposition": "attachment; filename=\"nutrient-document-processing-universal-1.1.2.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "nutrient-document-processing-universal"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/nutrient-document-processing-universal"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nutrient-document-processing-universal",
    "downloadUrl": "https://openagent3.xyz/downloads/nutrient-document-processing-universal",
    "agentUrl": "https://openagent3.xyz/skills/nutrient-document-processing-universal/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nutrient-document-processing-universal/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nutrient-document-processing-universal/agent.md"
  }
}
```
## Documentation

### Nutrient Document Processing (Universal Agent Skill)

Best for Claude Code/Codex/Gemini/Cursor/Windsurf and other non-OpenClaw agents. Process, convert, extract, OCR, redact, sign, and manipulate documents using the Nutrient DWS Processor API.

### Setup

You need a Nutrient DWS API key. Get one free at https://dashboard.nutrient.io/sign_up/?product=processor.

### Option 1: MCP Server (Recommended)

If your agent supports MCP (Model Context Protocol), use the Nutrient DWS MCP Server. It provides all operations as native tools.

Configure your MCP client (e.g., claude_desktop_config.json or .mcp.json):

{
  "mcpServers": {
    "nutrient-dws": {
      "command": "npx",
      "args": ["-y", "@nutrient-sdk/dws-mcp-server"],
      "env": {
        "NUTRIENT_DWS_API_KEY": "YOUR_API_KEY",
        "SANDBOX_PATH": "/path/to/working/directory"
      }
    }
  }
}

Then use the MCP tools directly (e.g., convert_to_pdf, extract_text, redact, etc.).

### Option 2: Direct API (curl)

For agents without MCP support, call the API directly:

export NUTRIENT_API_KEY="your_api_key_here"

All requests go to https://api.nutrient.io/build as multipart POST with an instructions JSON field.

### Safety Boundaries

This skill sends documents to the Nutrient DWS API (api.nutrient.io) for processing. Documents may contain sensitive data — ensure your Nutrient account's data handling policies are acceptable.
It does NOT access local files beyond those explicitly passed for processing.
It does NOT store API keys or credentials beyond the current session.
MCP server mode (npx @nutrient-sdk/dws-mcp-server) downloads the official Nutrient MCP server package from npm at runtime.
All API calls require an explicit API key — no anonymous access is possible.

### 1. Convert Documents

Convert between PDF, DOCX, XLSX, PPTX, HTML, and image formats.

HTML to PDF:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "index.html=@index.html" \\
  -F 'instructions={"parts":[{"html":"index.html"}]}' \\
  -o output.pdf

DOCX to PDF:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.docx=@document.docx" \\
  -F 'instructions={"parts":[{"file":"document.docx"}]}' \\
  -o output.pdf

PDF to DOCX/XLSX/PPTX:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"output":{"type":"docx"}}' \\
  -o output.docx

Image to PDF:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "image.jpg=@image.jpg" \\
  -F 'instructions={"parts":[{"file":"image.jpg"}]}' \\
  -o output.pdf

### 2. Extract Text and Data

Extract plain text:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"output":{"type":"text"}}' \\
  -o output.txt

Extract tables (as JSON, CSV, or Excel):

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"output":{"type":"xlsx"}}' \\
  -o tables.xlsx

Extract key-value pairs:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"extraction","strategy":"key-values"}]}' \\
  -o result.json

### 3. OCR Scanned Documents

Apply OCR to scanned PDFs or images, producing searchable PDFs with selectable text.

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "scanned.pdf=@scanned.pdf" \\
  -F 'instructions={"parts":[{"file":"scanned.pdf"}],"actions":[{"type":"ocr","language":"english"}]}' \\
  -o searchable.pdf

Supported languages: english, german, french, spanish, italian, portuguese, dutch, swedish, danish, norwegian, finnish, polish, czech, turkish, japanese, korean, chinese-simplified, chinese-traditional, arabic, hebrew, thai, hindi, russian, and more.

### 4. Redact Sensitive Information

Pattern-based redaction (preset patterns):

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"redaction","strategy":"preset","preset":"social-security-number"}]}' \\
  -o redacted.pdf

Available presets: social-security-number, credit-card-number, email-address, north-american-phone-number, international-phone-number, date, url, ipv4, ipv6, mac-address, us-zip-code, vin, time.

Regex-based redaction:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"redaction","strategy":"regex","regex":"\\\\b[A-Z]{2}\\\\d{6}\\\\b"}]}' \\
  -o redacted.pdf

AI-powered PII redaction:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"ai_redaction","criteria":"All personally identifiable information"}]}' \\
  -o redacted.pdf

The criteria field accepts natural language (e.g., "Names and phone numbers", "Protected health information", "Financial account numbers").

### 5. Add Watermarks

Text watermark:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"watermark","text":"CONFIDENTIAL","fontSize":48,"fontColor":"#FF0000","opacity":0.5,"rotation":45,"width":"50%","height":"50%"}]}' \\
  -o watermarked.pdf

Image watermark:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F "logo.png=@logo.png" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"watermark","imagePath":"logo.png","width":"30%","height":"30%","opacity":0.3}]}' \\
  -o watermarked.pdf

### 6. Digital Signatures

Sign a PDF with CMS signature:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"sign","signatureType":"cms","signerName":"John Doe","reason":"Approval","location":"New York"}]}' \\
  -o signed.pdf

Sign with CAdES-B-LT (long-term validation):

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"sign","signatureType":"cades","cadesLevel":"b-lt","signerName":"Jane Smith"}]}' \\
  -o signed.pdf

### 7. Form Filling (Instant JSON)

Fill PDF form fields using Instant JSON format:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "form.pdf=@form.pdf" \\
  -F 'instructions={"parts":[{"file":"form.pdf"}],"actions":[{"type":"fillForm","fields":[{"name":"firstName","value":"John"},{"name":"lastName","value":"Doe"},{"name":"email","value":"john@example.com"}]}]}' \\
  -o filled.pdf

### 8. Merge and Split PDFs

Merge multiple PDFs:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "doc1.pdf=@doc1.pdf" \\
  -F "doc2.pdf=@doc2.pdf" \\
  -F 'instructions={"parts":[{"file":"doc1.pdf"},{"file":"doc2.pdf"}]}' \\
  -o merged.pdf

Extract specific pages:

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf","pages":{"start":0,"end":4}}]}' \\
  -o pages1-5.pdf

### 9. Render PDF Pages as Images

curl -X POST https://api.nutrient.io/build \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \\
  -F "document.pdf=@document.pdf" \\
  -F 'instructions={"parts":[{"file":"document.pdf","pages":{"start":0,"end":0}}],"output":{"type":"png","dpi":300}}' \\
  -o page1.png

### 10. Check Credits

curl -X GET https://api.nutrient.io/credits \\
  -H "Authorization: Bearer $NUTRIENT_API_KEY"

### Best Practices

Use the MCP server when your agent supports it — it handles file I/O, error handling, and sandboxing automatically.
Set SANDBOX_PATH to restrict file access to a specific directory.
Check credit balance before batch operations to avoid interruptions.
Use AI redaction for complex PII detection; use preset/regex redaction for known patterns (faster, cheaper).
Chain operations — the API supports multiple actions in a single call (e.g., OCR then redact).

### Troubleshooting

IssueSolution401 UnauthorizedCheck your API key is valid and has credits413 Payload Too LargeFiles must be under 100 MBSlow AI redactionAI analysis takes 60–120 seconds; this is normalOCR quality poorTry a different language parameter or improve scan qualityMissing text in extractionRun OCR first on scanned documents

### More Information

Full API reference — Detailed endpoints, parameters, and error codes
API Playground — Interactive API testing
API Documentation — Official guides
MCP Server repo — Source code and issues
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: jdrhyne
- Version: 1.1.2
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-06T07:04:08.105Z
- Expires at: 2026-05-13T07:04:08.105Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/nutrient-document-processing-universal)
- [Send to Agent page](https://openagent3.xyz/skills/nutrient-document-processing-universal/agent)
- [JSON manifest](https://openagent3.xyz/skills/nutrient-document-processing-universal/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/nutrient-document-processing-universal/agent.md)
- [Download page](https://openagent3.xyz/downloads/nutrient-document-processing-universal)