Install any skill in seconds. Free to start, no credit card required.
Get Started Free →PDF accessibility remediator. Generates scripts for programmatic fixes (title, language, reading order, tag corrections, alt text) via pdf-lib/qpdf/ghostscript, and provides step-by-step Adobe Acrobat Pro instructions for manual fixes (table structure, complex layouts, form tooltips).
.claude/skills/community-access-pdf-remediator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -1% | 0% |
Derived from .claude/agents/pdf-remediator.md. Treat platform-specific tool names or delegation instructions as Codex equivalents.
You fix accessibility issues in PDF documents. You separate fixes into two categories: those that can be applied programmatically and those requiring Adobe Acrobat Pro or the original authoring tool.
| Issue | Tool | Fix | |-------|------|-----| | Missing document title | pdf-lib | Set XMP dc:title metadata | | Missing document language | qpdf | Set /Lang in PDF catalog | | Missing reading order | qpdf | Add /Tabs /S entry | | Incorrect tag types | qpdf | Remap tags | | Decorative images not artifact | qpdf | Mark as <Artifact> | | Missing alt text on figures | pdf-lib | Add /Alt attribute | | Missing PDF/UA identifier | pdf-lib | Add /PDFUA-1 metadata | | Missing XMP metadata | pdf-lib | Generate XMP block |
| Issue | Why Manual | Tool Required | |-------|-----------|---------------| | Table structure | Complex tag tree manipulation | Acrobat Pro Tags panel | | Form field tooltips | Per-field editing | Acrobat Pro Forms editor | | Complex reading order | Visual reading order tool | Acrobat Pro Order panel | | Abbreviation replacement text | Context-dependent | Acrobat Pro Tags panel | | Color contrast in images | Image editing required | Image editor + re-embed | | Bookmark structure | Must match heading hierarchy | Acrobat Pro Bookmarks panel |
Look for existing audit results or run pdf-accessibility first.
Sort findings into auto-fixable vs. manual. Present classification to user.
Generate remediation script, review with user, create backup, run and verify.
Provide detailed Acrobat Pro instructions for each issue, one at a time.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 17,811 | 13,983 | -21% | 1 | 1 | 0% | 3,061 | 3,395 | +11% | 0 | 0 | — |
case-02 | fail→fail | 18,060 | 13,333 | -26% | 1 | 1 | 0% | 2,921 | 2,994 | +2% | 0 | 0 | — |
case-03 | fail→pass | 20,570 | 17,228 | -16% | 1 | 1 | 0% | 3,716 | 3,794 | +2% | 0 | 0 | — |
case-04 | fail→fail | 12,526 | 12,167 | -3% | 1 | 1 | 0% | 2,346 | 2,829 | +21% | 0 | 0 | — |
case-05 | fail→fail | 13,623 | 10,372 | -24% | 1 | 1 | 0% | 2,570 | 2,621 | +2% | 0 | 0 | — |
case-06 | pass→pass | 12,510 | 10,250 | -18% | 1 | 1 | 0% | 2,330 | 2,624 | +13% | 0 | 0 | — |
case-07 | fail→pass | 15,360 | 17,037 | +11% | 1 | 1 | 0% | 2,668 | 3,844 | +44% | 0 | 0 | — |
case-08 | fail→pass | 17,037 | 15,940 | -6% | 1 | 1 | 0% | 2,545 | 3,290 | +29% | 0 | 0 | — |
case-09 | fail→pass | 15,661 | 10,217 | -35% | 1 | 1 | 0% | 2,543 | 2,506 | -1% | 0 | 0 | — |
case-10 | pass→pass | 16,283 | 9,076 | -44% | 1 | 1 | 0% | 2,974 | 2,301 | -23% | 0 | 0 | — |
case-11 | fail→pass | 17,628 | 15,837 | -10% | 1 | 1 | 0% | 2,731 | 3,238 | +19% | 0 | 0 | — |
case-12 | pass→fail | 13,602 | 8,588 | -37% | 1 | 1 | 0% | 2,139 | 1,994 | -7% | 0 | 0 | — |
case-13 | fail→pass | 16,750 | 10,051 | -40% | 1 | 1 | 0% | 2,690 | 2,215 | -18% | 0 | 0 | — |
case-14 | pass→pass | 15,314 | 14,167 | -7% | 1 | 1 | 0% | 2,450 | 3,052 | +25% | 0 | 0 | — |
case-15 | fail→pass | 13,730 | 12,808 | -7% | 1 | 1 | 0% | 2,205 | 2,603 | +18% | 0 | 0 | — |
case-16 | pass→pass | 5,760 | 3,844 | -33% | 1 | 1 | 0% | 864 | 1,249 | +45% | 0 | 0 | — |
case-17 | fail→pass | 16,666 | 14,869 | -11% | 1 | 1 | 0% | 3,047 | 3,597 | +18% | 0 | 0 | — |
case-18 | pass→pass | 17,118 | 15,086 | -12% | 1 | 1 | 0% | 2,611 | 3,008 | +15% | 0 | 0 | — |
case-19 | pass→pass | 6,860 | 5,137 | -25% | 1 | 1 | 0% | 1,118 | 1,461 | +31% | 0 | 0 | — |
case-20 | pass→pass | 13,869 | 9,164 | -34% | 1 | 1 | 0% | 2,752 | 2,400 | -13% | 0 | 0 | — |
case-21 | pass→pass | 12,708 | 8,850 | -30% | 1 | 1 | 0% | 2,036 | 2,091 | +3% | 0 | 0 | — |
case-22 | pass→pass | 25,093 | 21,128 | -16% | 1 | 1 | 0% | 5,423 | 5,018 | -7% | 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. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.