[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RZ7PSG17ES4CQWA6860F5":3,"skill-same:01M71RZ7PSG17ES4CQWA6860F5":94},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":34,"publishedAt":54,"linkOnly":55,"markdownContent":56,"markdownBody":57,"frontMatter":58,"refName":64,"commitSha":65,"skillDirectory":66,"forksCount":14,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":69,"install":70,"resources":83},"01M71RZ7PSG17ES4CQWA6860F5","liteparse",null,"Preferred local parser for extracting text from PDFs, images, and scanned\u002Flayout-heavy documents (OCR, screenshots, complex PDFs) — far better than pdftotext. Use this FIRST for any PDF, image, or OCR text-extraction or conversion task. NOTE for Office documents (DOCX, PPTX, XLSX, ODT) — for plain text extraction prefer the `pandoc` skill, which needs no LibreOffice; only use LiteParse for Office docs when you need its layout\u002FOCR\u002Fscreenshot output. The `pdf` skill (pdftotext) is only a fallback for when LiteParse cannot be installed.","blouargant\u002Fomnis","blouargant","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5691896?v=4","01M71RWETBTYXSMT6FFC4Q7HPW","Bertrand Louargant","01M71RWEV3G47S696JYH8EA7W2",0,"MIT","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fliteparse\u002FSKILL.md",[18,23,26,29],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[5,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],"app","needs","when","managed","which","pipx","pdftotext","you","extracting","docx","local","images","only","ocr","documents","image","xlsx","pptx","PDF","2026-11-10 13:02:02",false,"---\nname: liteparse\ndescription: Preferred local parser for extracting text from PDFs, images, and scanned\u002Flayout-heavy documents (OCR, screenshots, complex PDFs) — far better than pdftotext. Use this FIRST for any PDF, image, or OCR text-extraction or conversion task. NOTE for Office documents (DOCX, PPTX, XLSX, ODT) — for plain text extraction prefer the `pandoc` skill, which needs no LibreOffice; only use LiteParse for Office docs when you need its layout\u002FOCR\u002Fscreenshot output. The `pdf` skill (pdftotext) is only a fallback for when LiteParse cannot be installed.\ncompatibility: Requires Python 3.10+ and the `lit` CLI from `liteparse`, installed with pipx (`pipx install liteparse`) — pipx isolates the app and puts `lit` on PATH, and works on PEP 668 \u002F externally-managed Python where `pip install` is blocked\nlicense: MIT\nmetadata:\n  author: LlamaIndex\n  version: \"0.1.0\"\n  tags: \"file, pdf, docx, pptx, xlsx, image, ocr, text extraction\"\n---\n\n# LiteParse Skill\n\nParse unstructured documents (PDF, DOCX, PPTX, XLSX, images, and more) locally with LiteParse: fast, lightweight, no cloud dependencies or LLM required.\n\n**LiteParse is the preferred PDF\u002Fdocument parser** — it produces much better\nresults than `pdftotext`, especially on scanned, multi-column, or\nlayout-heavy PDFs, and it also handles formats `pdftotext` cannot. Reach for\nthe `pdf` skill (pdftotext) **only as a fallback** when `lit` is unavailable and\ncannot be installed (see Step 1).\n\n## Step 0 — Install discipline (READ FIRST)\n\nApply these rules before installing anything — and *especially* before **re-**trying\nan install. They prevent the common failure of re-installing tools that are\nalready present and thrashing on installs when the real problem is elsewhere:\n\n- **Check before you install.** Run `command -v \u003Ctool>` (e.g. `command -v lit`,\n  `command -v libreoffice`, `command -v pandoc`, `command -v convert`). **If it\n  prints a path, the tool is ALREADY INSTALLED — do NOT install or re-install\n  it.**\n- **Install each tool at most once.** Never run the same install command twice in\n  a task. If you already ran it, treat that dependency as handled.\n- **A conversion failure is NOT proof of a missing package.** If the required\n  binary is already on PATH and a parse still fails, the cause is *not* a missing\n  dependency, and installing more packages will not fix it. **Stop, read the\n  actual error, and diagnose or fall back** (see the fallbacks in Step 1). In\n  particular, a **snap-packaged LibreOffice** is sandboxed: it cannot read files\n  in hidden directories (e.g. uploads under `~\u002F.omnis\u002F…`) nor write its temp PDF,\n  so `lit` will report `source file could not be loaded` or `output PDF not\n  found` no matter how many times you reinstall it — use **pandoc** for Office\n  documents instead (see the \"Optional system dependencies\" note under Step 1).\n\n## Step 1 — Check that `lit` is installed\n\nBefore doing anything else, verify the `lit` CLI is available on the host:\n\n```bash\ncommand -v lit\n```\n\n- **If it prints a path** → LiteParse is installed; continue to Step 2.\n- **If it prints nothing (exit status 1)** → LiteParse is **not installed**.\n\n  > ⚠️ **Do NOT fall back to `pdftotext` here.** \"Not installed\" is **not** the\n  > same as \"unavailable\". Your **very next action must be to ask the user\n  > whether to install LiteParse** — never silently switch to pdftotext. The\n  > fallback is only reachable *after* the user has explicitly declined the\n  > install, or the install has actually failed.\n\n  Ask (via the `AskUserQuestion` tool when available, otherwise in chat):\n\n  > LiteParse (`lit`) isn't installed. It gives much better PDF results than\n  > pdftotext. Install it now with `pipx install liteparse`?\n\n  Then, **based on the user's answer**:\n  - **User agrees** → install and verify:\n    ```bash\n    pipx install liteparse\n    lit --version\n    ```\n    Use **pipx**, not `pip` — `liteparse` is a CLI app, and on PEP 668 \u002F\n    externally-managed Python (modern Debian\u002FUbuntu) `pip install` is blocked\n    with `error: externally-managed-environment`. If `pipx` itself is missing,\n    install it first (`apt install pipx` \u002F `brew install pipx`, then\n    `pipx ensurepath`). If `lit --version` still fails after a successful\n    install, `lit` landed in a dir that isn't on `PATH` (pipx uses\n    `~\u002F.local\u002Fbin`) — run `pipx ensurepath` and restart the shell, then treat\n    LiteParse as unavailable and use the fallback below.\n  - **User declines, or the install\u002Fverify genuinely fails** → *now* fall back:\n    - For a **plain PDF**, hand off to the **`pdf` skill** (`pdftotext`) — it\n      needs no install and covers the common case. Note the result may be lower\n      quality on scanned or layout-heavy PDFs.\n    - For **Office documents** (DOCX, PPTX, XLSX, ODT), hand off to the\n      **`pandoc` skill** for text extraction — it needs no LibreOffice, is\n      usually already installed, and is the **preferred path** for these formats\n      (see the optional-dependencies note below).\n    - For **images**, LiteParse (or ImageMagick + OCR) is required, so stop and\n      explain that.\n\n### Optional system dependencies (and when to skip LiteParse)\n\nLiteParse needs extra tools only for certain inputs — check\u002Finstall these **only\nfor the formats actually being parsed** (plain PDF parsing needs neither). Always\n`command -v` first (Step 0):\n\n- **Office documents** (DOCX, PPTX, XLSX, ODT, …): LiteParse converts these to\n  PDF via **LibreOffice** first. For plain **text extraction, prefer the\n  `pandoc` skill instead of LiteParse** — it is lightweight, usually already\n  installed, needs no conversion step, and is immune to the LibreOffice-as-snap\n  problem (Step 0). Example: `pandoc \"file.docx\" -t plain`. Only use\n  LiteParse+LibreOffice for an Office doc when you specifically need LiteParse's\n  layout\u002FOCR\u002Fscreenshot output, **and** LibreOffice is a real (non-snap) install:\n  ```bash\n  brew install --cask libreoffice   # macOS\n  apt-get install libreoffice       # Ubuntu\u002FDebian — avoid the snap: it is\n                                    # sandboxed and cannot read ~\u002F.omnis uploads\n                                    # or write its temp PDF, so conversion fails\n  ```\n- **Images** (PNG, JPG, TIFF, …) require **ImageMagick** (`command -v convert`\n  first):\n  ```bash\n  brew install imagemagick          # macOS\n  apt-get install imagemagick       # Ubuntu\u002FDebian\n  ```\n\n---\n\n## Step 2 — Confirm the request\n\nOnce `lit` is available, make sure you have (ask the user for anything missing):\n\n1. One or more files to parse (PDF, DOCX, PPTX, XLSX, images, etc.).\n2. Any specific options: output format (json\u002Ftext), page ranges, OCR\n   preferences, DPI, etc.\n3. What to do with the parsed content.\n\nThen produce the appropriate `lit` CLI command (or a short Python script using\nthe `liteparse` package) and, once it's clear, run it and report the results.\n\n---\n\n## Step 3 — Produce the CLI Command or Script\n\n### Parse a Single File\n\n```bash\n# Basic text extraction\nlit parse document.pdf\n\n# JSON output saved to a file\nlit parse document.pdf --format json -o output.json\n\n# Specific page range\nlit parse document.pdf --target-pages \"1-5,10,15-20\"\n\n# Disable OCR (faster, text-only PDFs)\nlit parse document.pdf --no-ocr\n\n# Use an external HTTP OCR server for higher accuracy\nlit parse document.pdf --ocr-server-url http:\u002F\u002Flocalhost:8828\u002Focr\n\n# Higher DPI for better quality\nlit parse document.pdf --dpi 300\n```\n\n### Batch Parse a Directory\n\n```bash\nlit batch-parse .\u002Finput-directory .\u002Foutput-directory\n\n# Only process PDFs, recursively\nlit batch-parse .\u002Finput .\u002Foutput --extension .pdf --recursive\n```\n\n### Generate Page Screenshots\n\nScreenshots are useful for LLM agents that need to see visual layout.\n\n```bash\n# All pages\nlit screenshot document.pdf -o .\u002Fscreenshots\n\n# Specific pages\nlit screenshot document.pdf --pages \"1,3,5\" -o .\u002Fscreenshots\n\n# High-DPI PNG\nlit screenshot document.pdf --dpi 300 --format png -o .\u002Fscreenshots\n\n# Page range\nlit screenshot document.pdf --pages \"1-10\" -o .\u002Fscreenshots\n```\n\n---\n\n## Step 4 — Key Options Reference\n\n### OCR Options\n\n| Option | Description |\n|--------|-------------|\n| (default) | Tesseract — zero setup, bundled with the library |\n| `--ocr-language fra` | Set OCR language (ISO code) |\n| `--ocr-server-url \u003Curl>` | Use external HTTP OCR server (EasyOCR, PaddleOCR, custom) |\n| `--no-ocr` | Disable OCR entirely |\n\n### Output Options\n\n| Option | Description |\n|--------|-------------|\n| `--format json` | Structured JSON with bounding boxes |\n| `--format text` | Plain text (default) |\n| `-o \u003Cfile>` | Save output to file |\n\n### Performance \u002F Quality Options\n\n| Option | Description |\n|--------|-------------|\n| `--dpi \u003Cn>` | Rendering DPI (default: 150; use 300 for high quality) |\n| `--max-pages \u003Cn>` | Limit pages parsed |\n| `--target-pages \u003Cpages>` | Parse specific pages (e.g. `\"1-5,10\"`) |\n| `--no-precise-bbox` | Disable precise bounding boxes (faster) |\n| `--skip-diagonal-text` | Ignore rotated\u002Fdiagonal text |\n| `--preserve-small-text` | Keep very small text that would otherwise be dropped |\n\n---\n\n## Step 5 — Using a Config File\n\nFor repeated use with consistent options, generate a `liteparse.config.json`:\n\n```json\n{\n  \"ocrLanguage\": \"en\",\n  \"ocrEnabled\": true,\n  \"maxPages\": 1000,\n  \"dpi\": 150,\n  \"outputFormat\": \"json\",\n  \"preciseBoundingBox\": true,\n  \"skipDiagonalText\": false,\n  \"preserveVerySmallText\": false\n}\n```\n\nFor an HTTP OCR server:\n\n```json\n{\n  \"ocrServerUrl\": \"http:\u002F\u002Flocalhost:8828\u002Focr\",\n  \"ocrLanguage\": \"en\",\n  \"outputFormat\": \"json\"\n}\n```\n\nUse with:\n\n```bash\nlit parse document.pdf --config liteparse.config.json\n```\n\n---\n\n## Step 6 — HTTP OCR Server API (Advanced)\n\nIf the user wants to plug in a custom OCR backend, the server must implement:\n\n- **Endpoint**: `POST \u002Focr`\n- **Accepts**: `file` (multipart) and `language` (string) parameters\n- **Returns**:\n```json\n{\n  \"results\": [\n    { \"text\": \"Hello\", \"bbox\": [x1, y1, x2, y2], \"confidence\": 0.98 }\n  ]\n}\n```\n\nReady-to-use wrappers exist for EasyOCR and PaddleOCR in the LiteParse repo.\n\n---\n\n## Supported Input Formats\n\n| Category | Formats |\n|----------|---------|\n| PDF | `.pdf` |\n| Word | `.doc`, `.docx`, `.docm`, `.odt`, `.rtf` |\n| PowerPoint | `.ppt`, `.pptx`, `.pptm`, `.odp` |\n| Spreadsheets | `.xls`, `.xlsx`, `.xlsm`, `.ods`, `.csv`, `.tsv` |\n| Images | `.jpg`, `.jpeg`, `.png`, `.gif`, `.bmp`, `.tiff`, `.webp`, `.svg` |\n\nOffice documents require LibreOffice; images require ImageMagick. LiteParse auto-converts these formats to PDF before parsing.\n","# LiteParse Skill\n\nParse unstructured documents (PDF, DOCX, PPTX, XLSX, images, and more) locally with LiteParse: fast, lightweight, no cloud dependencies or LLM required.\n\n**LiteParse is the preferred PDF\u002Fdocument parser** — it produces much better\nresults than `pdftotext`, especially on scanned, multi-column, or\nlayout-heavy PDFs, and it also handles formats `pdftotext` cannot. Reach for\nthe `pdf` skill (pdftotext) **only as a fallback** when `lit` is unavailable and\ncannot be installed (see Step 1).\n\n## Step 0 — Install discipline (READ FIRST)\n\nApply these rules before installing anything — and *especially* before **re-**trying\nan install. They prevent the common failure of re-installing tools that are\nalready present and thrashing on installs when the real problem is elsewhere:\n\n- **Check before you install.** Run `command -v \u003Ctool>` (e.g. `command -v lit`,\n  `command -v libreoffice`, `command -v pandoc`, `command -v convert`). **If it\n  prints a path, the tool is ALREADY INSTALLED — do NOT install or re-install\n  it.**\n- **Install each tool at most once.** Never run the same install command twice in\n  a task. If you already ran it, treat that dependency as handled.\n- **A conversion failure is NOT proof of a missing package.** If the required\n  binary is already on PATH and a parse still fails, the cause is *not* a missing\n  dependency, and installing more packages will not fix it. **Stop, read the\n  actual error, and diagnose or fall back** (see the fallbacks in Step 1). In\n  particular, a **snap-packaged LibreOffice** is sandboxed: it cannot read files\n  in hidden directories (e.g. uploads under `~\u002F.omnis\u002F…`) nor write its temp PDF,\n  so `lit` will report `source file could not be loaded` or `output PDF not\n  found` no matter how many times you reinstall it — use **pandoc** for Office\n  documents instead (see the \"Optional system dependencies\" note under Step 1).\n\n## Step 1 — Check that `lit` is installed\n\nBefore doing anything else, verify the `lit` CLI is available on the host:\n\n```bash\ncommand -v lit\n```\n\n- **If it prints a path** → LiteParse is installed; continue to Step 2.\n- **If it prints nothing (exit status 1)** → LiteParse is **not installed**.\n\n  > ⚠️ **Do NOT fall back to `pdftotext` here.** \"Not installed\" is **not** the\n  > same as \"unavailable\". Your **very next action must be to ask the user\n  > whether to install LiteParse** — never silently switch to pdftotext. The\n  > fallback is only reachable *after* the user has explicitly declined the\n  > install, or the install has actually failed.\n\n  Ask (via the `AskUserQuestion` tool when available, otherwise in chat):\n\n  > LiteParse (`lit`) isn't installed. It gives much better PDF results than\n  > pdftotext. Install it now with `pipx install liteparse`?\n\n  Then, **based on the user's answer**:\n  - **User agrees** → install and verify:\n    ```bash\n    pipx install liteparse\n    lit --version\n    ```\n    Use **pipx**, not `pip` — `liteparse` is a CLI app, and on PEP 668 \u002F\n    externally-managed Python (modern Debian\u002FUbuntu) `pip install` is blocked\n    with `error: externally-managed-environment`. If `pipx` itself is missing,\n    install it first (`apt install pipx` \u002F `brew install pipx`, then\n    `pipx ensurepath`). If `lit --version` still fails after a successful\n    install, `lit` landed in a dir that isn't on `PATH` (pipx uses\n    `~\u002F.local\u002Fbin`) — run `pipx ensurepath` and restart the shell, then treat\n    LiteParse as unavailable and use the fallback below.\n  - **User declines, or the install\u002Fverify genuinely fails** → *now* fall back:\n    - For a **plain PDF**, hand off to the **`pdf` skill** (`pdftotext`) — it\n      needs no install and covers the common case. Note the result may be lower\n      quality on scanned or layout-heavy PDFs.\n    - For **Office documents** (DOCX, PPTX, XLSX, ODT), hand off to the\n      **`pandoc` skill** for text extraction — it needs no LibreOffice, is\n      usually already installed, and is the **preferred path** for these formats\n      (see the optional-dependencies note below).\n    - For **images**, LiteParse (or ImageMagick + OCR) is required, so stop and\n      explain that.\n\n### Optional system dependencies (and when to skip LiteParse)\n\nLiteParse needs extra tools only for certain inputs — check\u002Finstall these **only\nfor the formats actually being parsed** (plain PDF parsing needs neither). Always\n`command -v` first (Step 0):\n\n- **Office documents** (DOCX, PPTX, XLSX, ODT, …): LiteParse converts these to\n  PDF via **LibreOffice** first. For plain **text extraction, prefer the\n  `pandoc` skill instead of LiteParse** — it is lightweight, usually already\n  installed, needs no conversion step, and is immune to the LibreOffice-as-snap\n  problem (Step 0). Example: `pandoc \"file.docx\" -t plain`. Only use\n  LiteParse+LibreOffice for an Office doc when you specifically need LiteParse's\n  layout\u002FOCR\u002Fscreenshot output, **and** LibreOffice is a real (non-snap) install:\n  ```bash\n  brew install --cask libreoffice   # macOS\n  apt-get install libreoffice       # Ubuntu\u002FDebian — avoid the snap: it is\n                                    # sandboxed and cannot read ~\u002F.omnis uploads\n                                    # or write its temp PDF, so conversion fails\n  ```\n- **Images** (PNG, JPG, TIFF, …) require **ImageMagick** (`command -v convert`\n  first):\n  ```bash\n  brew install imagemagick          # macOS\n  apt-get install imagemagick       # Ubuntu\u002FDebian\n  ```\n\n---\n\n## Step 2 — Confirm the request\n\nOnce `lit` is available, make sure you have (ask the user for anything missing):\n\n1. One or more files to parse (PDF, DOCX, PPTX, XLSX, images, etc.).\n2. Any specific options: output format (json\u002Ftext), page ranges, OCR\n   preferences, DPI, etc.\n3. What to do with the parsed content.\n\nThen produce the appropriate `lit` CLI command (or a short Python script using\nthe `liteparse` package) and, once it's clear, run it and report the results.\n\n---\n\n## Step 3 — Produce the CLI Command or Script\n\n### Parse a Single File\n\n```bash\n# Basic text extraction\nlit parse document.pdf\n\n# JSON output saved to a file\nlit parse document.pdf --format json -o output.json\n\n# Specific page range\nlit parse document.pdf --target-pages \"1-5,10,15-20\"\n\n# Disable OCR (faster, text-only PDFs)\nlit parse document.pdf --no-ocr\n\n# Use an external HTTP OCR server for higher accuracy\nlit parse document.pdf --ocr-server-url http:\u002F\u002Flocalhost:8828\u002Focr\n\n# Higher DPI for better quality\nlit parse document.pdf --dpi 300\n```\n\n### Batch Parse a Directory\n\n```bash\nlit batch-parse .\u002Finput-directory .\u002Foutput-directory\n\n# Only process PDFs, recursively\nlit batch-parse .\u002Finput .\u002Foutput --extension .pdf --recursive\n```\n\n### Generate Page Screenshots\n\nScreenshots are useful for LLM agents that need to see visual layout.\n\n```bash\n# All pages\nlit screenshot document.pdf -o .\u002Fscreenshots\n\n# Specific pages\nlit screenshot document.pdf --pages \"1,3,5\" -o .\u002Fscreenshots\n\n# High-DPI PNG\nlit screenshot document.pdf --dpi 300 --format png -o .\u002Fscreenshots\n\n# Page range\nlit screenshot document.pdf --pages \"1-10\" -o .\u002Fscreenshots\n```\n\n---\n\n## Step 4 — Key Options Reference\n\n### OCR Options\n\n| Option | Description |\n|--------|-------------|\n| (default) | Tesseract — zero setup, bundled with the library |\n| `--ocr-language fra` | Set OCR language (ISO code) |\n| `--ocr-server-url \u003Curl>` | Use external HTTP OCR server (EasyOCR, PaddleOCR, custom) |\n| `--no-ocr` | Disable OCR entirely |\n\n### Output Options\n\n| Option | Description |\n|--------|-------------|\n| `--format json` | Structured JSON with bounding boxes |\n| `--format text` | Plain text (default) |\n| `-o \u003Cfile>` | Save output to file |\n\n### Performance \u002F Quality Options\n\n| Option | Description |\n|--------|-------------|\n| `--dpi \u003Cn>` | Rendering DPI (default: 150; use 300 for high quality) |\n| `--max-pages \u003Cn>` | Limit pages parsed |\n| `--target-pages \u003Cpages>` | Parse specific pages (e.g. `\"1-5,10\"`) |\n| `--no-precise-bbox` | Disable precise bounding boxes (faster) |\n| `--skip-diagonal-text` | Ignore rotated\u002Fdiagonal text |\n| `--preserve-small-text` | Keep very small text that would otherwise be dropped |\n\n---\n\n## Step 5 — Using a Config File\n\nFor repeated use with consistent options, generate a `liteparse.config.json`:\n\n```json\n{\n  \"ocrLanguage\": \"en\",\n  \"ocrEnabled\": true,\n  \"maxPages\": 1000,\n  \"dpi\": 150,\n  \"outputFormat\": \"json\",\n  \"preciseBoundingBox\": true,\n  \"skipDiagonalText\": false,\n  \"preserveVerySmallText\": false\n}\n```\n\nFor an HTTP OCR server:\n\n```json\n{\n  \"ocrServerUrl\": \"http:\u002F\u002Flocalhost:8828\u002Focr\",\n  \"ocrLanguage\": \"en\",\n  \"outputFormat\": \"json\"\n}\n```\n\nUse with:\n\n```bash\nlit parse document.pdf --config liteparse.config.json\n```\n\n---\n\n## Step 6 — HTTP OCR Server API (Advanced)\n\nIf the user wants to plug in a custom OCR backend, the server must implement:\n\n- **Endpoint**: `POST \u002Focr`\n- **Accepts**: `file` (multipart) and `language` (string) parameters\n- **Returns**:\n```json\n{\n  \"results\": [\n    { \"text\": \"Hello\", \"bbox\": [x1, y1, x2, y2], \"confidence\": 0.98 }\n  ]\n}\n```\n\nReady-to-use wrappers exist for EasyOCR and PaddleOCR in the LiteParse repo.\n\n---\n\n## Supported Input Formats\n\n| Category | Formats |\n|----------|---------|\n| PDF | `.pdf` |\n| Word | `.doc`, `.docx`, `.docm`, `.odt`, `.rtf` |\n| PowerPoint | `.ppt`, `.pptx`, `.pptm`, `.odp` |\n| Spreadsheets | `.xls`, `.xlsx`, `.xlsm`, `.ods`, `.csv`, `.tsv` |\n| Images | `.jpg`, `.jpeg`, `.png`, `.gif`, `.bmp`, `.tiff`, `.webp`, `.svg` |\n\nOffice documents require LibreOffice; images require ImageMagick. LiteParse auto-converts these formats to PDF before parsing.\n",{"name":5,"license":15,"metadata":59,"description":7,"compatibility":63},{"tags":60,"author":61,"version":62},"file, pdf, docx, pptx, xlsx, image, ocr, text extraction","LlamaIndex","0.1.0","Requires Python 3.10+ and the `lit` CLI from `liteparse`, installed with pipx (`pipx install liteparse`) — pipx isolates the app and puts `lit` on PATH, and works on PEP 668 \u002F externally-managed Python where `pip install` is blocked","develop","c9440489468f6bbafc65e9a10811428ac0ef2619","registry\u002Fskills\u002Fliteparse","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis","https:\u002F\u002Fgithub.com\u002Fblouargant","2026-11-10 16:30:07",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add blouargant\u002Fomnis --skill liteparse",{"tool":76,"command":77},"bunx","bunx skills add blouargant\u002Fomnis --skill liteparse",{"tool":79,"command":80},"pnpm","pnpm dlx skills add blouargant\u002Fomnis --skill liteparse","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fliteparse\u002FSKILL.md",true,[84,90],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"permissions.json","REFERENCE","参考文档",168,"https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fliteparse\u002Fpermissions.json",{"path":91,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":92,"sourceHtmlUrl":93},"requires.json",130,"https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fliteparse\u002Frequires.json",[95,124,143,164,185,210],{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":104,"publishedAt":54},"01M71RZKQ64WTDCV48Z4Y071FA","skill-creator","Create or update a skill playbook (SKILL.md) for the agent. Use when the user wants to create a new skill, add a skill, define a new agent capability, update an existing skill, edit a skill, refine a skill playbook, or specialise the agent for a new domain.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fskill-creator\u002FSKILL.md",[101],{"categoryNo":102,"categoryName":103,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[105,106,107,108,109,110,111,112,113,37,114,115,116,117,118,119,120,121,122,123],"skill creator","creator","new agent","domain","for","new","define","use","Existing","create","update","refine","playbook","edit","a skill","new skill","add","user","existing skill",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":54},"01M71RZJ15NMV6FXBZD1AQF3K7","review","Review a body of work (source code, configuration, documents, infra manifests, …) for correctness, clarity, and obvious risks. Use this skill whenever the user asks for a review, audit or critique.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Freview\u002FSKILL.md",[],[126,131,132,133,134,109,135,112,136,137,138,49,139,140,141,142,122],"infra","work","critique","audit","clarity","body","source","manifests","configuration","correctness","code","source code",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":54},"01M71RZFP8KJEANYXAH6AX68G0","pdf","Fallback PDF text extractor using pdftotext (poppler). Use ONLY when the preferred `liteparse` skill is unavailable or for a quick plain-text dump of a simple text PDF — for the best PDF parsing (scanned, multi-column, layout-heavy, or non-PDF formats) prefer the `liteparse` skill.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fpdf\u002FSKILL.md",[149],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[53,151,152,153,154,155,156,157,109,5,158,159,47,160,112,41,37,161,162,163],"text","multi","quick","simple","parsing","pdf text extractor","layout","plain-text","column","formats","plain","pdf parsing","file",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":172,"publishedAt":54},"01M71RZDAHNX7JC52P5HH5XPEG","pandoc","This skill should be used when converting documents between formats (Markdown, DOCX, PDF, HTML, LaTeX, etc.) using pandoc. Use for format conversion, document generation, and preparing markdown for Google Docs or other word processors.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fpandoc\u002FSKILL.md",[170,171],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":102,"categoryName":103,"taxonomyType":21,"taxonomyTypeDesc":22},[166,44,53,173,109,174,112,175,49,37,176,177,178,179,180,181,160,182,183,184],"Word","document generation","document","conversion","generation","markdown","format","google","google docs","docs","html","LaTeX",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":191,"publishedAt":54},"01M71RZ2Y9KY94NRBV4WMH73G5","linux-admin","Safely make a change to a Linux workstation — install\u002Fremove packages, manage systemd services and timers, edit and validate configuration files, manage users\u002Fpermissions and networking. Detect the distro and package manager, determine whether the target is package-managed or hand-maintained, preview or simulate every change, back up configs before editing, and prefer the package manager and drop-in overrides so the host stays consistent and secure. Use whenever a change to the local Linux host is required (install, remove, enable, disable, start, stop, edit a config, add a user, change permissions or networking).","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Flinux-admin\u002FSKILL.md",[],[192,193,194,195,196,197,198,199,200,38,45,201,202,203,204,205,206,207,208,209],"linux","linux admin","admin","back","workstation","package manager","pacman","remove","up","systemd services","files","host","drop","preview","hand","permissions","packages","change",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":219,"publishedAt":54},"01M71RYZC5PYJPA9F8A60RYK5F","k8s-triage","Diagnose an unhealthy Kubernetes workload — pods crash-looping, deployments not ready, services not reachable. The triage decision playbook — confirm context, get evidence, classify the failure, propose one safe next action. Use whenever the user mentions kubernetes, k8s, kubectl, pods, deployments, namespaces, or attaches a kubectl error.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fk8s-triage\u002FSKILL.md",[216],{"categoryNo":217,"categoryName":218,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[220,221,222,223,224,225,226,227,228,229,230,231,112,232,233,234,235,236,237,117],"k8s","k8s triage","triage","error","ready","evidence","get","diagnose","kubernetes","namespaces","decision","deployments","one","coordination","services","classify","next","diagnosis"]