Xuan-You Lin

Office Document Editor

オフィス効率化v1.0.0
作者:Xuan-You Lin更新日 2026-05-17office-document-editor@clawhub_tsukisama9292/office-document-editor
文書処理スライド作成#Document#Git

AlphaMoatによると、2026-09時点でOffice Document Editorのダウンロード数は3,424、スター数は2で、AIスキル全体5,078件中3,262位、オフィス効率化では435件中245位です。

インストール数
277
ダウンロード数
3424
スター数
2
総合順位
#3,262
全体の上位 65% · オフィス効率化の上位 57%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗8929682-
SkillHub ↗27734241—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

DOCX と PPTX を編集し、変更履歴と書式の保持を支援します。

資料公開日 2026-10-27

できること

  • 依頼された作業と出力を整理する
  • ユーザーが指定したテーマや対象に基づいて処理する
  • 必要に応じて出典や実行状態の確認を促す

使う場面

  • DOCX と PPTX を編集し、変更履歴と書式の保持を支援します必要があるとき
  • 関連する手順を一つのワークフローで扱いたいとき

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

私が渡す情報を使って、DOCX と PPTX を編集し、変更履歴と書式の保持を支援します。
必要な入力を示してから、結果または次の手順を教えて。

月次の推移

ダウンロード数3424
826222136162026-03 · ダウンロード数 10182026-05 · ダウンロード数 21152026-07 · ダウンロード数 26832026-08 · ダウンロード数 29322026-09 · ダウンロード数 342426-0326-09
スター数2
1222026-03 · スター数 12026-05 · スター数 12026-07 · スター数 12026-08 · スター数 22026-09 · スター数 226-0326-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-093424—2
2026-082932+9.3%2
2026-072683—1
2026-052115—1
2026-031018—1

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

7.2 KB・ClawHub v1.0.0
---
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
すべて表示(全 406 行)
    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
```

オフィス効率化の人気スキル

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。