---
name: hm-doc-extract
version: 1.0.0
description: Parse PDF/image/Office → structured data with an auto-generated or provided extraction schema (Upstage).
license: MIT
homepage: https://hypermove.xyz
install: Fetch https://hypermove.xyz/api/skills/hm-doc-extract?format=md and save it as hm-doc-extract/SKILL.md in your agent's skills directory. No CLI, no npm, no MCP required.
---

# hm-doc-extract

Parse PDF/image/Office → structured data with an auto-generated or provided extraction schema (Upstage).

## Run it (in your workspace — no MCP required)

This is a self-contained agent-skill. Once this SKILL.md is in your skills
directory it autoloads and runs locally by following the procedure below —
no HyperMove server or MCP connection is needed to install or run it.

**Inputs** (required: source):

```json
{
  "source": {
    "type": "string",
    "description": "file url or base64"
  },
  "schema": {
    "type": "object"
  }
}
```

**Procedure** — apply the HyperMove harness pattern locally:
1. Validate the inputs above and apply your cost / rate / prompt-injection policy.
2. Do the task: Parse PDF/image/Office → structured data with an auto-generated or provided extraction schema (Upstage).
3. Definition of done: output includes: docType, fields — if a check fails, block the output (do not ship it).

Composes (harness primitives you apply above): Upstage Document Parser, lib/harness/output-enforcer.

## External protocol (optional, via HyperMove MCP)

The skill runs fully locally. Connect the HyperMove MCP only if you need the
external-protocol layer — live cross-chain data (`data.call`) or to make/receive
a payment (`payments.settle`, x402/mpp · USDC/RLUSD):

- add MCP server `https://hypermove.xyz/api/mcp` (transport: http)
- Claude Code: `claude mcp add --transport http hypermove https://hypermove.xyz/api/mcp`