AlphaMoatによると、2026-09時点でOffice Document Editorのダウンロード数は3,424、スター数は2で、AIスキル全体5,078件中3,262位、オフィス効率化では435件中245位です。
| プラットフォーム | インストール数 | ダウンロード数 | スター数 | コメント |
|---|---|---|---|---|
| ClawHub ↗ | 89 | 2968 | 2 | - |
| SkillHub ↗ | 277 | 3424 | 1 | — |
プラットフォームごとに集計方法と集計時点が異なります。
DOCX と PPTX を編集し、変更履歴と書式の保持を支援します。
資料公開日 2026-10-27
スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。
2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。
| 月 | ダウンロード数 | 前月比 | スター数 |
|---|---|---|---|
| 2026-09 | 3424 | — | 2 |
| 2026-08 | 2932 | +9.3% | 2 |
| 2026-07 | 2683 | — | 1 |
| 2026-05 | 2115 | — | 1 |
| 2026-03 | 1018 | — | 1 |
作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。
---
name: office-document-editor
description: Professional DOCX/PPTX document editing with tracked changes, formatting preservation, highlights, strikethrough, and Git version control.
license: MIT
metadata:
openclaw:
requires:
bins:
- uv
- curl install:
- id: uv-env
kind: uv
path: .
bins: [docx_editor.py, pptx_editor.py, generate_diff.py]
---
# Universal Office Document Editor
Professional document editing for **any** DOCX/PPTX file from **any source**.
## Quick Reference
| Task | Approach |
|------|----------|
| Fetch file from upload | `bash scripts/fetch_file.sh upload` |
| Fetch file from URL | `bash scripts/fetch_file.sh https://example.com/file.docx` |
| Fetch file from SFTP | `bash scripts/fetch_file.sh sftp://user@host:/path/file.docx` |
| Edit DOCX | `uv run python scripts/docx_editor.py input.docx output.docx edits.json` |
| Edit PPTX | `uv run python scripts/pptx_editor.py input.pptx output.pptx edits.json` |
| Generate diff | `uv run python scripts/generate_diff.py old.docx new.docx diff.md` |
| Interactive mode | `bash scripts/interactive_edit.sh` |
---
## File Sources
### Uploaded Files (Chat Attachments)
```bash
# 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`
### Local Filesystem Paths
```bash
# 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
```
### Public URLs
```bash
# Download from URL
bash scripts/fetch_file.sh https://example.com/document.docx output.docx
```
### SFTP/SSH Remote Files
```bash
# Fetch via SFTP
bash scripts/fetch_file.sh sftp://user@host:/path/file.docx output.docx
```
---
## Creating Edit Rules
Create `edits.json` with your editing instructions:
```json
{
"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]
}
]
}
```
### Supported Styles
- `replace` - Direct replacement
- `highlight` - Yellow highlight
- `delete` - Strikethrough
- `bold` - Bold text
- `underline` - Underline
### Slide Actions (PPTX only)
- `rearrange` - Change slide order
- `add` - Add new slide
- `remove` - Delete slide
---
## Editing Documents
### Edit DOCX
```bash
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
### Edit PPTX
```bash
uv run python scripts/pptx_editor.py input.pptx output.pptx edits.json
```
Features:
- Slide text replacement
- Slide rearrangement
- Add/remove slides
- Format preservation
### Generate Diff Report
```bash
uv run python scripts/generate_diff.py input.docx output.docx diff-report.md
```
Output: Standard Unified Diff format in Markdown.
---
## Complete Workflow
### Step 1: Fetch File
```bash
# 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
```
### Step 2: Create Edit Rules
```json
{
"description": "IRB Review Response",
"replacements": [
{
"search": "2026 年 2 月 28 日",
"replace": "2026 年 8 月 31 日",
"style": "highlight"
}
]
}
```
### Step 3: Execute Edit
```bash
uv run python scripts/docx_editor.py input.docx output.docx edits.json
```
### Step 4: Generate Reports
```bash
# 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
```
### Step 5: Version Control
```bash
git add *.docx *.md diff.md
git commit -m "Edit: Description of changes"
```
---
## Interactive Mode
For guided editing:
```bash
bash scripts/interactive_edit.sh
```
This will prompt you through:
1. File source selection
2. Edit type selection
3. Details collection
4. Output location
---
## Examples
### Example 1: Text Replacement with Highlight
```json
{
"replacements": [
{
"search": "February 28, 2026",
"replace": "August 31, 2026",
"style": "highlight"
}
]
}
```
### Example 2: Add Text After Question
```json
{
"additions": [
{
"after": "What is the research topic?",
"text": "[ANSWER] Data Structures and Algorithms",
"style": "highlight"
}
]
}
```
### Example 3: Rearrange Slides
```json
{
"slides": [
{
"action": "rearrange",
"order": [0, 2, 1, 3, 4]
}
]
}
```
---
## Notes
### Format Preservation
- ✅ Text, paragraphs, tables: Fully preserved
- ✅ Highlights, strikethrough, bold: Supported
- ⚠️ Complex styles (custom themes): May be lost
- ❌ Images, charts: Manual handling required
### Table Text Replacement
python-docx requires **exact match** (including spaces, punctuation, newlines) for table text.
**Solutions:**
1. Use shorter search strings
2. Use `markitdown` to preview table content first
3. Use exact match in JSON
### Git Best Practices
- Use local Git repo (do not upload to GitHub)
- Add sensitive files to `.gitignore`
- Backup to secure location regularly
---
## Dependencies
- **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)
### Installation
```bash
cd ~/.openclaw/workspace/skills/office-document-editor
uv sync
```
---
## Troubleshooting
### "No replacements made"
**Cause:** Text doesn't match exactly
**Solution:**
```bash
# Preview content
uv run markitdown input.docx
# Use exact text from preview
```
### "Virtual environment not found"
**Solution:**
```bash
cd ~/.openclaw/workspace/skills/office-document-editor
uv sync
```
### "File not found"
**Solutions:**
- Check file path is correct
- Try uploading the file again
- Verify URL is accessible
- Check SFTP credentials
---
## Scripts Reference
### fetch_file.sh
Universal file fetcher for all source types.
```bash
bash scripts/fetch_file.sh <source> [output_filename]
```
Sources:
- `upload` - Latest uploaded file
- `/path/to/file` - Local path
- `https://...` - Public URL
- `sftp://...` - SFTP remote
### docx_editor.py
Edit Word documents with formatting.
```bash
uv run python scripts/docx_editor.py input.docx output.docx edits.json
```
### pptx_editor.py
Edit PowerPoint presentations.
```bash
uv run python scripts/pptx_editor.py input.pptx output.pptx edits.json
```
### generate_diff.py
Generate Unified Diff reports.
```bash
uv run python scripts/generate_diff.py old.docx new.docx diff.md
```
### interactive_edit.sh
Interactive guided editing.
```bash
bash scripts/interactive_edit.sh
```
### workflow_complete.sh
Complete automated workflow.
```bash
bash scripts/workflow_complete.sh input.docx edits.json
```
MCP 経由で Tencent Docs の文書を作成、編集、管理するための手順書です。
数式、書式、ブックの構造を保ったまま Excel ファイルを作成・点検・編集するスキルです。
Word と DOCX 文書を扱うための作業指針で、編集後にスタイルや番号、レイアウトが崩れないことに重点を置きます。
コマンドラインから Gmail、Calendar、Drive、Contacts、Sheets、Docs を操作します。
PDFと画像の文字抽出は本文、表、スキャンページの読取りをテキストに整理します。
テーマとスタイルから PPT 資料を自動生成するスキルです。
kdocs-cli で金山文档のクラウド文書を操作する公式スキルです。
自然言語の指示で PDF の指定ページを書き換える小さなツールです。
データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。