mcpField
H
hwp

hwp

github.com/pitzcarraldoDocuments094 installsUpdated 6w ago
Repository

About hwp

hwp is a skill for reading Korean Hangul Word Processor documents and answering questions based on their contents. It uses pyhwp2md to extract text and specifies workflows for selecting a package runner and handling large outputs.

Key features

  1. 01Read HWP and HWPX files
  2. 02Extract content with pyhwp2md
  3. 03Select an available Python package runner
  4. 04Write large output to a temporary file
  5. 05Document image, link, and formatting limits

Use cases

  1. 01Find information in an HWP file
  2. 02Answer questions using an HWPX document
  3. 03Handle extracted content too large for context

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pitzcarraldo/skills --skill hwp

After installing, type/hwpin Claude Code to confirm it loaded.

Bundled filesscripts/html_extractor.pyscripts/hwp_reader.py

Details

From the project README

HWP/HWPX Document Reader

This skill reads Korean Hangul Word Processor files (.hwp, .hwpx) and prepares to respond based on the content using pyhwp2md.

Supported Formats

FormatExtensionDescription
HWP.hwpBinary format (HWP 5.0+)
HWPX.hwpxXML-based format (Hangul 2014+)

Workflow

CRITICAL: NEVER run uvx, pipx, or pip commands directly. ALWAYS use the complete bash script below which automatically detects and uses the correct tool.

1. Verify File Exists
ls -la "[file-path]"
2. Detect and Extract Content

Run this EXACT script (do not modify or run individual commands):

TOOL=$(command -v uvx >/dev/null 2>&1 && echo "uvx" || (command -v pipx >/dev/null 2>&1 && echo "pipx" || (command -v pip >/dev/null 2>&1 && echo "pip" || echo "none"))) && case $TOOL in uvx) uvx pyhwp2md "[file-path]" ;; pipx) pipx run pyhwp2md "[file-path]" ;; pip) pip install -q pyhwp2md && pyhwp2md "[file-path]" ;; *) echo "Error: No Python package runner found" ;; esac
3. Handle Output Based on Size

If content fits in context: Use the stdout output directly to respond to user queries.

If content is too large for context: Save to a temporary file using this script:

TOOL=$(command -v uvx >/dev/null 2>&1 && echo "uvx" || (command -v pipx >/dev/null 2>&1 && echo "pipx" || (command -v pip >/dev/null 2>&1 && echo "pip" || echo "none"))) && case $TOOL in uvx) uvx pyhwp2md "[file-path]" -o /tmp/extracted_content.md ;; pipx) pipx run pyhwp2md "[file-path]" -o /tmp/extracted_content.md ;; pip) pyhwp2md "[file-path]" -o /tmp/extracted_content.md ;; esac

Then read the file in chunks as needed to answer user questions.

Technical Requirements

RequirementVersionNote
Python3.10+Required
uv/pipx/pipLatestAny one of these

Limitations

  • Images: Not yet supported
  • Links: Partial support
  • Formatting: Styles, colors, and fonts are not preserved

References

Comments

Markdown supported