Agent skill

Oma Hwp

by first-fluke in first-fluke/oh-my-agent

Convert HWP / HWPX / HWPML files to Markdown using kordoc. An agent skill from first-fluke/oh-my-agent.

MITAuto-check passedDocuments & Office

Install Oma Hwp

skills CLI
$ npx skills add first-fluke/oh-my-agent --skill oma-hwp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install first-fluke/oh-my-agent oma-hwp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/first-fluke/oh-my-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-hwp .claude/skills/oma-hwp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
oma-hwp
GitHub stars
1.3k
Token cost
~1.9k tokens
SKILL.md length
909 words
Files
7
Skills in repo
57
Repo updated
First seen
Licence
MIT

At a glance

Convert HWP / HWPX / HWPML files to Markdown using kordoc. An agent skill from first-fluke/oh-my-agent.

  • Works in 4 steps: Confirm the input path exists. → Confirm the extension is .hwp, .hwpx, or… → Resolve output path or directory and… → …
  • Korean word processor files (Hangul)
  • SKILL.md covers Scheduling, Structural Flow, Logical Operations and References
  • Runs TypeScript scripts from its folder; calls bunx and bun

What it does

Oma Hwp is an agent skill from first-fluke/oh-my-agent. Convert HWP / HWPX / HWPML files to Markdown using kordoc. Extracts text, headings, tables, lists, images, footnotes, and hyperlinks. Use for Korean word processor files (Hangul), government documents, and AI-ready data preparation.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `config/hwp-config.yaml`, `resources/execution-protocol.md` and `resources/flatten-tables.ts`).

It sits in Documents & Office, covering Markdown. It works with Bun. The repository describes itself as: Mechanical verification for AI coding agents — skills pack or full harness (stop-hook gates, artifact checks, independent judges). The licence is MIT.

When your agent uses it

  • Korean word processor files (Hangul)
  • Government documents
  • AI-ready data preparation

Example prompts

  • “/oma-hwp”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the input path exists.
  2. Confirm the extension is .hwp, .hwpx, or .hwpml.
  3. Resolve output path or directory and default filename.
  4. Check that bun is available.

What it can do on your machine

Read from SKILL.md and the folder at commit b364119. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • bunx
    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Oma Hwp loads about 1.9k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 909 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from first-fluke/oh-my-agent at commit b364119, republished under its MIT licence (© first-fluke). 909 words, ~1,924 tokens.

Download SKILL.mdSave it as .claude/skills/oma-hwp/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
oma-hwp
description
Convert HWP / HWPX / HWPML files to Markdown using kordoc. Extracts text, headings, tables, lists, images, footnotes, and hyperlinks. Use for Korean word processor files (Hangul), government documents, and AI-ready data preparation.

HWP Skill - HWP / HWPX / HWPML to Markdown Conversion

Scheduling

Goal

Convert Korean HWP-family documents into readable Markdown or structured JSON while preserving document structure for LLM context, RAG, government-document review, or enterprise document processing.

Intent signature
  • User asks to convert, parse, read, extract, or transform .hwp, .hwpx, or .hwpml.
  • User mentions Korean word processor files, Hangul documents, government forms, or "한글 파일".
  • User needs headings, tables, nested tables, lists, images, footnotes, or hyperlinks extracted from HWP-family files.
When to use
  • Converting Korean HWP documents (.hwp, .hwpx, .hwpml) to Markdown
  • Preparing Korean government/enterprise documents for LLM context or RAG
  • Extracting structured content (tables, headings, lists, images) from HWP
  • User says "convert this HWP", "parse hwpx", "HWP to markdown", "한글 파일"
When NOT to use
  • PDF files -> use oma-pdf (OCR + Tagged PDF specialization)
  • XLSX / DOCX files -> currently out of scope (may be covered by a future oma-docs)
  • Generating or editing HWP documents -> out of scope
  • Already-text files -> use Read tool directly
Expected inputs
  • input_path: .hwp, .hwpx, or .hwpml file path
  • output_path or output_dir: optional explicit output target
  • format: optional output format, default markdown
  • page_range: optional page or section range
  • kordoc_version: optional pinned kordoc version
Expected outputs
  • Markdown output next to the input file or in the requested directory
  • Optional JSON output when requested
  • Post-processed Markdown with flattened GFM tables and stripped Private Use Area glyphs by default
  • A short report with output path, detected source format, and conversion issues
Dependencies
  • bun and bunx
  • bunx kordoc@latest or configured pinned kordoc version
  • resources/flatten-tables.ts for Markdown cleanup
  • Local filesystem access to input and output paths
Control-flow features
  • Branches by file extension, output target, format, page range, encryption/DRM state, and post-processing requirements
  • Calls external CLI tools through bunx and bun run
  • Reads local HWP-family files and writes local Markdown or JSON output
  • Routes non-HWP inputs to other skills instead of stretching this skill's scope

