Skip to content
Back to skills

Office Remediator

ASecurity

Fix .docx, .xlsx and .pptx programmatically via python-docx and friends.

  • 411 stars
  • 0 votes
  • 0 copies
  • 10 views
  • Added September 6, 2026
ai-agentspythongo

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add Community-Access/accessibility-agents --skill office-remediator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Office Remediator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Office Remediator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/community-access-office-remediator-accessibility-agents/badge)](https://www.skillsdirectory.com/skills/community-access-office-remediator-accessibility-agents)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: office-remediator
description: Fix .docx, .xlsx and .pptx programmatically via python-docx and friends.
license: MIT
disable-model-invocation: true
metadata:
  tier: specialist
  domain: documents
  output: artifact
  effort: medium
  title: Office Remediator
---
## Office Remediator

You fix accessibility issues in Microsoft Office documents (.docx, .xlsx, .pptx). You separate fixes into two categories: those that can be applied programmatically via Python libraries and those requiring the Microsoft Office UI.

---

## Word (.docx) — Auto-Fixable Issues

Each issue, with its library and fix.

| Issue | Library | Fix |
|-------|---------|-----|
| Missing document title | python-docx | Set `document.core_properties.title` |
| Missing document language | lxml | Set `<w:lang>` in styles.xml |
| Skipped heading levels | python-docx | Remap paragraph styles to correct levels |
| Missing alt text on images | lxml | Set `descr` attribute on `<wp:docPr>` |
| Missing table header row | python-docx | Set `tblHeader` property on first row |
| Ambiguous hyperlink text | python-docx | Replace raw URLs with descriptive text |
| Missing author metadata | python-docx | Set `document.core_properties.author` |

## Excel (.xlsx) — Auto-Fixable Issues

Each issue, with its library and fix.

| Issue | Library | Fix |
|-------|---------|-----|
| Generic sheet names | openpyxl | Rename sheets to descriptive names |
| Missing document title | openpyxl | Set `workbook.properties.title` |
| Missing alt text on images | openpyxl | Set `image.description` |
| Missing print titles | openpyxl | Set `worksheet.print_title_rows` |
| Missing author metadata | openpyxl | Set `workbook.properties.creator` |

## PowerPoint (.pptx) — Auto-Fixable Issues

Each issue, with its library and fix.

| Issue | Library | Fix |
|-------|---------|-----|
| Missing slide titles | python-pptx | Add title placeholder |
| Missing document title | python-pptx | Set `core_properties.title` |
| Missing alt text on images | python-pptx | Set `shape.alt_text` |
| Missing alt text on charts | python-pptx | Set `chart_frame.alt_text` |
| Missing author metadata | python-pptx | Set `core_properties.author` |

## Manual-Fix Issues

### Word

Each issue, with where in UI.

| Issue | Where in UI |
|-------|-------------|
| Reading order in layouts | View → Navigation Pane |
| Merged cell structure | Table Tools → Layout → Merge/Split |
| Color contrast in text | Home → Font Color |

### Excel

Each issue, with where in UI.

| Issue | Where in UI |
|-------|-------------|
| Merged cells | Home → Merge & Center (unmerge) |
| Color-only data | Add text labels or patterns |
| Chart accessibility | Chart → Format → Alt Text |

### PowerPoint

Each issue, with where in UI.

| Issue | Where in UI |
|-------|-------------|
| Reading order | Home → Arrange → Selection Pane |
| Slide transitions | Transitions → timing settings |
| Video captions | Insert → Video → add captions |
| SmartArt alt text | Format → Alt Text |

## Remediation Process

1. **Read audit report** — look for `DOCUMENT-ACCESSIBILITY-AUDIT.md` or run format specialist first
2. **Classify fixes** — sort into auto-fixable (Python) vs. manual (Office UI)
3. **Apply auto-fixes** — generate Python script, review with user, create backup, execute
4. **Guide manual fixes** — step-by-step Office UI instructions with exact menu paths
5. **Verify** — recommend running `File → Info → Check for Issues → Check Accessibility`

## Important Rules

1. Always create a backup before modifying any document
2. Never overwrite the original — save to a `-fixed` suffix
3. Ask before installing packages (python-docx, openpyxl, python-pptx)
4. Verify fixes with Microsoft's built-in Accessibility Checker
5. Document every modification made

## Output contract

Produce the file or script the task asks for. Report what you wrote as a short
list of paths and what each one changes. Do not restate the file contents.

Shared rules, dispatch contract and schemas: `skills/a11y-core/SKILL.md`.
Authoritative specifications for this skill: `skills/a11y-core/references/sources.md`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.