AI agent skills for Nutrient APIs and SDKs. Works with Claude Code, Codex, Pi, Cursor, Gemini CLI, and other agents.
These skills run the Nutrient CLI on your computer. Their performance results come from the public 200-document opendataloader-bench corpus.
- Fast. Standard conversion processes PDFs with selectable text at about 0.004 seconds per page. On this benchmark, it has roughly 134× Docling's throughput and the same rounded overall accuracy (0.89). Nutrient processes the batch in parallel, while Docling processes it sequentially; see the benchmark method.
- Efficient for agents. Convert each PDF once. Search the saved output with a bounded
grep, or usequerywhen you do not know the exact wording or expect too many matches. - Better on difficult pages. Vision handles scans, photographs, handwriting, formulas, and complex layouts. In the benchmark, it leads every accuracy measure shown while remaining faster than Docling.
- Local files. The CLI does not upload your PDF or converted output to Nutrient. Usage reports include a random event ID, the command, Standard or Vision mode, input page count, time, and CLI version. They do not include file names, paths, document contents, or output. Text sent to an AI agent follows that provider's policies.
Standard conversion is free and does not require an account, including in containers and CI. Vision requires a Nutrient account, API key, or Nutrient CLI license key. With an account or API key, each input page uses one Vision page from the account's monthly allowance. Nutrient CLI license keys keep their existing terms. See current plans.
The CLI runs on macOS 13 or newer with Apple Silicon, Linux with glibc 2.38 or newer, and Windows. Linux also needs libcurl 4, ICU, and OpenSSL 3. The wrappers download the CLI from Nutrient's CDN on first use. The CLI creates a one-way identifier for the installation. It never sends the system details used to create the identifier. The identifier cannot reveal those details or restore a lost sign-in.
Method and full tables: PDF to Markdown benchmarks.
| Plugin | Skill | Description |
|---|---|---|
nutrient-dws-mcp |
nutrient-dws-mcp |
MCP-only Codex plugin for converting, OCRing, signing, redacting, parsing, and extracting documents with browser OAuth |
nutrient-dws |
document-processor-api |
Generate, convert, assemble, OCR, redact, sign, archive, and optimize documents via the Nutrient Document Web Services API |
nutrient-dws |
document-extraction-api |
Parse documents into a structural model or Markdown via the Nutrient Data Extraction API |
nutrient-dws |
grounded-rag-ingestion |
Chunk documents into provenance-carrying JSONL (element type, page, bbox, confidence, reading order) for grounded, auditable RAG pipelines |
nutrient-dws |
dws-viewer-api |
Upload documents and mint viewer session JWTs for the Nutrient cloud Viewer API. Embeds interactive viewing, annotation, forms, and signing via cloud infrastructure — no viewing/storage servers to run (you still mint session tokens from your backend) |
make-pdf |
make-pdf |
Generate PDFs from Markdown or HTML — single files or whole directories — with accessible PDF/UA, archival PDF/A, and watermark outputs, plus built-in conformance verification |
remediate-pdf |
remediate-pdf |
Remediate existing PDFs: auto-tag with PDF/UA semantic structure (headings, lists, tables, reading order) via the Nutrient DWS Accessibility API (auto-tag only — verify output with the bundled verify-pdf.py) |
pdf-to-markdown |
pdf-to-markdown |
Convert PDF content to structured Markdown |
pdf-to-text |
pdf-to-text |
Extract layout-preserving plain text from PDFs |
query |
query |
Find relevant passages in an extracted document with ranked keyword search |
nutrient-sdk-dev |
13 SDK skills | Build with Nutrient SDKs — Web Viewer, Document Authoring, mobile (iOS/Android/React Native/Flutter/MAUI), server (Python/Java/Node.js/.NET), self-hosted Document Engine, and AI Assistant |
Install using the Skills CLI:
npx skills add pspdfkit-labs/nutrient-skills --skill document-processor-api
npx skills add pspdfkit-labs/nutrient-skills --skill document-extraction-api
npx skills add pspdfkit-labs/nutrient-skills --skill grounded-rag-ingestion
npx skills add pspdfkit-labs/nutrient-skills --skill dws-viewer-api
npx skills add pspdfkit-labs/nutrient-skills --skill make-pdf
npx skills add pspdfkit-labs/nutrient-skills --skill remediate-pdf
npx skills add pspdfkit-labs/nutrient-skills --skill pdf-to-markdown
npx skills add pspdfkit-labs/nutrient-skills --skill pdf-to-text
npx skills add pspdfkit-labs/nutrient-skills --skill queryThe nutrient-sdk-dev plugin's 13 per-SDK skills install the same way (e.g. --skill nutrient-web-sdk).
This works with Claude Code, Codex, Cursor, Gemini CLI, and many other agents.
To list all available skills in this repo:
npx skills add pspdfkit-labs/nutrient-skills --listBoth Claude Code and Codex support the /plugin command:
/plugin marketplace add pspdfkit-labs/nutrient-skills
/plugin install nutrient-dws@nutrient-skills
/plugin install make-pdf@nutrient-skills
/plugin install remediate-pdf@nutrient-skills
/plugin install pdf-to-markdown@nutrient-skills
/plugin install pdf-to-text@nutrient-skills
/plugin install query@nutrient-skills
/plugin install nutrient-sdk-dev@nutrient-skills
After installation, the plugin's skills will automatically load in all future sessions.
The nutrient-dws-mcp plugin bundles the local Nutrient DWS MCP server and an MCP-only skill. Add this repository as a Codex marketplace and install the plugin:
codex plugin marketplace add pspdfkit-labs/nutrient-skills
codex plugin add nutrient-dws-mcp@nutrient-skillsThe plugin installs a pinned MCP package into a user cache on first use, then starts its stdio server directly to avoid npx shim handshake issues. It does not invoke the standalone DWS CLI. The first API-backed tool call opens browser OAuth, and later calls reuse the cached Nutrient session.
You can install the Nutrient skills with:
pi install git:github.com/PSPDFKit-labs/nutrient-skillsPi will load all skills from the packaged plugins/*/skills directories. If you only want to try the package without installing it, use:
pi -e git:github.com/PSPDFKit-labs/nutrient-skillsYou can still point Pi at a specific plugin's skills/ directory or at the repo-wide plugins/ directory in ~/.pi/agent/settings.json or a project-local .pi/settings.json if you prefer manual control.
Clone the repository and point your agent at the skill directory:
git clone https://github.com/pspdfkit-labs/nutrient-skills.git
# Skills live under plugins/<plugin>/skills/<skill>/SKILL.mdReference SKILL.md directly in your agent's context, or symlink the skill directory into wherever your agent resolves skills.
.claude-plugin/
marketplace.json Marketplace catalog
AGENTS.md Agent instructions (Codex, generic)
CLAUDE.md Agent instructions (Claude Code)
plugins/
<plugin-name>/ One directory per plugin
.claude-plugin/
plugin.json Plugin manifest (Claude Code)
.codex-plugin/
plugin.json Plugin manifest (Codex)
.mcp.json Optional bundled MCP server configuration
skills/
<skill-name>/ One or more skills per plugin
SKILL.md Skill definition
scripts/ Optional: task scripts
assets/ Optional: templates, static files
references/ Optional: API docs, guides