Two related gaps in skills/docx around tracked changes and templates.
1. Tracked-change markup is specified only in prose
SKILL.md:63 describes the OOXML for insertions, deletions, and deleted paragraph marks in a single paragraph:
- the
w:id,w:author, andw:dateattributes <w:delText>instead of<w:t>inside<w:del>- the deleted paragraph mark
- the schema-enforced position of
<w:del/>among therPrchildren
This is the most fragile markup the skill asks the model to produce, and the model has to rebuild it from prose every time. validate.py --author catches mistakes only after the edit is made.
Comments already have exact XML templates and a helper script (comment.py). Tracked changes should get the same treatment: either a copy-paste XML template block for an insertion, a deletion, and a deleted paragraph, or a scripts/redline.py helper that wraps given runs.
2. scripts/accept_changes.py:46 rejects .dotx
if not input_path.suffix.lower() == ".docx":
return None, f"Error: Input file is not a DOCX file: {input_file}"The skill's description explicitly covers Word templates (.dotx), but producing a clean copy of a template with tracked changes fails at this check.
Found in an audit of the installed skills against Skill authoring best practices. Checked against main at dbd4588 (2026-10-09).
Activity
3Two related gaps in
skills/docxaround tracked changes and templates.1. Tracked-change markup is specified only in prose
SKILL.md:63describes the OOXML for insertions, deletions, and deleted paragraph marks in a single paragraph:
- the
w:id,w:author, andw:dateattributes<w:delText>instead of<w:t>inside<w:del>- the deleted paragraph mark
- the schema-enforced position of
<w:del/>among therPrchildrenThis is the most fragile markup the skill asks the model to produce, and the model has to rebuild it from prose every time.
validate.py --authorcatches mistakes only after the edit is made.Comments already have exact XML templates and a helper script (
comment.py). Tracked changes should get the same treatment: either a copy-paste XML template block for an insertion, a deletion, and a deleted paragraph, or ascripts/redline.pyhelper that wraps given runs.2.
scripts/accept_changes.py:46rejects.dotxif not input_path.suffix.lower() == ".docx": return None, f"Error: Input file is not a DOCX file: {input_file}"The skill's description explicitly covers Word templates (
.dotx), but producing a clean copy of a template with tracked changes fails at this check.
Found in an audit of the installed skills against Skill authoring best practices. Checked against
mainatdbd4588(2026-10-09).
https://www.youtube.com/@AmericanLens-r5f