kordoc-korean-document-parser — Claude Code skill: HWP and HWPX
This skill turns Korean HWP 5.x, HWPX and PDF files into Markdown and structured blocks. Useful when you need text, tables or form fields out of a document.
npx skills add reason-machines/trending-skills --skill kordoc-korean-document-parser -a claude-codeWhat kordoc-korean-document-parser does
Under the hood it is the kordoc library — a TypeScript package plus a CLI. It reads the proprietary HWP binary format, pulls out tables, recognises form fields, diffs two revisions of a document and can generate HWPX back from Markdown. Format detection runs on magic bytes, and there are dedicated parsers: parseHwp, parseHwpx, parsePdf.
Three ways in. The CLI: npx kordoc document.hwpx prints to stdout, -o writes a file, --format json returns blocks with metadata, and watch converts new files as they land in a folder. The programmatic API: parse hands back markdown, blocks, metadata, outline and warnings. Or run it as the kordoc-mcp MCP server, which exposes parse_document, compare_documents, parse_form and more.
PDF support needs pdfjs-dist installed separately — skip it and PDF parsing simply fails. Scanned pages go through a pluggable OCR: you pass your own async function in the parse options, there is no built-in engine. Encrypted files and ZIP bombs come back as an error code instead of an empty result, which is what you want when a batch job runs unattended.
What it helps with
- convert a Korean HWP file to Markdown you can edit
- pull tables out of HWPX as structured data
- diff two revisions of a document
- collect form field values as JSON
- set up an MCP server so the agent reads HWP and PDF itself
Example prompts for the agent
- parse
document.hwpxto Markdown and show me the tables - compare
v1.hwpandv2.hwpx, what changed - extract the form fields from
report.hwp
How to install kordoc-korean-document-parser
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill kordoc-korean-document-parser -a claude-code2Manually: put the files in place
~/.claude/skills/kordoc-korean-document-parser/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/kordoc-korean-document-parser/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill kordoc-korean-document-parser -a codex2Manually: put the files in place
.agents/skills/kordoc-korean-document-parser/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill kordoc-korean-document-parser -a cursor2Manually: put the files in place
.cursor/skills/kordoc-korean-document-parser/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/trending-skills kordoc-korean-document-parser2Manually: put the files in place
.github/skills/kordoc-korean-document-parser/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill kordoc-korean-document-parser -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/trending-skills --path skills/kordoc-korean-document-parserManually: put the files in place
.devin/skills/kordoc-korean-document-parser/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill kordoc-korean-document-parser -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about kordoc-korean-document-parser
How do I install kordoc-korean-document-parser in Claude?
Run npx skills add reason-machines/trending-skills --skill kordoc-korean-document-parser -a claude-code. The skill lands at ~/.claude/skills/kordoc-korean-document-parser/SKILL.md.
What does kordoc-korean-document-parser do?
It parses Korean HWP 5.x, HWPX and PDF documents into Markdown and structured IRBlock[] data. It also extracts tables, form fields and metadata, and can diff two versions of a file.
What do I need for PDF parsing?
The pdfjs-dist package, which ships as an optional peer dependency. Image-based PDFs need your own OCR provider — an async function passed in the parse options.