Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Audit Microsoft Word (.docx) documents for heading hierarchy, comments, tracked changes, broken cross-references, and style consistency. Use when reviewing a contract draft, preparing a document for handoff, or enforcing a style guide.
.claude/skills/borghei-docx-toolkit/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 401% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -22% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 13% | 0% |
Audit .docx files using the standard library only — no python-docx required. Reads OOXML directly with zipfile + xml.etree.
docx, Word, Microsoft Word, document, document review, comments, tracked changes, redline, headings, style guide, word count, document audit
Before running the audit, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
bashpython scripts/docx_auditor.py contract.docx
Outputs: word count, paragraph count, heading hierarchy, comment count, tracked-changes status, hyperlink count, list of unique paragraph styles used.
Goal: Catch the issues that embarrass a sender — leftover comments, unresolved track changes, broken heading hierarchy — before the document leaves.
Steps:
python scripts/docx_auditor.py document.docxTime Estimate: 5-15 minutes per document.
Goal: Quantify how much rework a returned contract needs before reading it line-by-line.
Steps:
.docxreferences/docx_review_checklist.md for the actual content reviewTime Estimate: 1 minute per document for triage.
Goal: Detect documents drifting from your style guide before they ship to a customer.
Steps:
assets/style_compliance_template.md)Time Estimate: 2-5 minutes per document.
Reads a .docx file as a ZIP archive and parses OOXML directly. No external dependencies.
bash# Human-readable python scripts/docx_auditor.py document.docx # JSON python scripts/docx_auditor.py document.docx --json
Reports:
Limits: This tool reads existing docx files. For generating docx, use the templates in assets/ and edit in Word, or install python-docx separately.
references/docx_review_checklist.md — Pre-handoff checklist; common rework triggers; mistakes that survive automated auditsassets/style_compliance_template.md — Format for declaring allowed paragraph stylesassets/handoff_checklist_template.md — Pre-send checklist with sign-off boxeslegal/ skills for contract redlinesmarketing/copywriting/ for content reviewc-level-advisor/board-deck-builder for board-pack documents| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,976 | 20,168 | +237% | 1 | 1 | 0% | 973 | 4,874 | +401% | 0 | 0 | — |
case-02 | fail→fail | 8,345 | 8,354 | +0% | 1 | 1 | 0% | 1,248 | 2,442 | +96% | 0 | 0 | — |
case-03 | fail→fail | 7,152 | 10,207 | +43% | 1 | 1 | 0% | 1,202 | 2,927 | +144% | 0 | 0 | — |
case-04 | pass→pass | 6,562 | 4,770 | -27% | 1 | 1 | 0% | 1,197 | 1,990 | +66% | 0 | 0 | — |
case-05 | pass→pass | 8,789 | 6,308 | -28% | 1 | 1 | 0% | 1,523 | 2,166 | +42% | 0 | 0 | — |
case-06 | pass→pass | 12,129 | 12,359 | +2% | 1 | 1 | 0% | 2,259 | 3,554 | +57% | 0 | 0 | — |
case-07 | pass→pass | 10,631 | 4,199 | -61% | 1 | 1 | 0% | 1,668 | 1,831 | +10% | 0 | 0 | — |
case-08 | pass→pass | 8,507 | 4,805 | -44% | 1 | 1 | 0% | 1,321 | 1,867 | +41% | 0 | 0 | — |
case-09 | pass→pass | 5,345 | 3,660 | -32% | 1 | 1 | 0% | 770 | 1,694 | +120% | 0 | 0 | — |
case-10 | pass→pass | 5,620 | 1,559 | -72% | 1 | 1 | 0% | 960 | 1,389 | +45% | 0 | 0 | — |
case-11 | pass→pass | 14,021 | 9,664 | -31% | 1 | 1 | 0% | 2,669 | 3,216 | +20% | 0 | 0 | — |
case-12 | fail→pass | 12,168 | 7,600 | -38% | 1 | 1 | 0% | 1,731 | 2,253 | +30% | 0 | 0 | — |
case-13 | fail→pass | 11,933 | 1,501 | -87% | 1 | 1 | 0% | 1,749 | 1,364 | -22% | 0 | 0 | — |
case-14 | fail→pass | 6,587 | 2,189 | -67% | 1 | 1 | 0% | 986 | 1,439 | +46% | 0 | 0 | — |
case-15 | fail→pass | 9,863 | 1,786 | -82% | 1 | 1 | 0% | 1,207 | 1,367 | +13% | 0 | 0 | — |
case-16 | fail→pass | 9,453 | 17,386 | +84% | 1 | 1 | 0% | 1,510 | 4,583 | +204% | 0 | 0 | — |
case-17 | pass→pass | 4,310 | 4,952 | +15% | 1 | 1 | 0% | 651 | 1,855 | +185% | 0 | 0 | — |
case-18 | fail→pass | 13,143 | 1,909 | -85% | 1 | 1 | 0% | 659 | 1,419 | +115% | 0 | 0 | — |
case-19 | fail→pass | 15,811 | 12,180 | -23% | 1 | 1 | 0% | 2,389 | 2,867 | +20% | 0 | 0 | — |
case-20 | pass→pass | 3,066 | 3,057 | -0% | 1 | 1 | 0% | 506 | 1,665 | +229% | 0 | 0 | — |
case-21 | fail→pass | 7,143 | 2,977 | -58% | 1 | 1 | 0% | 1,006 | 1,658 | +65% | 0 | 0 | — |
case-22 | pass→pass | 6,234 | 2,066 | -67% | 1 | 1 | 0% | 853 | 1,479 | +73% | 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, and 21 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 +41 percentage points is the difference between those two pass rates over the 21 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.