mineru-document-parser Pass

Use when an agent needs to read, parse, OCR, search, inspect, or cite local documents with MinerU, including PDFs, scanned documents, images, DOCX, PPTX, XLSX, academic papers, long documents, tables, formulas, and document locators. Use for agent-native document reading workflows that should prefer local privacy, structured errors, continuation, and stable page/block locators.

83out of 100
70.5k
stars
16
downloads
45
views

// Install Skill

Install Skill

Skills are third-party code from public GitHub repositories. SkillHub scans for known malicious patterns but cannot guarantee safety. Review the source code before installing.

Install globally (user-level):

npx skillhub install opendatalab/MinerU/mineru-document-parser

Install in current project:

npx skillhub install opendatalab/MinerU/mineru-document-parser --project

skill.install.customTargetHelp

npx skillhub install opendatalab/MinerU/mineru-document-parser --target-dir /path/to/skills

Suggested path: ~/.claude/skills/mineru-document-parser/

AI Review

83
out of 100
Instruction Quality95
Description Precision95
Usefulness72
Technical Soundness65

Scored 83 thanks to exceptional instruction quality with a 19-row error handling table, clear decision tree, and progressive workflow examples. Description is comprehensive with multiple triggers and clear scope. Minor deductions for lack of cross-platform command alternatives and dependency on specific tooling.

productionmoderateresearchersdata-analystslegal-engineersai-engineersdocument-parsingocrpdf-extractioncitation-trackingdocument-search
Reviewed by review-skill-gateway(z-ai/glm-5.2) on 7/19/2026

SKILL.md Content

---
name: mineru-document-parser
description: Use when an agent needs to read, parse, OCR, search, inspect, or cite local documents with MinerU, including PDFs, scanned documents, images, DOCX, PPTX, XLSX, academic papers, long documents, tables, formulas, and document locators. Use for agent-native document reading workflows that should prefer local privacy, structured errors, continuation, and stable page/block locators.
metadata:
  openclaw:
    emoji: "📄"
    privacy: "MinerU defaults to local parsing and local storage. Document content is not uploaded unless the user explicitly allows remote parsing with --remote or an equivalent parsing rule."
    requires:
      bins: ["mineru"]
    optional:
      env: ["MINERU_HOME", "MINERU_API_KEY"]
    install:
      - id: "uv"
        kind: "python"
        package: "mineru"
        bins: ["mineru"]
        label: "Install via uv tool"
      - id: "pipx"
        kind: "python"
        package: "mineru"
        bins: ["mineru"]
        label: "Install via pipx"
      - id: "pip"
        kind: "python"
        package: "mineru"
        bins: ["mineru"]
        label: "Install via pip fallback"
allowed-tools: Bash(mineru:*), Bash(command:*), Bash(test:*), Bash(uv:*), Bash(pipx:*), Bash(pip:*), Bash(python:*), Bash(python3:*), Bash(which:*)
---

# MinerU Document Parser

## What MinerU Is

MinerU is a command-line document reader for agents. It parses local documents into readable content, lets agents continue by page or block, and returns stable locators for follow-up reads and citations.

## What MinerU Is Not

MinerU is not a browser, RAG framework, embedding system, vector database, or chat-with-doc application. It can be used as the document parsing step in a larger pipeline, but this skill only uses the `mineru` command.

## When To Use MinerU

Use this skill when the user asks an agent to:

- Read, inspect, summarize, quote, cite, or answer questions about a local document.
- Convert document content into Markdown for analysis.
- OCR scanned PDFs or images.
- Extract content from PDFs, DOCX, PPTX, XLSX, images, or other MinerU-supported document formats.
- Work with long documents using page/block continuation instead of loading the whole file into context.
- Search documents MinerU has already indexed.
- Retrieve page or block images for visual inspection.
- Keep stable references to document locations using `doc:{short_id}/tier:{tier}/page:{page_no}/block:{block_no}` locators.

## Supported Inputs

Use MinerU for local document files such as:

| Type | Examples |
|---|---|
| PDF | `.pdf`, including scanned PDFs and academic papers |
| Images | `.png`, `.jpg`, `.jpeg`, `.webp`, `.bmp`, and similar image files |
| Word | `.docx` |
| PowerPoint | `.pptx` |
| Excel | `.xlsx` |

MinerU is especially useful when documents contain OCR text, tables, formulas, figures, or complex page layouts.

## Do Not

Do not:

