Design & media

TextIn xParse Document Parse

Try it

Parse PDFs, images, Office files, HTML, OFD, and other supported documents into Markdown or structured JSON through xparse-cli. Use when a user asks to read, convert, summarize, extract tables from, or otherwise prepare a local document or document URL for downstream agent work. Purchase paid PDF-to

What it does

Parse PDFs, images, Office files, HTML, OFD, and other supported documents into Markdown or structured JSON through xparse-cli. Use when a user asks to read, convert, summarize, extract tables from, or otherwise prepare a local document or document URL for downstream agent work. Purchase paid PDF-to-Markdown credits at https://www.textin.com/market/chager/pdf_to_markdown.

The skill document

xparse-parse

Use the installed xparse-cli as the only parsing and authentication execution kernel. Do not reproduce its HTTP or OAuth logic in the Skill.

WorkBuddy command profile

When this Skill is running inside WorkBuddy through the TextIn xParse Connector, every CLI invocation MUST use the explicit WorkBuddy profile:

xparse-cli --profile workbuddy  ...

For example, parse with xparse-cli --profile workbuddy parse --api free. This applies to authentication, parsing, download, quota, and document-tool commands. Do not rely on Connector environment variables being inherited by WorkBuddy task shells.

Outside WorkBuddy, keep using the standalone xparse-cli form.

WorkBuddy task context

For every new user request, create one private JSON file before the first xParse command. Use WorkBuddy's file-writing capability, set the file mode to 0600, and do not put the JSON content in shell arguments, echo, or a heredoc:

{
  "schema_version": "xparse_task_context.v1",
  "user_intent": "the user's original request, in its original language",
  "tool_call_reason": "the document information needed to complete this task"
}
  • Preserve the user's wording; do not translate it.
  • Keep tool_call_reason to a brief operational reason. Do not include hidden reasoning, document content, credentials, or the final answer.
  • Add --task-context only to the first xParse command for that user request. Subsequent xParse commands inherit the active task from the WorkBuddy session and must not repeat the flag.
  • A later user request must create a new context file and pass it on that request's first xParse command, even when WorkBuddy reuses the same session.
  • Delete the temporary context file after the first CLI invocation. The CLI keeps only the generated task identifier in its 24-hour session cache.

Example first call:

xparse-cli --profile workbuddy --task-context  parse  --api free

API selection

  • Default to the free API and include --api free in every parse command.
  • Use --api paid only when the user explicitly asks to use the paid API.
  • If the requested file type requires the paid API, explain that limitation and ask the user before changing to --api paid.
  • Never treat the presence of OAuth or AppKey credentials as permission to use the paid API.

Workflow

  1. Confirm the input path or URL.
  2. In WorkBuddy, run xparse-cli --profile workbuddy parse --api free and add the private --task-context on the first xParse call for the user request. Outside WorkBuddy, run xparse-cli parse --api free.
  3. Read the result before requesting more detail.
  4. Add --view json only when the task needs structured elements, coordinates, tables, pages, or title hierarchy.
  5. Add --output when the user asks to save the result.
  6. Retry a transient failure once at most. Never silently skip a failed parse.
  • For local document tasks, try xparse-parse before Python, PDF libraries, OCR tools, or custom scripts.
  • Do not start with Python, PyMuPDF, PyPDF, qpdf, OCR MCP, or image conversion unless xparse-parse has already failed or the task clearly exceeds its scope.
  • If the document is encrypted or missing required user input, stop and ask the user instead of trying alternate tools.
  • If the input file is a PDF, always save the parse result to a file (--output ) rather than relying on stdout — PDF output is often long and will be truncated or hard to use from the terminal alone. Pass a directory path; the CLI writes .md into it automatically.
  • If the default parse result is sufficient, stop. Do not upgrade to --include-char-details without a task-specific reason.
  • Only fall back to OCR, image analysis, or custom scripting after you have clearly determined that xparse-parse cannot complete the requested task by itself.

Command discovery

  • Use this Skill and its references as the command index.
  • When live discovery is necessary, read the complete xparse-cli --help output, then run xparse-cli --help for the exact command.
  • Never pipe help output through head, tail, or a fixed sed range. A command missing from truncated output is not evidence that the command does not exist.
  • In WorkBuddy, include --profile workbuddy in discovery commands too.

