ocrlisted
Install: claude install-skill hec-ovi/ocr-skill
# ocr
Instructions only. Every action is the **bundled** `ocr` CLI under the skill pack (self-contained binary). One process, JSON on `--json`, then exit. On `ok:false` follow `error.hint`. Never invent document text. Stdio skill, not MCP.
## Hard ban (install tools)
**Never run** `pip`, `pip3`, `python -m pip`, `uv`, `uvx`, `uv pip`, `uv sync`, `apt`, `apk`, or any package installer for OCR. The pack already ships `dist/ocr`. If the binary is missing or fails, stop and report that; do not bootstrap an environment.
## Resolve CLI once
First hit wins; reuse for the session:
```
test -x .noob/skills/ocr/ocr && echo .noob/skills/ocr/ocr
test -x ./ocr && echo ./ocr
command -v ocr-skill
```
Then only:
```
<path-you-resolved> extract /abs/file.pdf --json
```
No init. No PYTHONPATH. No venv.
If the user did not give a path, list the workspace and OCR every image/PDF found.
## Verbs
| Intent | Verb |
|---|---|
| Read image/PDF text | `extract <path>... --json` |
| Next page of a long result | `open <handle> --page N --json` |
| Engine broken? | `doctor --json` (only after extract fails) |
### extract
```
ocr extract /abs/path/file.pdf --json
ocr extract /abs/path/shot.png --json
ocr extract a.pdf b.png --json
```
Optional: `--mode markdown|free|figure|ocr` (default `markdown`). Prefer absolute paths.
On success, use `data.documents[]`:
- `content` - fenced page for context (prefer this)
- `markdown` - full unfenced body
- `handle` - for `open` if `has_more`
- `has_mo