- Summarize a document before reading it with `mineru`.
- Reimplement PDF/OCR extraction when `mineru` can read the document.

## Agent Contract

- Use `mineru` as the command entrypoint.
- Use `--json` when making control-flow decisions.
- Follow continuation commands and `next_request`.
- Preserve locators for citations and follow-up reads.
- Ask before using `--remote`, changing persistent config, adding watches, stopping or restarting the server, invalidating caches, or running destructive maintenance such as `forget --no-dry-run` or `cleanup --no-dry-run`.

## Core Decision Tree

Use this decision tree before running commands:

1. User provided a file path and wants content: run `mineru parse <file>`.
2. User provided a `doc:...` locator: run `mineru read <locator>`.
3. User asks to continue from a previous output: follow the `<!-- Next: ... -->` command exactly.
4. User asks for a specific page or block after parsing: use `mineru read <locator>`, not a fresh parse.
5. User asks to find a document by filename: use `mineru find`.
6. User asks to search inside known indexed documents: use `mineru search`.
7. User asks for parse/file/doc status: use `mineru show` or `mineru list`.
8. User asks to add or refresh a watched folder: use `mineru watch` or `mineru scan`.
9. User asks MinerU to forget a file or folder without deleting it: use `mineru forget`.
10. User asks to force a reparse: use `mineru parse --force` or `mineru invalidate`.

## Common Workflows

### First read from a file

```bash
mineru parse "document.pdf" --json
```

Then answer from `content.content`. If `next_request` exists and the question needs more context, continue.

### Continue progressively

```bash
mineru parse "book.pdf" --pages 1~10 --limit 12000 --json
mineru read "doc:ab12cd3/tier:standard/page:11" --limit 12000 --json
```

Continue with returned `next_request.locator`.

### Read or inspect a known location

```bash
mineru read "doc:ab12cd3/tier:standard/page:42" --context 1 --json
mineru read "doc:ab12cd3/tier:standard/page:12/block:5" --format image --output ./page12-block5.png
```

### Search local library, then read

```bash
mineru search "liquidated damages" --min-tier standard --json
mineru read "doc:ab12cd3/tier:standard/page:18" --json
```

## Installation And Setup

Always check whether `mineru` is already available before installing.

```bash
command -v mineru
mineru --help
```

If `mineru` is not installed, install it with the first available isolated CLI installer.
MinerU requires Python `>=3.10,<3.14`.

### Install with `uv` (preferred)

If `uv` is available, use any supported Python version for the tool environment.
If no supported interpreter is available, install Python 3.12 with `uv` as a conservative fallback:

```bash
command -v uv
uv python find 3.12
uv python find 3.13
uv python find 3.11
uv python find 3.10
```

If all `uv python find` commands failed, download Python 3.12 with `uv`:

```bash
uv python install 3.12
```

Then install MinerU with the supported interpreter that was found, or with Python 3.12 if it was installed as the fallback:

```bash
uv tool install --python 3.12 mineru-next-dev
```

### Install with `pipx`

If `uv` is unavailable but `pipx` is available, inspect `pipx`'s default Python before installing:

```bash
command -v pipx
pipx environment --value PIPX_DEFAULT_PYTHON
PIPX_DEFAULT_PYTHON="$(pipx environment --value PIPX_DEFAULT_PYTHON)"
"$PIPX_DEFAULT_PYTHON" --version
```

Check the `PIPX_DEFAULT_PYTHON` path reported by `pipx`. If that interpreter satisfies `>=3.10,<3.14`, install with `pipx`:

```bash
pipx install mineru-next-dev
```

If `PIPX_DEFAULT_PYTHON` is unsupported, but a supported Python interpreter can be found on the current system, pass it explicitly. `python3.12` is an example; use any interpreter that satisfies `>=3.10,<3.14`.

```bash
command -v python3.12
python3.12 --version
pipx install --python python3.12 mineru-next-dev
```

If no supported system interpreter is available and `pipx` supports Python fetching, ask for approval before downloading a standalone Python:

```bash
pipx install --python 3.12 --fetch-python=missing mineru-next-dev
```

### Install with global `pip`

If neither `uv` nor `pipx` is available, but `pip` or `pip3` is available, check the Python version of the `pip` command, and ask the user before installing into the global python environment:

```bash
which -a pip pip3 pip3.10 pip3.11 pip3.12 pip3.13  # find all available pips
pip --version
```

If a `pip` command reports Python `>=3.10,<3.14`, and the user confirms, install with the exact supported `pip` command that was verified. Replace `pip` below with the verified pip command if needed:

