Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Interact with Paperless-NGX document management system via ppls CLI. Search, retrieve, upload, and organize documents.
.claude/skills/sundial-org-paperless/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 98% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -37% | 0% |
Search and manage documents in Paperless-NGX using ppls.
bashnpm install -g @nickchristensen/ppls ppls config set hostname http://your-paperless-host ppls config set token your-api-token
bash# By name ppls documents list --name-contains "invoice" --json # By date range ppls documents list --created-after 2024-01-01 --created-before 2024-12-31 --json # By tag (OR — any of these tags) ppls documents list --tag 5 --tag 12 --json # By tag (AND — must have all) ppls documents list --tag-all 5,12 --json # Exclude tags ppls documents list --tag-not 3 --json # By correspondent ppls documents list --correspondent 7 --json # By document type ppls documents list --document-type 2 --json # Documents missing metadata ppls documents list --no-correspondent --json ppls documents list --no-tag --json # Recently added/modified ppls documents list --added-after 2024-06-01 --json ppls documents list --modified-after 2024-06-01 --json # Combine filters ppls documents list --correspondent 7 --created-after 2024-01-01 --tag 5 --json
bash# Get full document details (includes OCR content) ppls documents show 1234 --json # Download single document ppls documents download 1234 --output ~/Downloads/doc.pdf # Download multiple documents ppls documents download 1234 5678 --output-dir ~/Downloads # Download original (pre-processed) version ppls documents download 1234 --original
bash# Simple upload (Paperless auto-processes) ppls documents add scan.pdf # With metadata ppls documents add receipt.pdf \ --title "Store Receipt" \ --correspondent 5 \ --document-type 2 \ --tag 10
bash# List tags/correspondents/document-types ppls tags list --json ppls correspondents list --json ppls document-types list --json # Create new ppls tags add "Tax 2024" --color "#ff0000" ppls correspondents add "New Vendor" ppls document-types add "Contract" # Update document metadata ppls documents update 1234 --title "New Title" --correspondent 5 --tag 10
--json for AI/automation — it's the most parseable formatYYYY-MM-DD or full ISO 8601list --json commands to find them--tag 1 --tag 2 or --tag 1,2 both work--page and --page-size for large result sets| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 11,302 | 7,166 | -37% | 1 | 1 | 0% | 2,195 | 2,368 | +8% | 0 | 0 | — |
case-05 | pass→pass | 11,548 | 7,745 | -33% | 1 | 1 | 0% | 1,929 | 2,009 | +4% | 0 | 0 | — |
case-19 | fail→pass | 6,715 | 2,459 | -63% | 1 | 1 | 0% | 1,302 | 1,137 | -13% | 0 | 0 | — |
case-01 | fail→pass | 10,340 | 2,685 | -74% | 1 | 1 | 0% | 2,218 | 1,337 | -40% | 0 | 0 | — |
case-02 | fail→pass | 8,992 | 2,146 | -76% | 1 | 1 | 0% | 552 | 1,095 | +98% | 0 | 0 | — |
case-03 | fail→pass | 4,539 | 1,338 | -71% | 1 | 1 | 0% | 582 | 984 | +69% | 0 | 0 | — |
case-06 | pass→pass | 11,749 | 11,536 | -2% | 1 | 1 | 0% | 2,079 | 2,583 | +24% | 0 | 0 | — |
case-07 | fail→pass | 10,235 | 2,580 | -75% | 1 | 1 | 0% | 1,922 | 1,210 | -37% | 0 | 0 | — |
case-08 | fail→pass | 11,442 | 1,527 | -87% | 1 | 1 | 0% | 2,060 | 1,035 | -50% | 0 | 0 | — |
case-09 | fail→pass | 10,699 | 2,065 | -81% | 1 | 1 | 0% | 2,023 | 1,104 | -45% | 0 | 0 | — |
case-10 | fail→pass | 9,121 | 1,883 | -79% | 1 | 1 | 0% | 1,659 | 1,035 | -38% | 0 | 0 | — |
case-11 | fail→pass | 10,426 | 1,370 | -87% | 1 | 1 | 0% | 1,509 | 963 | -36% | 0 | 0 | — |
case-12 | fail→pass | 9,236 | 1,592 | -83% | 1 | 1 | 0% | 1,692 | 1,027 | -39% | 0 | 0 | — |
case-13 | fail→pass | 15,718 | 2,202 | -86% | 1 | 1 | 0% | 3,174 | 1,136 | -64% | 0 | 0 | — |
case-14 | fail→pass | 12,770 | 2,024 | -84% | 1 | 1 | 0% | 2,331 | 1,085 | -53% | 0 | 0 | — |
case-15 | fail→pass | 9,931 | 1,697 | -83% | 1 | 1 | 0% | 2,146 | 1,073 | -50% | 0 | 0 | — |
case-16 | fail→pass | 8,012 | 1,696 | -79% | 1 | 1 | 0% | 1,591 | 1,014 | -36% | 0 | 0 | — |
case-17 | fail→pass | 6,286 | 1,889 | -70% | 1 | 1 | 0% | 1,139 | 1,071 | -6% | 0 | 0 | — |
case-18 | fail→pass | 9,019 | 1,770 | -80% | 1 | 1 | 0% | 1,652 | 1,060 | -36% | 0 | 0 | — |
case-20 | fail→pass | 8,317 | 2,505 | -70% | 1 | 1 | 0% | 1,457 | 1,055 | -28% | 0 | 0 | — |
case-21 | fail→pass | 7,178 | 1,677 | -77% | 1 | 1 | 0% | 1,281 | 960 | -25% | 0 | 0 | — |
case-22 | fail→pass | 9,337 | 1,286 | -86% | 1 | 1 | 0% | 1,907 | 954 | -50% | 0 | 0 | — |
case-23 | fail→pass | 6,979 | 1,524 | -78% | 1 | 1 | 0% | 1,437 | 959 | -33% | 0 | 0 | — |
case-24 | fail→pass | 8,448 | 1,575 | -81% | 1 | 1 | 0% | 1,611 | 1,033 | -36% | 0 | 0 | — |
case-25 | fail→pass | 8,835 | 3,000 | -66% | 1 | 1 | 0% | 1,592 | 994 | -38% | 0 | 0 | — |
case-26 | fail→pass | 8,587 | 1,862 | -78% | 1 | 1 | 0% | 1,504 | 1,081 | -28% | 0 | 0 | — |
case-27 | fail→pass | 6,308 | 1,938 | -69% | 1 | 1 | 0% | 1,070 | 1,080 | +1% | 0 | 0 | — |
case-28 | fail→pass | 7,424 | 1,929 | -74% | 1 | 1 | 0% | 1,507 | 1,098 | -27% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 28 cases were attempted, and 27 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +89 percentage points is the difference between those two pass rates over the 27 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.