{
  "schemaVersion": "1.0",
  "item": {
    "slug": "office-document-editor",
    "name": "Office Document Editor",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/TsukiSama9292/office-document-editor",
    "canonicalUrl": "https://clawhub.ai/TsukiSama9292/office-document-editor",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/office-document-editor",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=office-document-editor",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/docx_editor.py",
      "scripts/fetch_file.sh",
      "scripts/generate_diff.py",
      "scripts/interactive_edit.sh",
      "scripts/pptx_editor.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/office-document-editor"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/office-document-editor",
    "agentPageUrl": "https://openagent3.xyz/skills/office-document-editor/agent",
    "manifestUrl": "https://openagent3.xyz/skills/office-document-editor/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/office-document-editor/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Universal Office Document Editor",
        "body": "Professional document editing for any DOCX/PPTX file from any source."
      },
      {
        "title": "Quick Reference",
        "body": "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"
      },
      {
        "title": "Uploaded Files (Chat Attachments)",
        "body": "# Get latest uploaded DOCX\nbash scripts/fetch_file.sh upload output.docx\n\n# Get latest uploaded PPTX\nbash scripts/fetch_file.sh upload output.pptx\n\nLocation: ~/.openclaw/workspace/media/inbound/file_*.docx"
      },
      {
        "title": "Local Filesystem Paths",
        "body": "# Copy from local path\nbash scripts/fetch_file.sh ~/Documents/report.docx output.docx\n\n# Or direct path\nbash scripts/fetch_file.sh /absolute/path/file.pptx output.pptx"
      },
      {
        "title": "Public URLs",
        "body": "# Download from URL\nbash scripts/fetch_file.sh https://example.com/document.docx output.docx"
      },
      {
        "title": "SFTP/SSH Remote Files",
        "body": "# Fetch via SFTP\nbash scripts/fetch_file.sh sftp://user@host:/path/file.docx output.docx"
      },
      {
        "title": "Creating Edit Rules",
        "body": "Create edits.json with your editing instructions:\n\n{\n  \"description\": \"Edit description\",\n  \"replacements\": [\n    {\n      \"search\": \"old text\",\n      \"replace\": \"new text\",\n      \"style\": \"highlight\"\n    }\n  ],\n  \"additions\": [\n    {\n      \"after\": \"after this text\",\n      \"text\": \"add this text\",\n      \"style\": \"highlight\"\n    }\n  ],\n  \"slides\": [\n    {\n      \"action\": \"rearrange\",\n      \"order\": [0, 2, 1, 3]\n    }\n  ]\n}"
      },
      {
        "title": "Supported Styles",
        "body": "replace - Direct replacement\nhighlight - Yellow highlight\ndelete - Strikethrough\nbold - Bold text\nunderline - Underline"
      },
      {
        "title": "Slide Actions (PPTX only)",
        "body": "rearrange - Change slide order\nadd - Add new slide\nremove - Delete slide"
      },
      {
        "title": "Edit DOCX",
        "body": "uv run python scripts/docx_editor.py input.docx output.docx edits.json\n\nFeatures:\n\nParagraph text editing\nTable cell editing\nFormat preservation\nMultiple replacements\nText additions"
      },
      {
        "title": "Edit PPTX",
        "body": "uv run python scripts/pptx_editor.py input.pptx output.pptx edits.json\n\nFeatures:\n\nSlide text replacement\nSlide rearrangement\nAdd/remove slides\nFormat preservation"
      },
      {
        "title": "Generate Diff Report",
        "body": "uv run python scripts/generate_diff.py input.docx output.docx diff-report.md\n\nOutput: Standard Unified Diff format in Markdown."
      },
      {
        "title": "Step 1: Fetch File",
        "body": "# From upload\nbash scripts/fetch_file.sh upload input.docx\n\n# From URL\nbash scripts/fetch_file.sh https://example.com/file.docx input.docx\n\n# From local path\nbash scripts/fetch_file.sh ~/Documents/file.docx input.docx"
      },
      {
        "title": "Step 2: Create Edit Rules",
        "body": "{\n  \"description\": \"IRB Review Response\",\n  \"replacements\": [\n    {\n      \"search\": \"2026 年 2 月 28 日\",\n      \"replace\": \"2026 年 8 月 31 日\",\n      \"style\": \"highlight\"\n    }\n  ]\n}"
      },
      {
        "title": "Step 3: Execute Edit",
        "body": "uv run python scripts/docx_editor.py input.docx output.docx edits.json"
      },
      {
        "title": "Step 4: Generate Reports",
        "body": "# Unified Diff\nuv run python scripts/generate_diff.py input.docx output.docx diff.md\n\n# Convert to Markdown\nuv run markitdown output.docx > output.md"
      },
      {
        "title": "Step 5: Version Control",
        "body": "git add *.docx *.md diff.md\ngit commit -m \"Edit: Description of changes\""
      },
      {
        "title": "Interactive Mode",
        "body": "For guided editing:\n\nbash scripts/interactive_edit.sh\n\nThis will prompt you through:\n\nFile source selection\nEdit type selection\nDetails collection\nOutput location"
      },
      {
        "title": "Example 1: Text Replacement with Highlight",
        "body": "{\n  \"replacements\": [\n    {\n      \"search\": \"February 28, 2026\",\n      \"replace\": \"August 31, 2026\",\n      \"style\": \"highlight\"\n    }\n  ]\n}"
      },
      {
        "title": "Example 2: Add Text After Question",
        "body": "{\n  \"additions\": [\n    {\n      \"after\": \"What is the research topic?\",\n      \"text\": \"[ANSWER] Data Structures and Algorithms\",\n      \"style\": \"highlight\"\n    }\n  ]\n}"
      },
      {
        "title": "Example 3: Rearrange Slides",
        "body": "{\n  \"slides\": [\n    {\n      \"action\": \"rearrange\",\n      \"order\": [0, 2, 1, 3, 4]\n    }\n  ]\n}"
      },
      {
        "title": "Format Preservation",
        "body": "✅ Text, paragraphs, tables: Fully preserved\n✅ Highlights, strikethrough, bold: Supported\n⚠️ Complex styles (custom themes): May be lost\n❌ Images, charts: Manual handling required"
      },
      {
        "title": "Table Text Replacement",
        "body": "python-docx requires exact match (including spaces, punctuation, newlines) for table text.\n\nSolutions:\n\nUse shorter search strings\nUse markitdown to preview table content first\nUse exact match in JSON"
      },
      {
        "title": "Git Best Practices",
        "body": "Use local Git repo (do not upload to GitHub)\nAdd sensitive files to .gitignore\nBackup to secure location regularly"
      },
      {
        "title": "Dependencies",
        "body": "uv: Package management and virtual environment\npython-docx: DOCX editing\npython-pptx: PPTX editing\nmammoth: DOCX to Markdown conversion\nmarkitdown: Universal document conversion\ncurl: URL downloads\nsftp: SFTP file transfers (optional)"
      },
      {
        "title": "Installation",
        "body": "cd ~/.openclaw/workspace/skills/office-document-editor\nuv sync"
      },
      {
        "title": "\"No replacements made\"",
        "body": "Cause: Text doesn't match exactly\n\nSolution:\n\n# Preview content\nuv run markitdown input.docx\n\n# Use exact text from preview"
      },
      {
        "title": "\"Virtual environment not found\"",
        "body": "Solution:\n\ncd ~/.openclaw/workspace/skills/office-document-editor\nuv sync"
      },
      {
        "title": "\"File not found\"",
        "body": "Solutions:\n\nCheck file path is correct\nTry uploading the file again\nVerify URL is accessible\nCheck SFTP credentials"
      },
      {
        "title": "fetch_file.sh",
        "body": "Universal file fetcher for all source types.\n\nbash scripts/fetch_file.sh <source> [output_filename]\n\nSources:\n\nupload - Latest uploaded file\n/path/to/file - Local path\nhttps://... - Public URL\nsftp://... - SFTP remote"
      },
      {
        "title": "docx_editor.py",
        "body": "Edit Word documents with formatting.\n\nuv run python scripts/docx_editor.py input.docx output.docx edits.json"
      },
      {
        "title": "pptx_editor.py",
        "body": "Edit PowerPoint presentations.\n\nuv run python scripts/pptx_editor.py input.pptx output.pptx edits.json"
      },
      {
        "title": "generate_diff.py",
        "body": "Generate Unified Diff reports.\n\nuv run python scripts/generate_diff.py old.docx new.docx diff.md"
      },
      {
        "title": "interactive_edit.sh",
        "body": "Interactive guided editing.\n\nbash scripts/interactive_edit.sh"
      },
      {
        "title": "workflow_complete.sh",
        "body": "Complete automated workflow.\n\nbash scripts/workflow_complete.sh input.docx edits.json"
      }
    ],
    "body": "Universal Office Document Editor\n\nProfessional document editing for any DOCX/PPTX file from any source.\n\nQuick Reference\nTask\tApproach\nFetch file from upload\tbash scripts/fetch_file.sh upload\nFetch file from URL\tbash scripts/fetch_file.sh https://example.com/file.docx\nFetch file from SFTP\tbash scripts/fetch_file.sh sftp://user@host:/path/file.docx\nEdit DOCX\tuv run python scripts/docx_editor.py input.docx output.docx edits.json\nEdit PPTX\tuv run python scripts/pptx_editor.py input.pptx output.pptx edits.json\nGenerate diff\tuv run python scripts/generate_diff.py old.docx new.docx diff.md\nInteractive mode\tbash scripts/interactive_edit.sh\nFile Sources\nUploaded Files (Chat Attachments)\n# Get latest uploaded DOCX\nbash scripts/fetch_file.sh upload output.docx\n\n# Get latest uploaded PPTX\nbash scripts/fetch_file.sh upload output.pptx\n\n\nLocation: ~/.openclaw/workspace/media/inbound/file_*.docx\n\nLocal Filesystem Paths\n# Copy from local path\nbash scripts/fetch_file.sh ~/Documents/report.docx output.docx\n\n# Or direct path\nbash scripts/fetch_file.sh /absolute/path/file.pptx output.pptx\n\nPublic URLs\n# Download from URL\nbash scripts/fetch_file.sh https://example.com/document.docx output.docx\n\nSFTP/SSH Remote Files\n# Fetch via SFTP\nbash scripts/fetch_file.sh sftp://user@host:/path/file.docx output.docx\n\nCreating Edit Rules\n\nCreate edits.json with your editing instructions:\n\n{\n  \"description\": \"Edit description\",\n  \"replacements\": [\n    {\n      \"search\": \"old text\",\n      \"replace\": \"new text\",\n      \"style\": \"highlight\"\n    }\n  ],\n  \"additions\": [\n    {\n      \"after\": \"after this text\",\n      \"text\": \"add this text\",\n      \"style\": \"highlight\"\n    }\n  ],\n  \"slides\": [\n    {\n      \"action\": \"rearrange\",\n      \"order\": [0, 2, 1, 3]\n    }\n  ]\n}\n\nSupported Styles\nreplace - Direct replacement\nhighlight - Yellow highlight\ndelete - Strikethrough\nbold - Bold text\nunderline - Underline\nSlide Actions (PPTX only)\nrearrange - Change slide order\nadd - Add new slide\nremove - Delete slide\nEditing Documents\nEdit DOCX\nuv run python scripts/docx_editor.py input.docx output.docx edits.json\n\n\nFeatures:\n\nParagraph text editing\nTable cell editing\nFormat preservation\nMultiple replacements\nText additions\nEdit PPTX\nuv run python scripts/pptx_editor.py input.pptx output.pptx edits.json\n\n\nFeatures:\n\nSlide text replacement\nSlide rearrangement\nAdd/remove slides\nFormat preservation\nGenerate Diff Report\nuv run python scripts/generate_diff.py input.docx output.docx diff-report.md\n\n\nOutput: Standard Unified Diff format in Markdown.\n\nComplete Workflow\nStep 1: Fetch File\n# From upload\nbash scripts/fetch_file.sh upload input.docx\n\n# From URL\nbash scripts/fetch_file.sh https://example.com/file.docx input.docx\n\n# From local path\nbash scripts/fetch_file.sh ~/Documents/file.docx input.docx\n\nStep 2: Create Edit Rules\n{\n  \"description\": \"IRB Review Response\",\n  \"replacements\": [\n    {\n      \"search\": \"2026 年 2 月 28 日\",\n      \"replace\": \"2026 年 8 月 31 日\",\n      \"style\": \"highlight\"\n    }\n  ]\n}\n\nStep 3: Execute Edit\nuv run python scripts/docx_editor.py input.docx output.docx edits.json\n\nStep 4: Generate Reports\n# Unified Diff\nuv run python scripts/generate_diff.py input.docx output.docx diff.md\n\n# Convert to Markdown\nuv run markitdown output.docx > output.md\n\nStep 5: Version Control\ngit add *.docx *.md diff.md\ngit commit -m \"Edit: Description of changes\"\n\nInteractive Mode\n\nFor guided editing:\n\nbash scripts/interactive_edit.sh\n\n\nThis will prompt you through:\n\nFile source selection\nEdit type selection\nDetails collection\nOutput location\nExamples\nExample 1: Text Replacement with Highlight\n{\n  \"replacements\": [\n    {\n      \"search\": \"February 28, 2026\",\n      \"replace\": \"August 31, 2026\",\n      \"style\": \"highlight\"\n    }\n  ]\n}\n\nExample 2: Add Text After Question\n{\n  \"additions\": [\n    {\n      \"after\": \"What is the research topic?\",\n      \"text\": \"[ANSWER] Data Structures and Algorithms\",\n      \"style\": \"highlight\"\n    }\n  ]\n}\n\nExample 3: Rearrange Slides\n{\n  \"slides\": [\n    {\n      \"action\": \"rearrange\",\n      \"order\": [0, 2, 1, 3, 4]\n    }\n  ]\n}\n\nNotes\nFormat Preservation\n✅ Text, paragraphs, tables: Fully preserved\n✅ Highlights, strikethrough, bold: Supported\n⚠️ Complex styles (custom themes): May be lost\n❌ Images, charts: Manual handling required\nTable Text Replacement\n\npython-docx requires exact match (including spaces, punctuation, newlines) for table text.\n\nSolutions:\n\nUse shorter search strings\nUse markitdown to preview table content first\nUse exact match in JSON\nGit Best Practices\nUse local Git repo (do not upload to GitHub)\nAdd sensitive files to .gitignore\nBackup to secure location regularly\nDependencies\nuv: Package management and virtual environment\npython-docx: DOCX editing\npython-pptx: PPTX editing\nmammoth: DOCX to Markdown conversion\nmarkitdown: Universal document conversion\ncurl: URL downloads\nsftp: SFTP file transfers (optional)\nInstallation\ncd ~/.openclaw/workspace/skills/office-document-editor\nuv sync\n\nTroubleshooting\n\"No replacements made\"\n\nCause: Text doesn't match exactly\n\nSolution:\n\n# Preview content\nuv run markitdown input.docx\n\n# Use exact text from preview\n\n\"Virtual environment not found\"\n\nSolution:\n\ncd ~/.openclaw/workspace/skills/office-document-editor\nuv sync\n\n\"File not found\"\n\nSolutions:\n\nCheck file path is correct\nTry uploading the file again\nVerify URL is accessible\nCheck SFTP credentials\nScripts Reference\nfetch_file.sh\n\nUniversal file fetcher for all source types.\n\nbash scripts/fetch_file.sh <source> [output_filename]\n\n\nSources:\n\nupload - Latest uploaded file\n/path/to/file - Local path\nhttps://... - Public URL\nsftp://... - SFTP remote\ndocx_editor.py\n\nEdit Word documents with formatting.\n\nuv run python scripts/docx_editor.py input.docx output.docx edits.json\n\npptx_editor.py\n\nEdit PowerPoint presentations.\n\nuv run python scripts/pptx_editor.py input.pptx output.pptx edits.json\n\ngenerate_diff.py\n\nGenerate Unified Diff reports.\n\nuv run python scripts/generate_diff.py old.docx new.docx diff.md\n\ninteractive_edit.sh\n\nInteractive guided editing.\n\nbash scripts/interactive_edit.sh\n\nworkflow_complete.sh\n\nComplete automated workflow.\n\nbash scripts/workflow_complete.sh input.docx edits.json"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/TsukiSama9292/office-document-editor",
    "publisherUrl": "https://clawhub.ai/TsukiSama9292/office-document-editor",
    "owner": "TsukiSama9292",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/office-document-editor",
    "downloadUrl": "https://openagent3.xyz/downloads/office-document-editor",
    "agentUrl": "https://openagent3.xyz/skills/office-document-editor/agent",
    "manifestUrl": "https://openagent3.xyz/skills/office-document-editor/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/office-document-editor/agent.md"
  }
}