```bash
pip install mineru-next-dev
```

### If No Supported Installer Is Available

If `uv`, `pipx`, `pip`, and `pip3` are all unavailable, or none of them can install with Python `>=3.10,<3.14`, recommend that the user install `uv` first.

### After Installation

Verify the installed CLI:

```bash
mineru --help
```

## Privacy Rules

MinerU is privacy-first.

- By default, `mineru` parses documents locally. A document is sent for remote parsing only when the command uses the `--remote` CLI parameter.
- Use local parsing first. If local parsing is not configured or cannot satisfy the request, and the document does not involve private or sensitive content, ask the user before retrying with `--remote`.
- Even if remote parsing is configured, do not upload a document until the user agrees.
- Local failure cannot silently fall back to remote.
- Remote failure may fall back to local if the request can still be satisfied locally.

When remote parsing is acceptable:

```bash
mineru parse "document.pdf" --remote
```

If the request is sensitive, confidential, legal, medical, financial, personal, or proprietary, stay local unless the user gives explicit remote permission.

## Telemetry

MinerU may collect anonymous, locally aggregated usage and diagnostic telemetry to understand command usage, success or failure rates, tier choices, coarse environment categories, and performance timing buckets.

Telemetry does not collect document contents, extracted text or images, file names, file paths, search queries, prompts, snippets, API keys, usernames, hostnames, raw tracebacks, or exact hardware identifiers.

Telemetry starts in an unset consent state. In this state MinerU may keep local aggregate data but will not upload it. Users can enable or disable telemetry explicitly; disabling telemetry stops new telemetry aggregation and removes unsent local telemetry data.

Do not prompt for telemetry consent in agent or non-interactive contexts. If the user asks about telemetry, use:

```bash
mineru telemetry status
mineru telemetry enable
mineru telemetry disable
mineru telemetry preview
mineru telemetry flush
```

## Quality Tiers

MinerU has three quality tiers:

| Tier | Use for | How to use |
|---|---|---|
| `flash` | Fast discovery, preview, and search indexing | Never use as default final reading quality |
| `standard` | Local high-quality reading on typical supported hardware | Minimum default quality for active reading |
| `pro` | Highest quality, local high-end hardware or remote API | Use for complex or high-value documents when available |

Default tier behavior:

- Omit `--tier` when the user wants normal reading quality.
- MinerU will choose the highest available non-`flash` tier, usually `standard` or `pro`.
- If normal reading quality is unavailable, there are usually three options:
  - Use remote parsing with `--remote`.
  - Start or configure a local parse server if the hardware supports it.
  - Explicitly accept the lower-quality local `flash` tier.
- Use `--tier flash` only when the user explicitly asks for fastest/preview/low-cost parsing or accepts lower quality.

Examples:

```bash
mineru parse "paper.pdf"
mineru parse "paper.pdf" --tier standard
mineru parse "paper.pdf" --tier pro
mineru parse "paper.pdf" --tier flash
```

## Server Rules

Most `mineru` commands use the local MinerU background service. If a command fails with `server_not_running`, start it:

```bash
mineru server start
```

Check status when MinerU is not responding, parsing is stuck, or you need to see available tiers:

```bash
mineru server status
mineru server status --json
```

Server commands:

```bash
mineru server start
mineru server stop
mineru server restart
mineru server status
```

Agent rules:

- Start the server when `mineru` reports it is not running.
- Do not restart the server repeatedly without a reason.
- Use `server status --json` when you need machine-readable status.
- If high-quality local parsing is unavailable, report the error and suggested action. Do not switch to remote without permission.

## Local Parse Server

Use a local parse server when the user wants `standard` or `pro` quality without sending the document to remote parsing.

Hardware guidance:

| Tier | Local hardware guidance |
|---|---|
| `standard` | macOS with Apple Silicon and about 4 GB unified memory, or Windows/Linux with an NVIDIA GPU and at least 4 GB VRAM |
| `pro` | High-end GPU or accelerator hardware with the matching model environment; otherwise prefer remote parsing if the user allows it |

Change local parse-server config or restart the server only when the user asks for or approves local high-quality parsing.

Start managed local parsing for `standard`:

```bash
mineru server start
mineru config set parse_server.local.mode managed
mineru config set parse_server.local.managed_tier standard
mineru server restart
mineru server status
```

Start managed local parsing for `pro`:

```bash
mineru server start
mineru config set parse_server.local.mode managed
mineru config set parse_server.local.managed_tier pro
mineru server restart
mineru server status
```

Rules:

- Use `standard` as the practical local default when supported by the user's machine.
- Use local `pro` only when the user has suitable high-end hardware and model setup.
- If local `standard` or `pro` cannot start, do not add `--remote` automatically; ask the user first.

## First Read From A File

Use `mineru parse` for the first active read from a local file path.

```bash
mineru parse "report.pdf"
```

By default, readable content is printed to stdout. Use `--output` only when the user wants the result saved to a file.

Use JSON when you need structured status, tier, content, and continuation:

```bash
mineru parse "report.pdf" --json
```

For a specific page range:

```bash
mineru parse "report.pdf" --pages 1~10
mineru parse "report.pdf" --pages all
```

For bounded context:

```bash
mineru parse "report.pdf" --limit 12000
```

For no synchronous wait:

```bash
mineru parse "report.pdf" --no-wait --json
```

For longer wait:

```bash
mineru parse "report.pdf" --wait 180 --json
```

For output to a file:

```bash
mineru parse "report.pdf" --output ./report.md
```

Rules:

- Quote paths with spaces.
- For paged documents, the default active read range is the first page window, usually `1~10`; continue with the returned marker or `next_request` instead of reading the whole document by default.
- Use the default tier unless the user has a quality/speed/privacy preference.
- Use `--pages all` only when the user asks for the whole document or the document is known to be small enough.
- Prefer `--limit` and continuation for long documents.
- Once you have a locator, switch to `mineru read`.

## Continue Reading

MinerU output may include a command to continue reading:

```text
<!-- Next: mineru read doc:ab12cd3/tier:standard/page:11 -->
```

or:

```text
<!-- Next: mineru parse report.pdf --pages 11~20 -->
```

Run the suggested command exactly unless the user asks for a different page, block, format, or limit.

Agent rules:

- Do not guess the next page or block if MinerU provides a next command.
- Do not restart parsing from page 1 when continuing.
- For non-paged long documents, continuation may use an `--after` cursor from `next_request.after`; use that exact cursor.
- Prefer `mineru read` when the next command or JSON output gives a locator.
- Use `--limit` to keep output within the conversation budget.
- Preserve locators for citations and follow-up reads.

## Read By Locator

Use `mineru read` when a document has already been parsed or when the user gives a locator.

Locator forms:

```text
doc:{short_id}
doc:{short_id}/tier:{tier}
doc:{short_id}/tier:{tier}/page:{page_no}
doc:{short_id}/tier:{tier}/page:{page_no}/block:{block_no}
doc:{short_id}/tier:{tier}/page:{page_no}/block:{block_no}/char:{offset}
```

Examples:

```bash
mineru read "doc:ab12cd3/tier:standard/page:4"
mineru read "doc:ab12cd3/tier:standard/page:4/block:7"
mineru read "doc:ab12cd3/tier:standard/page:4/block:7" --context 2
mineru read "doc:ab12cd3/tier:standard/page:4" --limit 8000 --json
```

Rules:

- Page and block numbers are 1-based.
- Character offsets are 0-based within the block text.
- `--context N` means surrounding pages for page locators and surrounding blocks for block locators.
- If only `doc:{short_id}` is provided, MinerU should choose the highest cached non-`flash` tier. If none exists, parse the document first or report the error.

## Read Page Or Block Images

Use image output only when the user needs visual inspection, layout evidence, cropped figures, page screenshots, or block-level visual verification.

```bash
mineru read "doc:ab12cd3/tier:standard/page:4" --format image
mineru read "doc:ab12cd3/tier:standard/page:4/block:7" --format image
mineru read "doc:ab12cd3/tier:standard/page:4/block:7" --format image --output ./block-7.png
```

Rules:

- PDF page image is supported for page locators.
- PDF block image requires a valid non-empty bbox.
- Office block image is only expected for image blocks.
- Multi-page image export is not the default reading workflow.
- If no `--output` is provided, MinerU prints the generated asset path.

## Search And Find

Use `find` for filenames and local paths:

```bash
mineru find "annual report"
mineru find "contract" --ext pdf
mineru find "invoice" --json
```

Use `search` for parsed document content:

```bash
mineru search "revenue recognition"
mineru search "transformer architecture" --type pdf
mineru search "appendix" --min-tier standard --limit 10 --json
```

Rules:

- `find` does not search document content.
- `search` only searches content MinerU has already indexed.
- If search returns only low-quality or `flash` snippets and the user needs an answer, parse or read the target document at default quality before relying on the content.
- Do not repeat sensitive search snippets in final output unless needed to answer the user.

## Inspect Status

Use `show` for one resource:

```bash
mineru show file "report.pdf"
mineru show file "report.pdf" --json
mineru show parse 123 --json
mineru show doc "<sha256>" --json
mineru show scan 456 --json
```

Use `list` for collections:

```bash
mineru list docs
mineru list files --ext pdf
mineru list parses --status parsing
mineru list scans --status running
mineru list docs --json
```

Rules:

- Use `show file` after parse timeout to see active parses and cached tiers.
- Use `list parses` to inspect queued, parsing, failed, or done parse tasks.
- Use JSON modes when you need structured output.

## Watch, Scan, And Local Library Maintenance

Use `scan` for one-time discovery or refresh:

```bash
mineru scan "~/Documents/report.pdf"
mineru scan "~/Documents/project"
mineru scan "~/Documents/project" --no-wait --json
```

Use `watch` for persistent folders:

```bash
mineru watch add "~/Documents"
mineru watch add "/Volumes/Archive" --removable
mineru watch list
mineru watch rescan "~/Documents"
mineru watch remove "~/Documents"
```

Watch rules:

- Watch is for discovery and search indexing.
- Watch defaults to `flash`.
- Watch results are not final reading quality.
- Active reading should still use `mineru parse` or `mineru read`.
- The CLI normalizes local path arguments with user-home expansion, absolute paths, and normalized separators.
- For `watch rescan` and `watch remove`, use either a watch id or the watch root path.
- Watch will not trigger remote parsing unless a parsing rule explicitly allows remote.

Use parsing rules only when the user wants automatic parse policy for paths:

```bash
mineru config parsing-rules add "*/papers/*" --tier standard --pages all
mineru config parsing-rules add "*/contracts/*" --tier pro --remote
mineru config parsing-rules list
mineru config parsing-rules remove 3
```

Use exclude rules to prevent discovery:

```bash
mineru config exclude-rules add "*/node_modules/*"
mineru config exclude-rules list
mineru config exclude-rules remove 5
```

Use `forget` to forget a file or folder from MinerU without deleting source files:

```bash
mineru forget "~/Documents/old.pdf"
mineru forget "~/Documents/project"
mineru forget "~/Documents/project" --no-dry-run
```

Use cleanup for local maintenance:

```bash
mineru cleanup deleted-files
mineru cleanup deleted-files --no-dry-run
mineru cleanup orphan-docs
mineru cleanup orphan-docs --no-dry-run
mineru cleanup temp
mineru cleanup temp --older-than 14
```

Rules:

- `forget` does not delete source files.
- `forget` does not prevent a watched path from being rediscovered.
- If the target is a watch root, remove the watch first. If the target is inside an active watch, warn that a later scan may rediscover it.
- `scan` does not create a watch.
- `scan` refreshes file discovery state only; it does not mean ingest or parsing has completed.
- `cleanup deleted-files` and `cleanup orphan-docs` default to dry-run; add `--no-dry-run` only when the user wants actual cleanup.
- `cleanup orphan-docs --no-dry-run` can delete cached parsed content for documents no longer linked to any known file path; use it only for maintenance.

## Reparse And Cache Control

MinerU caches parse results for the same document and tier.

Force a new parse for the current request:

```bash
mineru parse "report.pdf" --force
```

Invalidate cached parse results:

```bash
mineru invalidate "report.pdf"
mineru invalidate "report.pdf" --tier standard
```

Rules:

- Prefer cached results for normal reading.
- Use `--force` when the user asks to reparse or when cached output is known stale or wrong; it skips done cache for this request but does not invalidate or delete old results.
- Use `invalidate` when the user wants future parses and reads to avoid existing done results; invalidation does not automatically start a new parse.
- Do not delete user files as part of cache control.

## Configuration

Show configuration:

```bash
mineru config show
mineru config show --json
```

Set or unset a value only when the user gives an explicit configuration key:

```bash
mineru config get "<key>"
mineru config set "<key>" "<value>"
mineru config unset "<key>"
```

Important environment variables:

| Variable | Meaning |
|---|---|
| `MINERU_HOME` | MinerU home, default `~/.mineru` |
| `MINERU_API_KEY` | API key for remote parsing when remote is explicitly allowed |

Rules:

