← Back to Skills

docx-toolkit

v1.0.0 approved Text Processing updated today
✅ Verified
⬇ Download Install Guide↓
🤖 Agent install commands (curl / MCP / Claude Desktop)
▸ curl one-liner
curl -L -o docx-toolkit.skill   "https://aiskillstore.io/v1/agent/skills/f0502d94-b269-493b-a939-1906bae98559/download?platform=ClaudeCode"
▸ MCP tool call (after registering Skill Store MCP)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "f0502d94-b269-493b-a939-1906bae98559",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP config (one-time)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 Full agent API guide: /llms.txt  ·  MCP server card

Extract text, tables, images, and metadata from DOCX files, and generate new DOCX from templates.

# docx # word # office # document # extraction # template # korean

Basic Info

Owner 👤 aiskillstore-team Category Text Processing Registered 2026-06-04 Last Updated 2026-06-04 Latest Version 1.0.0 Packaged At 2026-06-04 Vetting Status approved Downloads 0 Checksum (SHA256) 78d3c1bd1888393cb9c859640ce84931d45ec9ca85fd99348282fbedccd5c3eb

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install docx-toolkit
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install docx-toolkit --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/f0502d94-b269-493b-a939-1906bae98559/download
2
Place it in the Claude Code commands directory.
unzip docx-toolkit.skill -d ~/.claude/commands/docx-toolkit/
3
Use it as a slash command in Claude Code.
/docx-toolkit
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/f0502d94-b269-493b-a939-1906bae98559/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip docx-toolkit-agent-skill-*.skill -d ~/.claude/skills/docx-toolkit/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/f0502d94-b269-493b-a939-1906bae98559/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip docx-toolkit-cursor-*.skill -d ~/.cursor/skills/docx-toolkit/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/docx-toolkit/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/f0502d94-b269-493b-a939-1906bae98559/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip docx-toolkit-geminicli-*.skill -d ~/.gemini/skills/docx-toolkit/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/docx-toolkit/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/f0502d94-b269-493b-a939-1906bae98559/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip docx-toolkit-codexcli-*.skill -d ~/.codex/skills/docx-toolkit/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/docx-toolkit/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/f0502d94-b269-493b-a939-1906bae98559/download
2
Place it in your agent platform's skills directory.
cp docx-toolkit.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/f0502d94-b269-493b-a939-1906bae98559/install-guide?platform=CustomAgent

Security Vetting Report

Vetting Result APPROVED

Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)", '정보: spec: usk/1.0 미선언 — v2 패키지로 처리됩니다. 자동 변환 및 에이전트 검색 기능을 사용하려면 USK v3로 업그레이드하세요.']

✅ No security risks found.

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary DOCX 파일 처리 및 생성을 위한 안전한 스킬로, 선언된 권한과 코드 내용이 일치합니다.
Reasoning

스킬 메타데이터와 제공된 코드 스니펫(`main.py`) 및 정적 분석 결과를 종합적으로 검토했습니다. 1. **권한 일치 여부:** 스킬은 `filesystem: true` 권한을 선언했으며, `os.path.exists`, `zipfile.is_zipfile`, `zipfile.ZipFile`, `docx.Document` 등 파일 시스템 접근이 필요한 작업을 수행합니다. `network: false` 및 `subprocess: false`로 선언되었으며, 코드 스니펫에서 외부 네트워크 통신이나 서브프로세스 실행을 시도하는 부분은 발견되지 않았습니다. 선언된 권한과 실제 코드가 일치합니다. 2. **악의적 목적 코드:** 데이터 탈취, 시스템 파괴, 코드 난독화 등 악의적인 목적을 가진 코드는 발견되지 않았습니다. `python-docx` 라이브러리를 사용하여 DOCX 파일을 처리하는 표준적인 방식을 따릅니다. 3. **선언되지 않은 외부 통신:** `network: false`로 선언되었으며, 코드에서 외부 통신을 시도하는 어떠한 흔적도 발견되지 않았습니다. 4. **사용자 데이터 무단 수집/전송:** 스킬은 사용자로부터 DOCX 파일 경로를 입력받아 처리하고 결과를 반환할 뿐, 사용자 데이터를 무단으로 수집하거나 외부로 전송하는 기능은 없습니다. 5. **코드 품질:** 코드는 명확하고 가독성이 높으며, `_validate_docx` 함수를 통해 DOCX 파일의 기본적인 유효성을 검사하는 등 기본적인 보안 고려사항을 포함하고 있습니다. 스킬의 목적(DOCX 파일 처리)에 부합하는 양호한 코드 품질을 보여줍니다. **잠재적 고려사항 (플랫폼 수준):** `file_path` 및 `template_path`와 같은 사용자 입력 경로에 대한 경로 조작 공격(path traversal) 가능성은 존재하지만, 이는 스킬 자체의 악의적인 의도라기보다는 파일 시스템 접근을 허용하는 모든 스킬에 공통적으로 적용되는 플랫폼 수준의 샌드박싱 및 경로 검증을 통해 방지되어야 할 문제입니다. 스킬 자체는 제공된 경로에 대해 DOCX 관련 작업을 수행하는 것이 목적입니다. 결론적으로, 이 스킬은 선언된 권한 범위 내에서 안전하게 동작하며, 악의적인 코드를 포함하고 있지 않으므로 'approved'로 판단합니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-06-04 ⬇ 0

