视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
docx-diff-comment【文档与办公】Compare 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.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
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).
The following tools are required:
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)pandoc to convert both docx files to markdown:
pandoc v1.docx -o v1_content.md
pandoc v2.docx -o v2_content.md
python scripts/unpack.py v2.docx v2_unpacked/
v2_unpacked/word/document.xml, locate the <w:r>...</w:r> block containing each new feature textcomment.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_id starts from 0 and increments for each new feature<w:r>: <w:commentRangeStart w:id="N"/></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><w:p>, never inside <w:r>python scripts/pack.py v2_unpacked/ v2_annotated.docx --original v2.docx
sanitize.py to clean up any malformed XML or orphaned comment referencesUse 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.
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.
.md, unpacked directories) after completion. Only keep the final deliverables.{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 rowdocument.xml, always process from the end of the file backward to avoid position offsets.User provides two docx files:
Platform_V1.docx (old version)Platform_V2.docx (new version)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 |