Docx Diff & Comment
SkillDocs & knowledgeCompare two Word documents to find new features in V2, add comments to the V2 document for each new feature, and generate a requirements table with effort estimation in person-days. Invoke when user asks to compare two docx documents, add comments for new features, or generate a requirements diff table.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Docx Diff & Comment skill
What this skill tells your AI
The instructions your AI receives, as published by trae-community/trae-skills in skills/docx-diff-comment/SKILL.md and read by ahel’s review.
Description
This skill compares two versions of a Word document (V1 and V2), identifies new features added in V2, adds Word comments (annotations) to the V2 document at each new feature location, and generates a standalone requirements table sorted by development effort (person-days).
Prerequisites
The following tools are required:
- pandoc: Convert docx to markdown for text extraction and comparison
- python-docx: Generate the requirements table as a Word document
- docx unpack/pack utilities: Helper scripts (
unpack.py,comment.py,pack.py,sanitize.py) to manipulate the OOXML structure of docx files (these scripts are typically available in docx-processing toolkits)
Usage Scenario
- Comparing two versions of a requirements document or project plan
- Annotating new features in a revised document
- Generating a development effort estimation table for new requirements
Instructions
Step 1: Extract Text & Compare
- Use
pandocto convert both docx files to markdown:pandoc v1.docx -o v1_content.md pandoc v2.docx -o v2_content.md - Read both md files, compare paragraph by paragraph, identify new features, chapters, and sub-modules in V2
- For each new item, record: feature name, module, description
Step 2: Add Comments to V2 Document
- Unpack V2 docx:
python scripts/unpack.py v2.docx v2_unpacked/ - Read
v2_unpacked/word/document.xml, locate the<w:r>...</w:r>block containing each new feature text - Create comments using
comment.py. Use a consistent comment template and author:python scripts/comment.py v2_unpacked/ <comment_id> "V2 new feature: <module> / <feature>. Not present in V1, added in V2."- Comment author should be set to "AI Assistant"
comment_idstarts from 0 and increments for each new feature
- Insert comment markers into document.xml:
- Before the target
<w:r>:<w:commentRangeStart w:id="N"/> - After
</w:r>:<w:commentRangeEnd w:id="N"/><w:r><w:rPr><w:rStyle w:val="CommentReference"/></w:rPr><w:commentReference w:id="N"/></w:r> - Markers must be direct children of
<w:p>, never inside<w:r> - Insert from the end backward to avoid position offset
- Before the target
- Pack the annotated document:
python scripts/pack.py v2_unpacked/ v2_annotated.docx --original v2.docx - Run
sanitize.pyto clean up any malformed XML or orphaned comment references
Step 3: Generate Requirements Table
Use python-docx to generate a Word table with these columns:
| Column | Description |
|---|---|
| No. | Sorted by effort descending |
| Feature Name | Name of the new feature |
| Module | Functional module |
| Description | Brief description |
| Development Content | Specific dev work |
| Effort (person-days) | Estimated days |
Append summary row with total feature count and total person-days.
Effort Estimation Reference
The following table provides reference effort ranges for common feature types. Final estimates should be adjusted based on actual complexity, team size, and technology stack.
| Feature Type | Reference Range (person-days) | Description | Example |
|---|---|---|---|
| Brand-new independent module (with algorithm/model) | 6–10 | Module introduces new technical capability; may involve ML/NLP components | AI measurement, NLP parsing, rule engine |
| Visualization component integration | 4–6 | Integrate third-party or self-built visualization widgets | GIS map dashboard, chart library, data timeline |
| Interactive feature development | 3–5 | New user interactions on existing pages | Area selection query, layer toggle, drag-and-drop |
| Data storage / export enhancement | 2–3 | Extend existing data workflows | Save & download, Excel export, file upload |
| Statistics / classification function | 1–2 | Add or refine counting/categorical logic | Project status statistics, report breakdown by dimension |
| Documentation / process design | 1 | Non-code work items | API doc writing, mechanism design, acceptance plan |
Note: These are reference values only. Always document assumptions in the table footer.
Notes
- Comparison scope: Focus on structural differences — new modules, sub-features, chapters. Ignore wording tweaks, typo fixes, and formatting changes.
- Cleanup: Delete temporary files (
.md, unpacked directories) after completion. Only keep the final deliverables. - Deliverable naming convention:
{DocumentName}_V2_with_comments.docx— Annotated V2 document with all new features highlightedV2_New_Requirements_Table.docx— Requirements table sorted by effort (person-days), with summary row
- Batch comment insertion: When inserting multiple comment markers in
document.xml, always process from the end of the file backward to avoid position offsets.
Examples
Input
User provides two docx files:
Platform_V1.docx(old version)Platform_V2.docx(new version)
Output
Platform_V2_annotated.docx— V2 document with comments on all new featuresV2_new_requirements_table.docx— Requirements table sorted by effort, e.g.:
| No. | Feature | Module | Effort (days) |
|---|---|---|---|
| 1 | AI Calculation | Investment | 8 |
| 2 | Map Visualization | Dashboard | 5 |
| 3 | Infrastructure Dashboard | Dashboard | 5 |
| ... | ... | ... | ... |
| Total | 34 |
Signals
- GitHub stars
- 20
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
docx-diff-comment- Source
- github.com/trae-community/trae-skills