- Remote URL/API key configuration does not authorize upload by itself.
- `--remote` or a remote-enabled parsing rule is still required.
- Avoid printing secrets from config.

## JSON Output

Use `--json` when an agent needs stable machine-readable fields.

`mineru parse --json` returns:

```json
{
  "parse": { "...": "parse summary" },
  "content": { "...": "readable content and continuation data" }
}
```

If parsing is still pending, timed out, or `--no-wait` is used, `content` may be `null`.

Errors use:

```json
{
  "error": {
    "type": "engine_error",
    "code": "quality_tier_unavailable",
    "message": "...",
    "param": "tier",
    "retryable": false,
    "user_action": "...",
    "docs_url": null
  }
}
```

Agent rules:

- Branch on `error.code`, not on prose in `message`.
- Respect `retryable`.
- Use `user_action` to decide the next command or user-facing suggestion.
- Do not strip locator fields from parsed content; they are needed for continuation and citation.

## Error Recovery

Use this table for common error codes:

| Code | Meaning | Agent action |
|---|---|---|
| `server_not_running` | MinerU background service is unavailable | Run `mineru server start`, then retry once |
| `quality_tier_unavailable` | Normal reading quality is unavailable | Suggest enabling local high-quality parsing, ask before `--remote`, or ask whether `--tier flash` is acceptable |
| `no_engine` | Requested tier is unavailable locally | Suggest another tier or enable local high-quality parsing |
| `engine_unavailable` | Engine process unavailable | Retry if `retryable`; otherwise check `mineru server status` |
| `parse_server_unavailable` | Parsing service cannot be reached | Check `mineru server status`; do not switch privacy boundary |
| `tier_mismatch` | Requested tier unsupported | Ask user to choose a supported tier |
| `parse_failed` | MinerU could not parse the file | Report failure; suggest a different tier only if privacy rules allow |
| `parse_timeout` | Parse exceeded timeout | Retry with longer `--wait`, inspect status, or use lower tier if user accepts |
| `parse_oom` | Memory or VRAM exhausted | Suggest lower quality, smaller `--pages`, or remote only with permission |
| `remote_not_allowed` | Remote might be needed but was not authorized | Ask user whether uploading is acceptable; do not add `--remote` yourself |
| `invalid_api_key` | API key invalid | Ask user to set a valid key |
| `quota_exceeded` | Remote quota exhausted | Suggest waiting or using local |
| `rate_limit_exceeded` | Remote rate limit | Retry later if appropriate |
| `file_not_found` | Path or file id missing | Ask for correct path or run `mineru find` |
| `file_permission_denied` | Local file unreadable | Ask user to fix permissions |
| `file_type_unsupported` | Format unsupported | Report unsupported type |
| `file_encrypted` | Password-protected file | Ask user for an unlocked copy |
| `file_corrupted` | File cannot be read | Ask for a valid copy |
| `page_range_invalid` | Bad `--pages` value | Correct to forms such as `1~5`, `1,3,8~10`, or `all` |
| `not_cached` / `cache_miss` | Requested cached content does not exist | Run `mineru parse` |

Retry rules:

- Retry once for transient server startup or explicitly retryable errors.
- Do not retry parse failures indefinitely.
- Do not change tier, pages, or remote/local privacy boundary without a reason.
- Do not add `--remote` during recovery without user permission.

## Answering Users With MinerU Output

When answering after reading a document:

- Use the parsed content, not assumptions about the document.
- Cite locators when the user needs traceability.
- Prefer concise quotations and page/block references over large copied passages.
- If content was truncated, say that the answer is based on the pages/blocks read so far.
- Continue reading before making claims that require unread sections.
- For tables, formulas, figures, or layout-sensitive questions, read the relevant page/block and use image output if needed.

Citation style examples:

```text
The warranty period is 24 months (doc:ab12cd3/tier:standard/page:7/block:3).
```

```text
The method is described across pages 4-5; I checked doc:ab12cd3/tier:pro/page:4 and doc:ab12cd3/tier:pro/page:5.
```

## Operating Rules

- Do not use `flash` as default final reading quality.
- Do not reparse when a valid locator and cached result are enough.
- Do not ignore continuation commands.
- Do not load a whole long document when page/block continuation can answer the question.
- Do not delete source files.
- Do not expose secrets, API keys, or unnecessary local paths.
- Do not branch on human prose when JSON `error.code` or `next_request` is available.

License

No license was declared in this skill's source.

The full license text is available in the source repository.

View the license in the source repositorythe version published there is authoritative.