Help us improve
Share bugs, ideas, or general feedback.
From paperless
Download a Paperless-ngx document file by ID to a temp folder. Use when the user wants to download or open a document, says "view document ID N", "download doc N", or asks to open a Paperless file. If invoked from a Telegram channel, uploads the file to Telegram automatically.
npx claudepluginhub cameri/claude-skills --plugin paperlessHow this skill is triggered — by the user, by Claude, or both
Slash command
/paperless:view-documentThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<objective>
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
<quick_start>
/paperless:view-document <document id>
Example: /paperless:view-document 774
</quick_start>
<argument_parsing>
Parse $ARGUMENTS for a document ID (integer). If none provided:
Usage: /paperless:view-document <document id>
Example: /paperless:view-document 774
</argument_parsing>
**Fetch metadata:**http --ignore-stdin -b \
GET "${PAPERLESS_URL%/}/api/documents/<ID>/" \
"Authorization:Token $TOKEN" \
"Accept:application/json; version=6"
See <base_dir>/../../references/document-display.md for not-found handling and filename sanitization rules. Extract title, archived_file_name, original_file_name.
Download:
Prefer the archived version. Use curl for binary downloads:
TMPDIR=$(mktemp -d /tmp/paperless-XXXXXX)
FILENAME="${TMPDIR}/<sanitized_title>.pdf"
curl -s -L \
-H "Authorization: Token $TOKEN" \
-o "$FILENAME" \
"${PAPERLESS_URL%/}/api/documents/<ID>/download/"
Verify the file is non-zero size. Pass ?original=true only if the user explicitly requests the original file.
Output:
Read <base_dir>/../../references/document-display.md for Telegram and CLI output format.
<success_criteria>