{
  "schemaVersion": "1.0",
  "item": {
    "slug": "hwp-reader",
    "name": "hwp-reader",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/mupengi-bot/hwp-reader",
    "canonicalUrl": "https://clawhub.ai/mupengi-bot/hwp-reader",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/hwp-reader",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hwp-reader",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "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",
      "slug": "hwp-reader",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T15:17:43.722Z",
      "expiresAt": "2026-05-07T15:17:43.722Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hwp-reader",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hwp-reader",
        "contentDisposition": "attachment; filename=\"hwp-reader-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "hwp-reader"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/hwp-reader"
    },
    "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/hwp-reader",
    "agentPageUrl": "https://openagent3.xyz/skills/hwp-reader/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hwp-reader/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hwp-reader/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": "🐧 HWP Reader — Read & Analyze Korean HWP/HWPX Documents",
        "body": "Author: 무펭이 🐧 | v1.0.0"
      },
      {
        "title": "Description",
        "body": "Read and extract text content from Korean HWP (한글) and HWPX files. Supports both legacy HWP format (via pyhwp) and modern HWPX format (ZIP-based XML)."
      },
      {
        "title": "When to Use",
        "body": "User asks to read/analyze a .hwp or .hwpx file\nGovernment support application forms (정부지원사업 신청서)\nAny Korean document in Hangul Word Processor format"
      },
      {
        "title": "HWP Files (Legacy Format)",
        "body": "python3 -c \"\nfrom hwp5.hwp5txt import main\nimport sys\nsys.argv = ['hwp5txt', 'FILE_PATH']\nmain()\n\""
      },
      {
        "title": "HWPX Files (Modern XML Format)",
        "body": "python3 -c \"\nimport zipfile\nz = zipfile.ZipFile('FILE_PATH')\n\n# Quick preview text\nif 'Preview/PrvText.txt' in z.namelist():\n    print(z.read('Preview/PrvText.txt').decode('utf-8'))\n\n# Full content from section XMLs\nimport xml.etree.ElementTree as ET\nfor name in sorted(z.namelist()):\n    if name.startswith('Contents/section') and name.endswith('.xml'):\n        root = ET.fromstring(z.read(name))\n        for elem in root.iter():\n            if elem.text and elem.text.strip():\n                print(elem.text.strip())\n\""
      },
      {
        "title": "Capabilities",
        "body": "FeatureHWPHWPXText extraction✅ pyhwp✅ ZIP+XMLTable detection⚠️ <표> markers✅ XML tagsImage extraction❌✅ from BinData/Metadata✅ via hwp5✅ from version.xml"
      },
      {
        "title": "Dependencies",
        "body": "pyhwp (pip install pyhwp) — installed at /Users/mupeng/Library/Python/3.9/lib/python/site-packages/hwp5/\nPython 3.9+ — standard library zipfile, xml.etree.ElementTree"
      },
      {
        "title": "Limitations",
        "body": "HWP text extraction loses table structure (shows <표> placeholder)\nHWPX Preview/PrvText.txt is truncated to ~1KB; use section XMLs for full content\nComplex formatting (colors, fonts, page layout) not preserved in text mode\nEncrypted/password-protected HWP files not supported"
      },
      {
        "title": "Read a government application form",
        "body": "\"이 HWP 파일 읽어줘: /path/to/신청서.hwp\"\n→ Extract text → Analyze structure → Summarize sections"
      },
      {
        "title": "Compare two versions",
        "body": "\"v1.hwp와 v2.hwp 차이점 분석해줘\"\n→ Extract both → Diff content → Report changes"
      },
      {
        "title": "Fill in a template",
        "body": "\"이 양식에 우리 사업 내용 채워줘\"\n→ Read template → Identify blanks → Generate content suggestions\n\n🐧 무펭이 — Making Korean documents accessible to AI agents"
      }
    ],
    "body": "🐧 HWP Reader — Read & Analyze Korean HWP/HWPX Documents\n\nAuthor: 무펭이 🐧 | v1.0.0\n\nDescription\n\nRead and extract text content from Korean HWP (한글) and HWPX files. Supports both legacy HWP format (via pyhwp) and modern HWPX format (ZIP-based XML).\n\nWhen to Use\nUser asks to read/analyze a .hwp or .hwpx file\nGovernment support application forms (정부지원사업 신청서)\nAny Korean document in Hangul Word Processor format\nHow It Works\nHWP Files (Legacy Format)\npython3 -c \"\nfrom hwp5.hwp5txt import main\nimport sys\nsys.argv = ['hwp5txt', 'FILE_PATH']\nmain()\n\"\n\nHWPX Files (Modern XML Format)\npython3 -c \"\nimport zipfile\nz = zipfile.ZipFile('FILE_PATH')\n\n# Quick preview text\nif 'Preview/PrvText.txt' in z.namelist():\n    print(z.read('Preview/PrvText.txt').decode('utf-8'))\n\n# Full content from section XMLs\nimport xml.etree.ElementTree as ET\nfor name in sorted(z.namelist()):\n    if name.startswith('Contents/section') and name.endswith('.xml'):\n        root = ET.fromstring(z.read(name))\n        for elem in root.iter():\n            if elem.text and elem.text.strip():\n                print(elem.text.strip())\n\"\n\nCapabilities\nFeature\tHWP\tHWPX\nText extraction\t✅ pyhwp\t✅ ZIP+XML\nTable detection\t⚠️ <표> markers\t✅ XML tags\nImage extraction\t❌\t✅ from BinData/\nMetadata\t✅ via hwp5\t✅ from version.xml\nDependencies\npyhwp (pip install pyhwp) — installed at /Users/mupeng/Library/Python/3.9/lib/python/site-packages/hwp5/\nPython 3.9+ — standard library zipfile, xml.etree.ElementTree\nLimitations\nHWP text extraction loses table structure (shows <표> placeholder)\nHWPX Preview/PrvText.txt is truncated to ~1KB; use section XMLs for full content\nComplex formatting (colors, fonts, page layout) not preserved in text mode\nEncrypted/password-protected HWP files not supported\nUsage Examples\nRead a government application form\n\"이 HWP 파일 읽어줘: /path/to/신청서.hwp\"\n→ Extract text → Analyze structure → Summarize sections\n\nCompare two versions\n\"v1.hwp와 v2.hwp 차이점 분석해줘\"\n→ Extract both → Diff content → Report changes\n\nFill in a template\n\"이 양식에 우리 사업 내용 채워줘\"\n→ Read template → Identify blanks → Generate content suggestions\n\n\n🐧 무펭이 — Making Korean documents accessible to AI agents"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mupengi-bot/hwp-reader",
    "publisherUrl": "https://clawhub.ai/mupengi-bot/hwp-reader",
    "owner": "mupengi-bot",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/hwp-reader",
    "downloadUrl": "https://openagent3.xyz/downloads/hwp-reader",
    "agentUrl": "https://openagent3.xyz/skills/hwp-reader/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hwp-reader/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hwp-reader/agent.md"
  }
}