Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Professional DOCX/PPTX document editing with tracked changes, formatting preservation, highlights, strikethrough, and Git version control.
Professional DOCX/PPTX document editing with tracked changes, formatting preservation, highlights, strikethrough, and Git version control.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Professional document editing for any DOCX/PPTX file from any source.
TaskApproachFetch file from uploadbash scripts/fetch_file.sh uploadFetch file from URLbash scripts/fetch_file.sh https://example.com/file.docxFetch file from SFTPbash scripts/fetch_file.sh sftp://user@host:/path/file.docxEdit DOCXuv run python scripts/docx_editor.py input.docx output.docx edits.jsonEdit PPTXuv run python scripts/pptx_editor.py input.pptx output.pptx edits.jsonGenerate diffuv run python scripts/generate_diff.py old.docx new.docx diff.mdInteractive modebash scripts/interactive_edit.sh
# Get latest uploaded DOCX bash scripts/fetch_file.sh upload output.docx # Get latest uploaded PPTX bash scripts/fetch_file.sh upload output.pptx Location: ~/.openclaw/workspace/media/inbound/file_*.docx
# Copy from local path bash scripts/fetch_file.sh ~/Documents/report.docx output.docx # Or direct path bash scripts/fetch_file.sh /absolute/path/file.pptx output.pptx
# Download from URL bash scripts/fetch_file.sh https://example.com/document.docx output.docx
# Fetch via SFTP bash scripts/fetch_file.sh sftp://user@host:/path/file.docx output.docx
Create edits.json with your editing instructions: { "description": "Edit description", "replacements": [ { "search": "old text", "replace": "new text", "style": "highlight" } ], "additions": [ { "after": "after this text", "text": "add this text", "style": "highlight" } ], "slides": [ { "action": "rearrange", "order": [0, 2, 1, 3] } ] }
replace - Direct replacement highlight - Yellow highlight delete - Strikethrough bold - Bold text underline - Underline
rearrange - Change slide order add - Add new slide remove - Delete slide
uv run python scripts/docx_editor.py input.docx output.docx edits.json Features: Paragraph text editing Table cell editing Format preservation Multiple replacements Text additions
uv run python scripts/pptx_editor.py input.pptx output.pptx edits.json Features: Slide text replacement Slide rearrangement Add/remove slides Format preservation
uv run python scripts/generate_diff.py input.docx output.docx diff-report.md Output: Standard Unified Diff format in Markdown.
# From upload bash scripts/fetch_file.sh upload input.docx # From URL bash scripts/fetch_file.sh https://example.com/file.docx input.docx # From local path bash scripts/fetch_file.sh ~/Documents/file.docx input.docx
{ "description": "IRB Review Response", "replacements": [ { "search": "2026 ๅนด 2 ๆ 28 ๆฅ", "replace": "2026 ๅนด 8 ๆ 31 ๆฅ", "style": "highlight" } ] }
uv run python scripts/docx_editor.py input.docx output.docx edits.json
# Unified Diff uv run python scripts/generate_diff.py input.docx output.docx diff.md # Convert to Markdown uv run markitdown output.docx > output.md
git add *.docx *.md diff.md git commit -m "Edit: Description of changes"
For guided editing: bash scripts/interactive_edit.sh This will prompt you through: File source selection Edit type selection Details collection Output location
{ "replacements": [ { "search": "February 28, 2026", "replace": "August 31, 2026", "style": "highlight" } ] }
{ "additions": [ { "after": "What is the research topic?", "text": "[ANSWER] Data Structures and Algorithms", "style": "highlight" } ] }
{ "slides": [ { "action": "rearrange", "order": [0, 2, 1, 3, 4] } ] }
โ Text, paragraphs, tables: Fully preserved โ Highlights, strikethrough, bold: Supported โ ๏ธ Complex styles (custom themes): May be lost โ Images, charts: Manual handling required
python-docx requires exact match (including spaces, punctuation, newlines) for table text. Solutions: Use shorter search strings Use markitdown to preview table content first Use exact match in JSON
Use local Git repo (do not upload to GitHub) Add sensitive files to .gitignore Backup to secure location regularly
uv: Package management and virtual environment python-docx: DOCX editing python-pptx: PPTX editing mammoth: DOCX to Markdown conversion markitdown: Universal document conversion curl: URL downloads sftp: SFTP file transfers (optional)
cd ~/.openclaw/workspace/skills/office-document-editor uv sync
Cause: Text doesn't match exactly Solution: # Preview content uv run markitdown input.docx # Use exact text from preview
Solution: cd ~/.openclaw/workspace/skills/office-document-editor uv sync
Solutions: Check file path is correct Try uploading the file again Verify URL is accessible Check SFTP credentials
Universal file fetcher for all source types. bash scripts/fetch_file.sh <source> [output_filename] Sources: upload - Latest uploaded file /path/to/file - Local path https://... - Public URL sftp://... - SFTP remote
Edit Word documents with formatting. uv run python scripts/docx_editor.py input.docx output.docx edits.json
Edit PowerPoint presentations. uv run python scripts/pptx_editor.py input.pptx output.pptx edits.json
Generate Unified Diff reports. uv run python scripts/generate_diff.py old.docx new.docx diff.md
Interactive guided editing. bash scripts/interactive_edit.sh
Complete automated workflow. bash scripts/workflow_complete.sh input.docx edits.json
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.