[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HDXHBXC1AB5WAT3EYJAVK":3,"skill-same:01M71HDXHBXC1AB5WAT3EYJAVK":104},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":30,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":67,"commitSha":68,"skillDirectory":69,"forksCount":70,"repositoryHtmlUrl":71,"repositoryHomepageUrl":6,"ownerHtmlUrl":72,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":73,"install":74,"resources":87},"01M71HDXHBXC1AB5WAT3EYJAVK","ocr-and-documents",null,"Extract text from PDFs and scanned documents. Use web_extract for remote URLs, pymupdf for local text-based PDFs, marker-pdf for OCR\u002Fscanned docs. For DOCX use python-docx, for PPTX see the powerpoint skill.","0xzgbot\u002Fforge-nps-v01","0xzgbot","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F271900281?v=4","01M71GXWAFRXXJSJE3HBCVDKZY","01M71GXWBFQYRJK7M8RM6BDP0X",6,"MIT","https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fprofiles\u002Flive\u002Fskills\u002Fproductivity\u002Focr-and-documents\u002FSKILL.md",[17,22,25],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"documents","ocr and documents","ocr","powerpoint","arxiv","web","research","text","text-extraction","use","remote","pdfs","local","python","pymupdf","for","pptx","PDF","docx","python-docx","2026-11-10 10:12:30",false,"---\nname: ocr-and-documents\ndescription: Extract text from PDFs and scanned documents. Use web_extract for remote URLs, pymupdf for local text-based PDFs, marker-pdf for OCR\u002Fscanned docs. For DOCX use python-docx, for PPTX see the powerpoint skill.\nversion: 2.3.0\nauthor: Hermes Agent\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [PDF, Documents, Research, Arxiv, Text-Extraction, OCR]\n    related_skills: [powerpoint]\n---\n\n# PDF & Document Extraction\n\nFor DOCX: use `python-docx` (parses actual document structure, far better than OCR).\nFor PPTX: see the `powerpoint` skill (uses `python-pptx` with full slide\u002Fnotes support).\nThis skill covers **PDFs and scanned documents**.\n\n## Step 1: Remote URL Available?\n\nIf the document has a URL, **always try `web_extract` first**:\n\n```\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])\nweb_extract(urls=[\"https:\u002F\u002Fexample.com\u002Freport.pdf\"])\n```\n\nThis handles PDF-to-markdown conversion via Firecrawl with no local dependencies.\n\nOnly use local extraction when: the file is local, web_extract fails, or you need batch processing.\n\n## Step 2: Choose Local Extractor\n\n| Feature | pymupdf (~25MB) | marker-pdf (~3-5GB) |\n|---------|-----------------|---------------------|\n| **Text-based PDF** | ✅ | ✅ |\n| **Scanned PDF (OCR)** | ❌ | ✅ (90+ languages) |\n| **Tables** | ✅ (basic) | ✅ (high accuracy) |\n| **Equations \u002F LaTeX** | ❌ | ✅ |\n| **Code blocks** | ❌ | ✅ |\n| **Forms** | ❌ | ✅ |\n| **Headers\u002Ffooters removal** | ❌ | ✅ |\n| **Reading order detection** | ❌ | ✅ |\n| **Images extraction** | ✅ (embedded) | ✅ (with context) |\n| **Images → text (OCR)** | ❌ | ✅ |\n| **EPUB** | ✅ | ✅ |\n| **Markdown output** | ✅ (via pymupdf4llm) | ✅ (native, higher quality) |\n| **Install size** | ~25MB | ~3-5GB (PyTorch + models) |\n| **Speed** | Instant | ~1-14s\u002Fpage (CPU), ~0.2s\u002Fpage (GPU) |\n\n**Decision**: Use pymupdf unless you need OCR, equations, forms, or complex layout analysis.\n\nIf the user needs marker capabilities but the system lacks ~5GB free disk:\n> \"This document needs OCR\u002Fadvanced extraction (marker-pdf), which requires ~5GB for PyTorch and models. Your system has [X]GB free. Options: free up space, provide a URL so I can use web_extract, or I can try pymupdf which works for text-based PDFs but not scanned documents or equations.\"\n\n---\n\n## pymupdf (lightweight)\n\n```bash\npip install pymupdf pymupdf4llm\n```\n\n**Via helper script**:\n```bash\npython scripts\u002Fextract_pymupdf.py document.pdf              # Plain text\npython scripts\u002Fextract_pymupdf.py document.pdf --markdown    # Markdown\npython scripts\u002Fextract_pymupdf.py document.pdf --tables      # Tables\npython scripts\u002Fextract_pymupdf.py document.pdf --images out\u002F # Extract images\npython scripts\u002Fextract_pymupdf.py document.pdf --metadata    # Title, author, pages\npython scripts\u002Fextract_pymupdf.py document.pdf --pages 0-4   # Specific pages\n```\n\n**Inline**:\n```bash\npython3 -c \"\nimport pymupdf\ndoc = pymupdf.open('document.pdf')\nfor page in doc:\n    print(page.get_text())\n\"\n```\n\n---\n\n## marker-pdf (high-quality OCR)\n\n```bash\n# Check disk space first\npython scripts\u002Fextract_marker.py --check\n\npip install marker-pdf\n```\n\n**Via helper script**:\n```bash\npython scripts\u002Fextract_marker.py document.pdf                # Markdown\npython scripts\u002Fextract_marker.py document.pdf --json         # JSON with metadata\npython scripts\u002Fextract_marker.py document.pdf --output_dir out\u002F  # Save images\npython scripts\u002Fextract_marker.py scanned.pdf                 # Scanned PDF (OCR)\npython scripts\u002Fextract_marker.py document.pdf --use_llm      # LLM-boosted accuracy\n```\n\n**CLI** (installed with marker-pdf):\n```bash\nmarker_single document.pdf --output_dir .\u002Foutput\nmarker \u002Fpath\u002Fto\u002Ffolder --workers 4    # Batch\n```\n\n---\n\n## Arxiv Papers\n\n```\n# Abstract only (fast)\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03300\"])\n\n# Full paper\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])\n\n# Search\nweb_search(query=\"arxiv GRPO reinforcement learning 2026\")\n```\n\n## Split, Merge & Search\n\npymupdf handles these natively — use `execute_code` or inline Python:\n\n```python\n# Split: extract pages 1-5 to a new PDF\nimport pymupdf\ndoc = pymupdf.open(\"report.pdf\")\nnew = pymupdf.open()\nfor i in range(5):\n    new.insert_pdf(doc, from_page=i, to_page=i)\nnew.save(\"pages_1-5.pdf\")\n```\n\n```python\n# Merge multiple PDFs\nimport pymupdf\nresult = pymupdf.open()\nfor path in [\"a.pdf\", \"b.pdf\", \"c.pdf\"]:\n    result.insert_pdf(pymupdf.open(path))\nresult.save(\"merged.pdf\")\n```\n\n```python\n# Search for text across all pages\nimport pymupdf\ndoc = pymupdf.open(\"report.pdf\")\nfor i, page in enumerate(doc):\n    results = page.search_for(\"revenue\")\n    if results:\n        print(f\"Page {i+1}: {len(results)} match(es)\")\n        print(page.get_text(\"text\"))\n```\n\nNo extra dependencies needed — pymupdf covers split, merge, search, and text extraction in one package.\n\n---\n\n## Notes\n\n- `web_extract` is always first choice for URLs\n- pymupdf is the safe default — instant, no models, works everywhere\n- marker-pdf is for OCR, scanned docs, equations, complex layouts — install only when needed\n- Both helper scripts accept `--help` for full usage\n- marker-pdf downloads ~2.5GB of models to `~\u002F.cache\u002Fhuggingface\u002F` on first use\n- For Word docs: `pip install python-docx` (better than OCR — parses actual structure)\n- For PowerPoint: see the `powerpoint` skill (uses python-pptx)\n","# PDF & Document Extraction\n\nFor DOCX: use `python-docx` (parses actual document structure, far better than OCR).\nFor PPTX: see the `powerpoint` skill (uses `python-pptx` with full slide\u002Fnotes support).\nThis skill covers **PDFs and scanned documents**.\n\n## Step 1: Remote URL Available?\n\nIf the document has a URL, **always try `web_extract` first**:\n\n```\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])\nweb_extract(urls=[\"https:\u002F\u002Fexample.com\u002Freport.pdf\"])\n```\n\nThis handles PDF-to-markdown conversion via Firecrawl with no local dependencies.\n\nOnly use local extraction when: the file is local, web_extract fails, or you need batch processing.\n\n## Step 2: Choose Local Extractor\n\n| Feature | pymupdf (~25MB) | marker-pdf (~3-5GB) |\n|---------|-----------------|---------------------|\n| **Text-based PDF** | ✅ | ✅ |\n| **Scanned PDF (OCR)** | ❌ | ✅ (90+ languages) |\n| **Tables** | ✅ (basic) | ✅ (high accuracy) |\n| **Equations \u002F LaTeX** | ❌ | ✅ |\n| **Code blocks** | ❌ | ✅ |\n| **Forms** | ❌ | ✅ |\n| **Headers\u002Ffooters removal** | ❌ | ✅ |\n| **Reading order detection** | ❌ | ✅ |\n| **Images extraction** | ✅ (embedded) | ✅ (with context) |\n| **Images → text (OCR)** | ❌ | ✅ |\n| **EPUB** | ✅ | ✅ |\n| **Markdown output** | ✅ (via pymupdf4llm) | ✅ (native, higher quality) |\n| **Install size** | ~25MB | ~3-5GB (PyTorch + models) |\n| **Speed** | Instant | ~1-14s\u002Fpage (CPU), ~0.2s\u002Fpage (GPU) |\n\n**Decision**: Use pymupdf unless you need OCR, equations, forms, or complex layout analysis.\n\nIf the user needs marker capabilities but the system lacks ~5GB free disk:\n> \"This document needs OCR\u002Fadvanced extraction (marker-pdf), which requires ~5GB for PyTorch and models. Your system has [X]GB free. Options: free up space, provide a URL so I can use web_extract, or I can try pymupdf which works for text-based PDFs but not scanned documents or equations.\"\n\n---\n\n## pymupdf (lightweight)\n\n```bash\npip install pymupdf pymupdf4llm\n```\n\n**Via helper script**:\n```bash\npython scripts\u002Fextract_pymupdf.py document.pdf              # Plain text\npython scripts\u002Fextract_pymupdf.py document.pdf --markdown    # Markdown\npython scripts\u002Fextract_pymupdf.py document.pdf --tables      # Tables\npython scripts\u002Fextract_pymupdf.py document.pdf --images out\u002F # Extract images\npython scripts\u002Fextract_pymupdf.py document.pdf --metadata    # Title, author, pages\npython scripts\u002Fextract_pymupdf.py document.pdf --pages 0-4   # Specific pages\n```\n\n**Inline**:\n```bash\npython3 -c \"\nimport pymupdf\ndoc = pymupdf.open('document.pdf')\nfor page in doc:\n    print(page.get_text())\n\"\n```\n\n---\n\n## marker-pdf (high-quality OCR)\n\n```bash\n# Check disk space first\npython scripts\u002Fextract_marker.py --check\n\npip install marker-pdf\n```\n\n**Via helper script**:\n```bash\npython scripts\u002Fextract_marker.py document.pdf                # Markdown\npython scripts\u002Fextract_marker.py document.pdf --json         # JSON with metadata\npython scripts\u002Fextract_marker.py document.pdf --output_dir out\u002F  # Save images\npython scripts\u002Fextract_marker.py scanned.pdf                 # Scanned PDF (OCR)\npython scripts\u002Fextract_marker.py document.pdf --use_llm      # LLM-boosted accuracy\n```\n\n**CLI** (installed with marker-pdf):\n```bash\nmarker_single document.pdf --output_dir .\u002Foutput\nmarker \u002Fpath\u002Fto\u002Ffolder --workers 4    # Batch\n```\n\n---\n\n## Arxiv Papers\n\n```\n# Abstract only (fast)\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03300\"])\n\n# Full paper\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])\n\n# Search\nweb_search(query=\"arxiv GRPO reinforcement learning 2026\")\n```\n\n## Split, Merge & Search\n\npymupdf handles these natively — use `execute_code` or inline Python:\n\n```python\n# Split: extract pages 1-5 to a new PDF\nimport pymupdf\ndoc = pymupdf.open(\"report.pdf\")\nnew = pymupdf.open()\nfor i in range(5):\n    new.insert_pdf(doc, from_page=i, to_page=i)\nnew.save(\"pages_1-5.pdf\")\n```\n\n```python\n# Merge multiple PDFs\nimport pymupdf\nresult = pymupdf.open()\nfor path in [\"a.pdf\", \"b.pdf\", \"c.pdf\"]:\n    result.insert_pdf(pymupdf.open(path))\nresult.save(\"merged.pdf\")\n```\n\n```python\n# Search for text across all pages\nimport pymupdf\ndoc = pymupdf.open(\"report.pdf\")\nfor i, page in enumerate(doc):\n    results = page.search_for(\"revenue\")\n    if results:\n        print(f\"Page {i+1}: {len(results)} match(es)\")\n        print(page.get_text(\"text\"))\n```\n\nNo extra dependencies needed — pymupdf covers split, merge, search, and text extraction in one package.\n\n---\n\n## Notes\n\n- `web_extract` is always first choice for URLs\n- pymupdf is the safe default — instant, no models, works everywhere\n- marker-pdf is for OCR, scanned docs, equations, complex layouts — install only when needed\n- Both helper scripts accept `--help` for full usage\n- marker-pdf downloads ~2.5GB of models to `~\u002F.cache\u002Fhuggingface\u002F` on first use\n- For Word docs: `pip install python-docx` (better than OCR — parses actual structure)\n- For PowerPoint: see the `powerpoint` skill (uses python-pptx)\n",{"name":5,"author":56,"license":14,"version":57,"metadata":58,"description":7},"Hermes Agent","2.3.0",{"hermes":59},{"tags":60,"related_skills":66},[48,61,62,63,64,65],"Documents","Research","Arxiv","Text-Extraction","OCR",[34],"master","a76a61826887171cb38ce217ae85643d5d7685d1","hermes_home\u002Fprofiles\u002Flive\u002Fskills\u002Fproductivity\u002Focr-and-documents",2,"https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01","https:\u002F\u002Fgithub.com\u002F0xzgbot","2026-08-31 09:13:28",{"source":8,"skillName":5,"commands":75,"prompt":85,"zipAvailable":86},[76,79,82],{"tool":77,"command":78},"npx","npx skills add 0xzgbot\u002Fforge-nps-v01 --skill ocr-and-documents",{"tool":80,"command":81},"bunx","bunx skills add 0xzgbot\u002Fforge-nps-v01 --skill ocr-and-documents",{"tool":83,"command":84},"pnpm","pnpm dlx skills add 0xzgbot\u002Fforge-nps-v01 --skill ocr-and-documents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fprofiles\u002Flive\u002Fskills\u002Fproductivity\u002Focr-and-documents\u002FSKILL.md",true,[88,94,100],{"path":89,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":92,"sourceHtmlUrl":93},"DESCRIPTION.md","REFERENCE","参考文档",147,"https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fprofiles\u002Flive\u002Fskills\u002Fproductivity\u002Focr-and-documents\u002FDESCRIPTION.md",{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"scripts\u002Fextract_marker.py","SCRIPT","脚本",3034,"https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fprofiles\u002Flive\u002Fskills\u002Fproductivity\u002Focr-and-documents\u002Fscripts\u002Fextract_marker.py",{"path":101,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Fextract_pymupdf.py",3132,"https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fprofiles\u002Flive\u002Fskills\u002Fproductivity\u002Focr-and-documents\u002Fscripts\u002Fextract_pymupdf.py",[105,118,137,150,161,173],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":51},"01M71J5TFCV7K97773JYZE7ET8","yuanbao","Yuanbao (元宝) groups: @mention users, query info\u002Fmembers.","https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fskills\u002Fyuanbao\u002FSKILL.md",[],[107,112,113,114,115,116,117],"groups","at","info","users","query","group",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":130,"publishedAt":51},"01M71J5QR69MCT5J8P3B4Y9ZHA","workflow-ltx-i2v","Use when the task involves workflow ltx i2v. DESCRIPTION.","https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fskills\u002Fworkflow_ltx_i2v\u002FSKILL.md",[124,127],{"categoryNo":125,"categoryName":126,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":128,"categoryName":129,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[131,132,133,134,135,136,40],"ltx","workflow ltx i2v","workflow","Production","task","when",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":145,"publishedAt":51},"01M71J5NYW853AAPB17VR0F7ZX","workflow-flux2-text-to-image","Flux2 Text-to-Image Workflow Reference.","https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fskills\u002Fworkflow_flux2_text_to_image\u002FSKILL.md",[143,144],{"categoryNo":125,"categoryName":126,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":128,"categoryName":129,"taxonomyType":20,"taxonomyTypeDesc":21},[146,147,133,38,148,134,149],"workflow flux2 text to image","image","reference","Text-to-Image",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":51},"01M71J5KWY96MD6B6YC2XP6NXB","wide-angle-environmental","Use when the task involves wide angle environmental. DESCRIPTION.","https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fskills\u002Fwide_angle_environmental\u002FSKILL.md",[156],{"categoryNo":128,"categoryName":129,"taxonomyType":20,"taxonomyTypeDesc":21},[158,159,160,134,135,136,40],"environmental","wide","wide angle environmental",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":51},"01M71J5DXHECTDVDF8HRP81YFY","wes-anderson-specialist","Use when the task involves wes anderson specialist. 1. EXECUTIVE SUMMARY.","https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fskills\u002Fwes_anderson_specialist\u002FSKILL.md",[167],{"categoryNo":128,"categoryName":129,"taxonomyType":20,"taxonomyTypeDesc":21},[169,170,171,172,136,40,135,134],"specialist","wes anderson specialist","summary","executive summary",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":180,"publishedAt":51},"01M71J5BRHX2N4BRG2VQMWJK3E","volumetric-god-rays-lighting","Use when the task involves volumetric god rays lighting. DESCRIPTION.","https:\u002F\u002Fgithub.com\u002F0xzgbot\u002Fforge-nps-v01\u002Fblob\u002Fmaster\u002Fhermes_home\u002Fskills\u002Fvolumetric_god_rays_lighting\u002FSKILL.md",[179],{"categoryNo":128,"categoryName":129,"taxonomyType":20,"taxonomyTypeDesc":21},[181,182,40,136,135,134],"volumetric god rays lighting","lighting"]