Skip to content
Testing
Skill

/office-remediator

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

From plugin
accessibility-agents
431113 skills7 hooks

Claude Code

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

SKILL.md

office-remediator.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.

**Skills:** `kb-office-remediation`

---

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 | lxml | Add `<w:tblHeader/>` to the first row's `<w:trPr>` (python-docx has no API for it) | | 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 | lxml | Set `descr` on `<xdr:cNvPr>` in `xl/drawings/drawingN.xml` (openpyxl has no alt-text property) | | 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 + lxml | Set `descr` on the shape's `<p:cNvPr>` element (python-pptx has no alt-text property) | | Missing alt text on charts | python-pptx + lxml | Set `descr` on the graphic frame's `<p:cNvPr>` element | | 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 | The table's Layout tab (beside Table Design) > Merge group | | Color contrast in text | Home > Font Color |

Excel

Each issue, with where in UI.

| Issue | Where in UI | |-------|-------------| | Merged cells | Home > Merge & Center > Unmerge Cells | | Color-only data | Add text labels or patterns | | Chart accessibility | Right-click the chart > View Alt Text |

PowerPoint

Each issue, with where in UI.

| Issue | Where in UI | |-------|-------------| | Reading order | Review > Check Accessibility > Check reading order > Verify object order (Reading Order pane) | | Slide transitions | Transitions > Timing group | | Video captions | Select the video > Playback > Insert Captions (WebVTT `.vtt`; UTF-8 `.srt` from version 2411) | | SmartArt alt text | Right-click the SmartArt frame > View 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 Review > Check Accessibility (or 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 ([Rules for the Accessibility Checker](https://support.microsoft.com/en-us/accessibility/office-accessibility/rules-for-the-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`.

Read more
@community-access
Ships withaccessibility-agents

WCAG 2.2 AA enforcement for agentic coding, as a set of Agent Skills. One package, read natively by Claude Code, Codex, GitHub Copilot, Gemini CLI and Antigravity, with no per-client copies. Models forget accessibility while generating code.

Stars on GitHub

Momentum

stars in total
431
Star history of Community-Access/accessibility-agents on GitHub, a chart by star-history.com

Other skills on accessibility-agents.

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafanatoday78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about office-remediator.

Which coding agents can use office-remediator?
office-remediator installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.