Skip to content
Back to skills

Xparse Parse

ASecurity

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.

  • 279 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
toolspythongoshellbashapi

Works with

  • terminal
  • cli
  • api
  • mcp

Security analysis

A92/100
  • mediumUses curl or wget to download content

Pro scans all 8 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add infometa/workbuddyskills --skill xparse-parse --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Xparse Parse?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Xparse Parse
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/infometa-xparse-parse/badge)](https://www.skillsdirectory.com/skills/infometa-xparse-parse)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: xparse-parse
description: "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."
---

# 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:

```bash
xparse-cli --profile workbuddy <command> ...
```

For example, parse with
`xparse-cli --profile workbuddy parse <INPUT> --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 <command>` 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:

```json
{
  "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 <FILE>` 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:

```bash
xparse-cli --profile workbuddy --task-context <CONTEXT_FILE> parse <INPUT> --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 <INPUT> --api free`
   and add the private `--task-context <FILE>` on the first xParse call for the
   user request. Outside WorkBuddy, run `xparse-cli parse <INPUT> --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 <PATH>` 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 <DIR>`) 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 `<basename>.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 <command> --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:

| Platform | Command |
|----------|---------|
| Linux / macOS | ` source <(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.

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

> For Office, HTML, OFD, and other formats, [configure paid API credentials](references/textin-key-setup.md) first.

## Quick Reference

| Goal | Command |
|------|---------|
| Markdown to stdout | `xparse-cli parse <FILE> --api free` |
| JSON to stdout | `xparse-cli parse <FILE> --api free --view json` |
| Save markdown | `xparse-cli parse <FILE> --api free --view markdown --output <DIR>` |
| Save JSON | `xparse-cli parse <FILE> --api free --view json --output <DIR>` |
| Page range | `xparse-cli parse <FILE> --api free --page-range 1-5` |
| Encrypted doc | `xparse-cli parse <FILE> --api free --password <PWD>` |
| Character details (bbox, confidence, candidate per char) | `xparse-cli parse <FILE> --api free --view json --output <DIR> --include-char-details` |
| Show free quota | `xparse-cli quota` |
| Explicit paid OAuth | `xparse-cli parse <FILE> --api paid --auth-method oauth` |
| Explicit paid AppKey | `xparse-cli parse <FILE> --api paid --auth-method app-key` |

> `--output` only accepts a **directory path**. The CLI auto-generates the output filename as `<basename>.md` or `<basename>.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](references/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 <FILE> --api free --output <DIR>`
   - **Always use `--output <DIR>`** (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](references/authentication.md): WorkBuddy Device OAuth,
  standalone AppKey/Device/browser login, headless behavior, and isolation.
- [cli-guidance.md](references/cli-guidance.md): output modes, limits, and
  common commands.
- [api-reference.md](references/api-reference.md): parameters, response fields,
  and service error codes.
- [error-handling.md](references/error-handling.md): retry and stop decisions.
- [textin-key-setup.md](references/textin-key-setup.md): standalone legacy
  AppKey setup.

Files in this skill

  • SKILL.md8.6 KB
  • agents/openai.yaml299 B
  • assets/logo.png10.3 KB
  • references/api-reference.md8.2 KB
  • references/authentication.md5 KB
  • references/cli-guidance.md5 KB
  • references/error-handling.md8.1 KB
  • references/textin-key-setup.md1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…