paperless-ngx

paperless-ngx is a skill for Claude Code from jmagar/claude-homelab. It costs 84 tokens per session (2,779 once invoked), scanned B, original, MIT.

A guide for Paperless-ngx, a document archive that uses OCR to make scanned and uploaded papers searchable. OCR means turning text in an image or scan into computer-readable text.

In plain words
What is it for?
Uploading documents, searching their contents, applying tags and metadata, managing correspondents and document types, archiving, exporting, downloading, and deleting documents.
Why use it?
It reduces the work of filing, finding, and organizing paper documents in a searchable online archive.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: reads .claude/ paths.

Part of the homelab-core plugin — 18 skills, 5 commands, 1 agent shipped together

Good fit Uploading documents, searching their contents, applying tags and metadata, managing correspondents and document types, archiving, exporting, downloading, and deleting documents.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jmagar/claude-homelab/paperless-ngx
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jmagar/claude-homelab --skill paperless-ngx
Clone the repo
git clone --depth 1 https://github.com/jmagar/claude-homelab

Made for: Claude Code.

Or install homelab-core, the plugin that ships this one along with the rest of its 18 skills, 5 commands, 1 agent.

Its marketplace also offers this one on its own, as the plugin paperless-ngx/plugin install paperless-ngx after adding the marketplace above.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for paperless-ngx

README.md
[![agentmods](https://agentmods.dev/badge/skills/jmagar/claude-homelab/paperless-ngx/github.svg)](https://agentmods.dev/skills/jmagar/claude-homelab/paperless-ngx)
Your own site
<a href="https://agentmods.dev/skills/jmagar/claude-homelab/paperless-ngx"><img src="https://agentmods.dev/badge/skills/jmagar/claude-homelab/paperless-ngx/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for paperless-ngx

Your own site · 80×15
<a href="https://agentmods.dev/skills/jmagar/claude-homelab/paperless-ngx"><img src="https://agentmods.dev/badge/skills/jmagar/claude-homelab/paperless-ngx.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 84 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,779 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00084 $0.02779
Opus 5 $0.00042 $0.01389
Sonnet 5 $0.00017 $0.00556
Haiku 4.5 $0.00008 $0.00278

Measured 12d ago against content hash 15918a515036, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade B, and why

paperless-ngx scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

The scan reads SKILL.md. This mod also ships 5 executable files (load-env.sh, scripts/bulk-api.sh, scripts/correspondent-api.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

- Set permissions: `chmod 600 ~/.claude-homelab/.env`

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- `curl` and `jq` installed
skills/paperless-ngx/SKILL.md · 368 lines

How it starts

The opening of the file, as written. The whole thing — 368 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Paperless-ngx Skill

⚠️ MANDATORY SKILL INVOCATION ⚠️

YOU MUST invoke this skill (NOT optional) when the user mentions ANY of these triggers:

  • "upload document", "add document to paperless", "scan to paperless"
  • "search paperless", "find document", "search documents"
  • "tag document", "add tags", "manage tags in paperless"
  • "manage correspondents", "add correspondent", "list correspondents"
  • "update document", "edit document metadata", "change document type"
  • "archive document", "export document", "download document"
  • "delete document", "remove document from paperless"
  • "list my documents", "show recent documents", "what documents do I have"
  • Any mention of Paperless-ngx, document management, OCR, or paperless office

Failure to invoke this skill when triggers occur violates your operational requirements.


Purpose

This skill provides read-write access to a self-hosted Paperless-ngx instance for document management with OCR. Paperless-ngx transforms physical documents into a searchable online archive with full-text search, tagging, and metadata management.

Core capabilities:

  • Upload documents with auto-OCR and metadata extraction
  • Search documents by content, tags, correspondent, or date
  • Manage tags, correspondents, and document types
  • Update document metadata (title, tags, correspondent, dates)
  • Archive and export operations
  • Delete documents (with confirmation)
  • Bulk operations on multiple documents

Primary use case: Maintain a searchable digital archive of all documents with powerful organization and retrieval capabilities.

Setup

Prerequisites

  • Paperless-ngx instance running and accessible
  • API token generated from Paperless-ngx UI
  • curl and jq installed

Credential Configuration

Add these variables to ~/.claude-homelab/.env:

# Paperless-ngx - Document management system
PAPERLESS_URL="https://paperless.example.com"
PAPERLESS_API_TOKEN="<your_api_token>"

To generate an API token:

  1. Log into your Paperless-ngx instance
  2. Go to Settings → My Profile
  3. Click "Create Token" under "API Tokens"
  4. Copy the generated token
  5. Add to .env file as shown above

Read the full file on GitHub · 368 lines

Files

What ships with it

9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 368 lines · 84 tokens per session scan B 15918a515036

Subscribe to this mod's changes

paperless-ngx is a skill published in the GitHub repository jmagar/claude-homelab (78 stars, last pushed 1mo ago), licensed MIT. It adds 84 tokens to every session and 2,779 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it B with 2 findings (asks for root, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

mission-creation

Use this skill to create and drive a UAV mission end-to-end through the web UI with the Playwright MCP browser tools on LOCALDEV (https:// ) — rebuild/redeploy, Keycloak login, the multi-step BYROUTE/REALTIME mission wizard, pre-flight, the Start-Mission FSM, AND the full per-drone flight-command lifecycle (arm →…

atretyak1985/swarmery · 176 tokens

github-actions-cicd

Design, review, or debug GitHub Actions workflows — CI jobs (type-check, lint, test, build, security, summary), AWS ECR/ECS deploys, and a standardized per-repo workflow set. NOT for cloud-auth role/OIDC trust details (use aws-cicd-auth) or Dockerfile/image-build mechanics (use docker-build).

atretyak1985/swarmery · 78 tokens

jira-delivery

Close the needs-fix branch for both ticket classes: isolated git worktree, a red test BEFORE any implementation on change tickets, delegation to a core executor, every publish action (push / PR / comment / QA transition) gated behind a green @verification-agent verdict, commit + push + PR, then writeback via…

atretyak1985/swarmery · 114 tokens

jira-triage

Parse a Jira ticket past access preflight, classify it as a defect or a change, run the mandatory evidence step that class demands (reproduction / baseline + absence proof), and assign exactly one of five verdicts (already-fixed / cannot-reproduce / needs-fix / needs-info / too-large). NOT for posting the verdict back…

atretyak1985/swarmery · 95 tokens

aws-cicd-auth

Configure and review AWS auth for GitHub Actions CI/CD — OIDC role assumption, ECR push perms, ECS deploy perms, least-privilege IAM. Not for application IAM/Cognito, not for GCP.

atretyak1985/swarmery · 50 tokens

deployment

Use this skill for a Helm-upgrade deploy of an app service (the web portal or the edge service) to an EXISTING Kubernetes cluster, plus post-deploy verification. NOT for cluster-level ops -- Minikube/k3s lifecycle, GCP firewall, tunnels, bootstrap secrets (use kubernetes-deployment); NOT for cross-environment…

atretyak1985/swarmery · 79 tokens