Examples 6

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

Simple text extraction
# extract# text

Extract all text from a DOCX file as plain text

📥 Input
{
  "action": "extract_text",
  "file_path": "/tmp/report.docx"
}
📤 Output
{
  "paragraphs": [
    {
      "style": "Heading1",
      "text": "Annual Report 2025"
    },
    {
      "style": "Normal",
      "text": "This report summarizes..."
    }
  ],
  "text": "Annual Report 2025\n\nThis report summarizes...",
  "total_paragraphs": 2
}
Extract tables with merged cells
# extract# tables

Extract all tables from a DOCX including multi-row content

📥 Input
{
  "action": "extract_tables",
  "file_path": "/tmp/data_report.docx"
}
📤 Output
{
  "tables": [
    {
      "col_count": 3,
      "row_count": 3,
      "rows": [
        [
          "Name",
          "Department",
          "Score"
        ],
        [
          "Alice",
          "Engineering",
          "95"
        ],
        [
          "Bob",
          "Marketing",
          "88"
        ]
      ]
    },
    {
      "col_count": 2,
      "row_count": 3,
      "rows": [
        [
          "Quarter",
          "Revenue"
        ],
        [
          "Q1",
          "12000000"
        ],
        [
          "Q2",
          "15000000"
        ]
      ]
    }
  ]
}
Extract document metadata and word count
# metadata# word_count

Get author, creation date, modification date, and word count

📥 Input
{
  "action": "extract_metadata",
  "file_path": "/tmp/contract.docx"
}
📤 Output
{
  "author": "Legal Team",
  "created": "2025-01-15T09:30:00",
  "modified": "2025-03-22T14:45:00",
  "title": "Service Agreement",
  "word_count": 3420
}
Korean DOCX text extraction
# korean# extract# i18n

Extract text from a Korean-language DOCX document

📥 Input
{
  "action": "extract_text",
  "file_path": "/tmp/korean_document.docx",
  "include_styles": true
}
📤 Output
{
  "paragraphs": [
    {
      "style": "Heading1",
      "text": "\uc0ac\uc5c5 \uacc4\ud68d\uc11c"
    },
    {
      "style": "Normal",
      "text": "\ubcf8 \ubb38\uc11c\ub294 2025\ub144 \uc0ac\uc5c5 \uacc4\ud68d\uc744 \uc815\ub9ac\ud55c \uac83\uc785\ub2c8\ub2e4."
    }
  ],
  "text": "\uc0ac\uc5c5 \uacc4\ud68d\uc11c\n\n\ubcf8 \ubb38\uc11c\ub294 2025\ub144 \uc0ac\uc5c5 \uacc4\ud68d\uc744 \uc815\ub9ac\ud55c \uac83\uc785\ub2c8\ub2e4.",
  "total_paragraphs": 2
}
Generate invoice from template
# generate# template# invoice

Create a new DOCX invoice by substituting template variables

📥 Input
{
  "action": "generate_from_template",
  "context": {
    "customer_name": "ACME Corporation",
    "invoice_date": "2025-06-01",
    "invoice_number": "INV-2025-0042",
    "total_amount": "1,500,000 KRW"
  },
  "file_path": "/tmp/output_invoice.docx",
  "template_path": "/tmp/invoice_template.docx"
}
📤 Output
{
  "output_path": "/tmp/output_invoice.docx",
  "size_bytes": 14320,
  "variables_replaced": [
    "customer_name",
    "total_amount",
    "invoice_date",
    "invoice_number"
  ]
}
Invalid file error handling
# error# validation

Attempt to process a non-DOCX file (e.g., a plain .txt renamed to .docx)

📥 Input
{
  "action": "extract_text",
  "file_path": "/tmp/not_a_docx.txt"
}
📤 Output
{
  "error": {
    "code": "INVALID_DOCX",
    "message": "File is not a valid DOCX (ZIP-based Office Open XML) format."
  }
}

All examples are also available via the agent API: /v1/agent/skills/f0502d94-b269-493b-a939-1906bae98559/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review