After spending months dealing with AI agents screwing up Word document formatting, I finally sat down and tackled the problem.

It's difficult to do, because Microsoft Word keeps almost none of a document's formatting next to the words themselves. If you ask an agent to edit a document, it may use a font or spacing style that is inconsistent because it genuinely can't read the styling information.

So the thing I built was originally a feature inside of SquarePact (and it's still there). It works out what a paragraph's formatting actually is before it compares anything, and only then goes looking for the heading spaced unlike its siblings, or the run of text a shade off the black around it.

Now I've adapted that routine into a skill file, so you can use it with your own agents. You can download it and use it with one line, and instantly level up how well your agents can edit Word docs.

How to install it

Claude Code has its own installer, so there's nothing to download by hand. The first line adds my skills as a marketplace and the second installs this one:

/plugin marketplace add https://actualization.ai/skills/skills.json
/plugin install formatting-check@licato

Codex, Cursor, Gemini CLI and the other agents that read the shared ~/.agents/skills/ folder take the file directly instead:

curl -LO https://actualization.ai/skills/formatting-check-skill-0.9.0.zip
unzip -q formatting-check-skill-0.9.0.zip
mkdir -p ~/.agents/skills
cp -R formatting-check ~/.agents/skills/

That leaves you with ~/.agents/skills/formatting-check/SKILL.md, which is the whole thing. It's one file and it reads your document without changing it.

An example

Point it at a document and ask. In Claude Code the skill is its own slash command:

/formatting-check ~/Documents/services-agreement.docx

Anywhere else, name the skill in an ordinary sentence, which is what its description is there for:

Use the formatting-check skill on ~/Documents/services-agreement.docx.

You get a count first, then the findings grouped by the kind of defect, and each one quotes the text it's talking about and tells you what the paragraphs around it are doing. A finding reads like this:

Heading spacing, Heading 2. "Term and Termination" sets 18 pt of space before it. The other four Heading 2 paragraphs set nothing of their own and inherit 24 pt from the style. Either let this one inherit as well, or set the other four to 18 pt.

That heading is the kind of thing nobody catches by reading, because on screen it looks like a heading. The difference only exists in the styling, which is exactly the half your agent was never looking at.

It's on the skills page with the others. Enjoy!

If you run it on something real, tell me what it caught and what it missed. That is what decides what I look at next.