Structural Flow

Entry
  1. Confirm the input path exists.
  2. Confirm the extension is .hwp, .hwpx, or .hwpml.
  3. Resolve output path or directory and default filename.
  4. Check that bun is available.
Scenes
  1. PREPARE: Validate path, extension, size, output target, and requested format.
  2. ACQUIRE: Detect source format and runtime availability.
  3. ACT: Run kordoc with explicit output target and requested options.
  4. VERIFY: Post-process Markdown and inspect structure for headings, tables, lists, images, and footnotes.
  5. FINALIZE: Report output path, source format, and any conversion limitations.
Transitions
  • If the input is .pdf, stop and route to oma-pdf.
  • If the input is .xlsx or .docx, explain that this skill does not advertise those formats.
  • If bun is unavailable, stop and ask the user to install Bun.
  • If Markdown is produced, run resources/flatten-tables.ts unless the caller explicitly needs HTML tables or PUA glyphs preserved.
  • If output is empty or garbled, consult resources/troubleshooting.md.
Failure and recovery
FailureRecovery
bun or bunx unavailableAsk user to install Bun
Unsupported or mismatched formatCheck extension and magic bytes, then route or stop
Encrypted or DRM-locked documentReport limitation and request an accessible copy when needed
Empty Markdown outputTreat as possible scanned-image content and recommend OCR outside this skill
Complex merged tablesAccept flattened Markdown or HTML fallback as best effort
Stale kordoc cacheUse bunx kordoc@latest or configured pinned version
Show full SKILL.md (372 more words)Show less
Exit
  • Success: output file exists and structure is readable after post-processing.
  • Partial success: output exists with explicitly reported table, glyph, encryption, or fidelity limitations.
  • Failure: no reliable output is produced and the blocking cause is reported.

Logical Operations

Actions
ActionSSL primitiveEvidence
Validate file path and extensionVALIDATEInput preflight in execution protocol
Check runtime availabilityVALIDATEbun --version
Select output target and formatSELECTOutput behavior and config
Run converterCALL_TOOLbunx kordoc@latest
Write output artifactWRITEMarkdown or JSON output
Flatten tables and strip PUA glyphsCALL_TOOLresources/flatten-tables.ts
Inspect extraction qualityVALIDATEVerification step
Report resultNOTIFYFinal user-facing summary
Tools and instruments
  • kordoc: primary HWP-family conversion CLI
  • flatten-tables.ts: post-processing for GFM tables and Hancom PUA cleanup
  • bun / bunx: runtime and CLI executor
Canonical command path
bash
bunx kordoc@latest "{input_path}" -o "{output_path}"
bun run ".agents/skills/oma-hwp/resources/flatten-tables.ts" "{output_path}"

For batch conversion, use an explicit output directory:

bash
bunx kordoc@latest "{input_pattern}" -d "{output_dir}"
Resource scope
ScopeResource target
LOCAL_FSInput HWP-family files and generated outputs
PROCESSbunx kordoc and bun run subprocesses
MEMORYFormat decisions, validation notes, and final report
Preconditions
  • Input file exists and is readable.
  • Output location is writable or can be created.
  • bun is installed.
  • kordoc can parse the document or fail with a reportable error.
Effects and side effects
  • Creates Markdown or JSON output files.
  • May flatten merged-cell tables, trading cell fidelity for Markdown compatibility.
  • Strips Private Use Area characters by default because they render as blanks without Hancom fonts.
  • Does not intentionally modify the source HWP-family document.
Guardrails
  1. Always pass @latest or an explicit pinned version to avoid stale bunx cache.
  2. Always pass an explicit output target when the user expects a file.
  3. Do not add custom security defenses around kordoc's ZIP, XML, SSRF, or XSS defenses.
  4. Report missing tables, garbled text, empty output, encrypted segments, and best-effort DRM extraction.
  5. Keep full CLI details in resources/execution-protocol.md and troubleshooting branches in resources/troubleshooting.md.