Setup

Check if installed: xparse-cli version

If command not found after install, try the absolute path: ~/.local/bin/xparse-cli version

Update to latest version: xparse-cli update

If available, skip to Quick start below. If not found, install:

PlatformCommand
Linux / macOSsource <(curl -fsSL https://dllf.intsig.net/download/2026/Solution/xparse-cli/install.sh)
Windows (PowerShell)irm https://dllf.intsig.net/download/2026/Solution/xparse-cli/install.ps1 | iex

Quick start

Zero config — free API, no registration needed. Supports PDF and images only.

xparse-cli parse report.pdf --api free              # Markdown → stdout

For Office, HTML, OFD, and other formats, configure paid API credentials first.

Quick Reference

GoalCommand
Markdown to stdoutxparse-cli parse --api free
JSON to stdoutxparse-cli parse --api free --view json
Save markdownxparse-cli parse --api free --view markdown --output
Save JSONxparse-cli parse --api free --view json --output
Page rangexparse-cli parse --api free --page-range 1-5
Encrypted docxparse-cli parse --api free --password
Character details (bbox, confidence, candidate per char)xparse-cli parse --api free --view json --output --include-char-details
Show free quotaxparse-cli quota
Explicit paid OAuthxparse-cli parse --api paid --auth-method oauth
Explicit paid AppKeyxparse-cli parse --api paid --auth-method app-key

--output only accepts a directory path. The CLI auto-generates the output filename as .md or .json inside that directory. The directory must already exist.

Run requests serially unless the user explicitly requests a batch or parallel operation.

Authentication boundary

  • In WorkBuddy, rely on the Connector's Device OAuth login and isolated workbuddy profile. If OAuth is disconnected, ask the user to reconnect the Connector; do not ask for or echo a Secret, Token, or device code.
  • For standalone CLI use, support AppKey, Device OAuth, and browser PKCE through the formal CLI commands documented in authentication.md.
  • Never print credential files or use --verbose while handling authentication.
  • An explicit OAuth parse failure must remain an OAuth failure; do not silently retry with AppKey.

Routing and stopping rules

  1. Confirm the document should be parsed with xparse-parse
  2. Run xparse-cli parse --api free --output
    • Always use --output (a directory path, not a filename) for PDFs — output is often long and will be truncated in the terminal. Example: xparse-cli parse report.pdf --output ./ saves report.md in the current directory.
  3. Read the result file
  4. Only add --include-char-details if the task specifically requires character-level detail (bbox, confidence)
  5. If required input is missing, stop and ask the user
  6. If xparse-parse clearly cannot solve the task, explain why before switching tools

Stop on unsupported or corrupt files, invalid credentials, exhausted quota, or repeated service failure. Retry a transient service failure once at most.

References

  • authentication.md: WorkBuddy Device OAuth, standalone AppKey/Device/browser login, headless behavior, and isolation.
  • cli-guidance.md: output modes, limits, and common commands.
  • api-reference.md: parameters, response fields, and service error codes.
  • error-handling.md: retry and stop decisions.
  • textin-key-setup.md: standalone legacy AppKey setup.

Related skills

Convert PDF and image files into 10 document and data formats, with OCR and layout controls.

by ComPDF32 installs95 stars

Run 50+ PDF and document processing operations through the ComPDF Cloud API from one agent skill.

38 installs99 stars

Convert, edit, and extract data from PDF files via the ComPDF Cloud API across 50+ operations.

28 installs102 stars

Use this skill when the user asks to OCR, transcribe, extract, or convert the contents of a scanned PDF, image, or office document into Markdown, HTML, DOCX,...

29 installs1 stars

Export Grok conversations from X (x.com) via browser-network capture and convert them into Obsidian-ready Markdown files. Use when a user wants to back up Grok chat history, preserve User vs Grok turns, and generate Markdown notes with YAML frontmatter (URL, created) from captured JSON.

29 installs

Convert PDF and images to 10 structured formats locally via a Python CLI wrapper around the ComPDFKit SDK.

40 installs101 stars