Supported Formats
FormatExtensionNotes
HWP 5.x binary.hwpFull support (incl. DRM-locked via kordoc's rhwp-algorithm port)
HWPX.hwpxFull support incl. nested tables, merged cells
HWPML.hwp (XML variant)Auto-detected by signature

kordoc also parses PDF / XLSX / DOCX. Those are intentionally outside this skill's scope — see "When NOT to use".

References

  • Execution protocol: resources/execution-protocol.md
  • Troubleshooting: resources/troubleshooting.md
  • Configuration: config/hwp-config.yaml
  • Upstream: https://github.com/chrisryugj/kordoc
  • Related: ../oma-pdf/SKILL.md (use for .pdf inputs)

© first-fluke, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files in benchmarks/runs/oma/.agents/skills/oma-hwp of first-fluke/oh-my-agent.

  • SKILL.md
  • config/hwp-config.yaml
  • resources/bun.lock
  • resources/execution-protocol.md
  • resources/flatten-tables.ts
  • resources/package.json
  • resources/troubleshooting.md

Open the folder on GitHubat commit b364119

Compare with similar skills

Oma Hwp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Oma Hwp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Oma Hwp this skillfirst-fluke/oh-my-agent1.3k—~1.9kAutomated safety check: PassMIT
Markdown Article FormatterJimLiu/baoyu-skills26k6 repos~3.5kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78214 repos~3.2kAutomated safety check: NotesMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0
Crosspostingwasp-lang/wasp19k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Markdown Article Formatter

    JimLiu/baoyu-skills

    Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.

    26k GitHub starsUsed in 6 repos~3.5k tokens
    Documents & OfficeAuto-check passed
  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    782 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • Crossposting

    wasp-lang/wasp

    Crosspost Wasp blog articles (MDX) to DEV.to and Medium. An agent skill from wasp-lang/wasp.

    19k GitHub stars~1.1k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Review The Docs

    supabase/supabase

    Official

    Review Supabase docs changes locally in your supabase/supabase checkout — either an open PR (triage, classify, verify) or your own branch before opening a PR (local self-review).

    111k GitHub stars~4.6k tokensUpdated today
    Documents & OfficeAuto-check passed

More from first-fluke/oh-my-agent

All 57 skills in this repo
  • OMA Multi-Agent Orchestration

    first-fluke/oh-my-agent

    Decomposes a complex feature into tasks, dispatches parallel specialist agents with durable state, and supervises verification, QA review and retries.

    1.3k GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • OMA Multi-Agent Orchestrator

    first-fluke/oh-my-agent

    Splits a complex feature into prioritized tasks, spawns specialist CLI subagents in parallel, tracks them through shared memory and verifies each result.

    1.3k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Architecture Decisions and ADRs

    first-fluke/oh-my-agent

    Evaluates system boundaries and tradeoffs and writes architecture recommendations, option comparisons or ADRs, with a Mermaid diagram when structure changes.

    1.3k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • OMA Backend Agent

    first-fluke/oh-my-agent

    Backend specialist for APIs, database work, authentication and migrations that follows clean architecture with router, service and repository layers.

    1.3k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • oma Bootstrap

    first-fluke/oh-my-agent

    Installs or checks the oma CLI and its runtimes (bun, uv, serena) in a fresh workspace so that oma-* skills can run their commands.

    1.3k GitHub stars~719 tokensUpdated today
    Auto-check passed
  • Design-First Brainstorm

    first-fluke/oh-my-agent

    Explores intent, constraints and alternative approaches before any planning, working through questions one at a time and saving an approved design for later steps.

    1.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Works with

Questions about Oma Hwp

What does Oma Hwp do?

Convert HWP / HWPX / HWPML files to Markdown using kordoc. An agent skill from first-fluke/oh-my-agent. Oma Hwp is an agent skill from first-fluke/oh-my-agent. Convert HWP / HWPX / HWPML files to Markdown using kordoc.

When should I use Oma Hwp?

Oma Hwp fits situations like: korean word processor files (Hangul); government documents; AI-ready data preparation.

How do I install Oma Hwp in Claude Code?

Run `npx skills add first-fluke/oh-my-agent --skill oma-hwp -a claude-code`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-hwp in first-fluke/oh-my-agent) into .claude/skills/oma-hwp in your project. Claude Code loads it when a task matches its description.

How do I install Oma Hwp in Codex?

Run `npx skills add first-fluke/oh-my-agent --skill oma-hwp -a codex`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-hwp in first-fluke/oh-my-agent) into .agents/skills/oma-hwp in your project. Codex loads it when a task matches its description.

Can I use Oma Hwp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add first-fluke/oh-my-agent --skill oma-hwp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oma-hwp, .gemini/skills/oma-hwp, .github/skills/oma-hwp and .opencode/skills/oma-hwp in your project.

What does Oma Hwp need to run?

Going by SKILL.md and its folder, Oma Hwp needs TypeScript for the scripts in its folder and the command-line tools its instructions call (bunx and bun). Our summary lists: Node.js.

Does Oma Hwp access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Oma Hwp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Oma Hwp use?

Oma Hwp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Oma Hwp use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Oma Hwp?

Skills that share tags, products or a category with Oma Hwp: Markdown Article Formatter (JimLiu/baoyu-skills, 26k stars), Markitdown (ImCa0/just-laws, 782 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and Gzh Design (isjiamu/gzh-design-skill, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Oma Hwp?

first-fluke (a GitHub organization) maintains it in first-fluke/oh-my-agent, which has 1,338 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on October 9, 2026.

Source: first-fluke/oh-my-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.