[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RZDAHNX7JC52P5HH5XPEG":3,"skill-same:01M71RZDAHNX7JC52P5HH5XPEG":81},{"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":26,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":14,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M71RZDAHNX7JC52P5HH5XPEG","pandoc",null,"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.","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\u002Fpandoc\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"use","when","for","formats","document generation","generation","document","conversion","html","docx","Word","format","markdown","LaTeX","google docs","documents","docs","google","PDF","2026-11-10 13:02:02",false,"---\nname: pandoc\ndescription: 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.\n---\n\n# Pandoc Document Conversion Skill\n\nConvert documents between formats using pandoc, the universal document converter.\n\n## Prerequisites\n\n```bash\n# Check if pandoc is installed\npandoc --version\n\n# Install (Linux)\nsudo apt install pandoc          # Debian\u002FUbuntu\nsudo dnf install pandoc          # Fedora\u002FRHEL\n\n# Install (macOS, via Homebrew)\nbrew install pandoc\n```\n\n## Common Conversions\n\n### Markdown to Word (.docx)\n\n```bash\n# Basic conversion\npandoc input.md -o output.docx\n\n# With table of contents\npandoc input.md --toc -o output.docx\n\n# With custom reference doc (for styling)\npandoc input.md --reference-doc=template.docx -o output.docx\n\n# Standalone with metadata\npandoc input.md -s --metadata title=\"Document Title\" -o output.docx\n```\n\n### Markdown to PDF\n\n```bash\n# Requires LaTeX - install one of:\n#   Linux (Debian\u002FUbuntu): sudo apt install texlive-latex-recommended texlive-xetex\n#   Linux (Fedora\u002FRHEL):   sudo dnf install texlive-scheme-basic texlive-xetex\n#   macOS (Homebrew):      brew install --cask basictex      # Smaller (~100MB)\n#                          brew install --cask mactex-no-gui # Full (~4GB)\n# macOS only, after install: eval \"$(\u002Fusr\u002Flibexec\u002Fpath_helper)\" or new terminal\n\n# Basic conversion (uses pdflatex)\npandoc input.md -o output.pdf\n\n# With table of contents and custom margins\npandoc input.md -s --toc --toc-depth=2 -V geometry:margin=1in -o output.pdf\n\n# Using xelatex (better Unicode support - box drawings, arrows, etc.)\nexport PATH=\"\u002FLibrary\u002FTeX\u002Ftexbin:$PATH\"   # macOS only\npandoc input.md --pdf-engine=xelatex -V geometry:margin=1in -o output.pdf\n```\n\n**PDF Engine Selection:**\n\n| Engine | Use When |\n|--------|----------|\n| `pdflatex` | Default, ASCII content only |\n| `xelatex` | Unicode characters (arrows, box-drawing, emojis) |\n| `lualatex` | Complex typography, OpenType fonts |\n\n### Markdown to HTML\n\n**Critical:** Always use `-f gfm` (GitHub Flavored Markdown) for proper line break and list handling. Standard markdown collapses consecutive lines into paragraphs.\n\n```bash\n# RECOMMENDED: GitHub Flavored Markdown with full styling\npandoc -f gfm -s -H \u003C(cat \u003C\u003C 'STYLE'\n\u003Cstyle>\nbody{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;max-width:800px;margin:0 auto;padding:2em;line-height:1.6}\nh1{border-bottom:2px solid #333;padding-bottom:0.3em}\nh2{border-bottom:1px solid #ccc;padding-bottom:0.2em;margin-top:1.5em}\nh3{margin-top:1.2em}\nul,ol{margin:0.5em 0 0.5em 1.5em;padding-left:1em}\nul{list-style-type:disc}ol{list-style-type:decimal}\nli{margin:0.3em 0}ul ul,ol ul{list-style-type:circle;margin:0.2em 0 0.2em 1em}\ntable{border-collapse:collapse;width:100%;margin:1em 0}\nth,td{border:1px solid #ddd;padding:8px;text-align:left}\nth{background-color:#f5f5f5}\ncode{background-color:#f4f4f4;padding:2px 6px;border-radius:3px}\npre{background-color:#f4f4f4;padding:1em;overflow-x:auto;border-radius:5px}\nblockquote{border-left:4px solid #ddd;margin:1em 0;padding-left:1em;color:#666}\n\u003C\u002Fstyle>\nSTYLE\n) input.md -o output.html\n\n# Quick version (minimal styling)\npandoc -f gfm -s input.md -o output.html\n\n# With hard line breaks (newlines become \u003Cbr>)\npandoc -f markdown+hard_line_breaks -s input.md -o output.html\n\n# Self-contained (embeds images\u002FCSS)\npandoc -f gfm -s --embed-resources --standalone input.md -o output.html\n```\n\n**Format Options:**\n\n| Option | Use When |\n|--------|----------|\n| `-f gfm` | Default choice - handles lists, line breaks, tables correctly |\n| `-f markdown+hard_line_breaks` | Force all newlines to become `\u003Cbr>` |\n| `-f commonmark` | Strict CommonMark compliance |\n\n### HTML for Print-to-PDF (No LaTeX Required)\n\nWhen LaTeX isn't available, create styled HTML and print to PDF from browser:\n\n```bash\n# Create inline CSS file\ncat > \u002Ftmp\u002Fprint-style.css \u003C\u003C 'EOF'\nbody { font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n       max-width: 800px; margin: 0 auto; padding: 2em; line-height: 1.6; }\nh1 { border-bottom: 2px solid #333; padding-bottom: 0.3em; }\nh2 { border-bottom: 1px solid #ccc; padding-bottom: 0.2em; margin-top: 1.5em; }\nh3 { margin-top: 1.2em; }\n\u002F* Lists - critical for proper rendering *\u002F\nul, ol { margin: 0.5em 0 0.5em 1.5em; padding-left: 1em; }\nul { list-style-type: disc; }\nol { list-style-type: decimal; }\nli { margin: 0.3em 0; }\nul ul, ol ul { list-style-type: circle; margin: 0.2em 0 0.2em 1em; }\nul ol, ol ol { margin: 0.2em 0 0.2em 1em; }\nul ul ul, ol ul ul { list-style-type: square; }\n\u002F* Tables *\u002F\ntable { border-collapse: collapse; width: 100%; margin: 1em 0; }\nth, td { border: 1px solid #ddd; padding: 8px; text-align: left; }\nth { background-color: #f5f5f5; }\n\u002F* Code *\u002F\ncode { background-color: #f4f4f4; padding: 2px 6px; border-radius: 3px; }\npre { background-color: #f4f4f4; padding: 1em; overflow-x: auto; border-radius: 5px; }\n\u002F* Other *\u002F\nblockquote { border-left: 4px solid #ddd; margin: 1em 0; padding-left: 1em; color: #666; }\n@media print { body { max-width: none; } }\nEOF\n\n# Convert with embedded styles (ALWAYS use -f gfm)\npandoc -f gfm input.md -s --toc --toc-depth=2 -c \u002Ftmp\u002Fprint-style.css --embed-resources --standalone -o output.html\n\n# Open and print to PDF (Ctrl+P \u002F Cmd+P > Save as PDF)\nxdg-open output.html   # Linux\nopen output.html       # macOS\n```\n\n### Word to Markdown\n\n```bash\n# Extract markdown from docx\npandoc input.docx -o output.md\n\n# With ATX-style headers\npandoc input.docx --atx-headers -o output.md\n```\n\n## Useful Options\n\n| Option | Description |\n|--------|-------------|\n| `-s` \u002F `--standalone` | Produce standalone document with header\u002Ffooter |\n| `--toc` | Generate table of contents |\n| `--toc-depth=N` | TOC depth (default: 3) |\n| `-V key=value` | Set template variable |\n| `--metadata key=value` | Set metadata field |\n| `--reference-doc=FILE` | Use FILE for styling (docx\u002Fodt) |\n| `--template=FILE` | Use custom template |\n| `--highlight-style=STYLE` | Syntax highlighting (pygments, tango, etc.) |\n| `--number-sections` | Number section headings |\n| `-f FORMAT` | Input format (if not auto-detected) |\n| `-t FORMAT` | Output format (if not auto-detected) |\n\n## Format Identifiers\n\n| Format | Identifier |\n|--------|------------|\n| Markdown | `markdown`, `gfm` (GitHub), `commonmark` |\n| Word | `docx` |\n| PDF | `pdf` |\n| HTML | `html`, `html5` |\n| LaTeX | `latex` |\n| RST | `rst` |\n| EPUB | `epub` |\n| ODT | `odt` |\n| RTF | `rtf` |\n\n## Google Docs Workflow\n\nTo get markdown into Google Docs with formatting preserved:\n\n```bash\n# 1. Convert to docx\npandoc document.md -o document.docx\n\n# 2. Upload to Google Drive\n# 3. Right-click > Open with > Google Docs\n```\n\nGoogle Docs imports .docx files well and preserves:\n- Headings\n- Bold\u002Fitalic\n- Lists (bulleted and numbered)\n- Tables\n- Links\n- Code blocks (as monospace)\n\n## PSI Document Conversion\n\nFor PSI documents with tables and complex formatting:\n\n```bash\n# Convert PSI markdown to Word\npandoc PSI-document.md \\\n  --standalone \\\n  --toc \\\n  --toc-depth=2 \\\n  -o PSI-document.docx\n\n# Open for review\nxdg-open PSI-document.docx   # Linux\nopen PSI-document.docx       # macOS\n```\n\n## Troubleshooting\n\n### Lists\u002FLines Running Together (HTML)\n\nIf bullet points, numbered lists, or consecutive lines merge into one paragraph:\n\n**Cause:** Standard markdown treats consecutive lines as one paragraph. Lists need blank lines before them.\n\n**Fix:** Use GitHub Flavored Markdown (`-f gfm`):\n```bash\n# Always use -f gfm for reliable formatting\npandoc -f gfm -s input.md -o output.html\n\n# For documents where newlines should be \u003Cbr> tags\npandoc -f markdown+hard_line_breaks -s input.md -o output.html\n```\n\n**Why this happens:**\n- Standard markdown: `Line 1\\nLine 2` → `\u003Cp>Line 1 Line 2\u003C\u002Fp>` (merged)\n- GFM: Better list detection, handles edge cases\n- `+hard_line_breaks`: `Line 1\\nLine 2` → `Line 1\u003Cbr>Line 2` (preserved)\n\n### Tables Not Rendering\n\nPandoc requires proper markdown table syntax:\n```markdown\n| Header 1 | Header 2 |\n|----------|----------|\n| Cell 1   | Cell 2   |\n```\n\n### Code Blocks Missing Highlighting\n\nUse fenced code blocks with language identifier:\n````markdown\n```python\ndef example():\n    pass\n```\n````\n\n### PDF Generation Fails\n\n**\"pdflatex not found\"** - Install LaTeX:\n```bash\n# Linux (Debian\u002FUbuntu)\nsudo apt install texlive-latex-recommended texlive-xetex\n\n# Linux (Fedora\u002FRHEL)\nsudo dnf install texlive-scheme-basic texlive-xetex\n\n# macOS - smaller option (~100MB)\nbrew install --cask basictex\n\n# macOS - full option (~4GB)\nbrew install --cask mactex-no-gui\n\n# macOS only - after install, update PATH\neval \"$(\u002Fusr\u002Flibexec\u002Fpath_helper)\"\n# Or open a new terminal\n```\n\n**Unicode character errors (box-drawing, arrows, emojis):**\n```bash\n# Use xelatex instead of pdflatex\nexport PATH=\"\u002FLibrary\u002FTeX\u002Ftexbin:$PATH\"   # macOS only\npandoc input.md --pdf-engine=xelatex -o output.pdf\n```\n\n**No LaTeX available** - Use HTML print-to-PDF workflow:\n```bash\npandoc input.md -s --toc -o output.html\nxdg-open output.html   # Linux\nopen output.html       # macOS\n# Then Ctrl+P \u002F Cmd+P > Save as PDF\n```\n\n## Self-Test\n\n```bash\n# Verify pandoc installation\npandoc --version | head -1\n\n# Test basic conversion\nprintf '# Test\\n\\nHello **world**\\n' | pandoc -f markdown -t html\n```\n","# Pandoc Document Conversion Skill\n\nConvert documents between formats using pandoc, the universal document converter.\n\n## Prerequisites\n\n```bash\n# Check if pandoc is installed\npandoc --version\n\n# Install (Linux)\nsudo apt install pandoc          # Debian\u002FUbuntu\nsudo dnf install pandoc          # Fedora\u002FRHEL\n\n# Install (macOS, via Homebrew)\nbrew install pandoc\n```\n\n## Common Conversions\n\n### Markdown to Word (.docx)\n\n```bash\n# Basic conversion\npandoc input.md -o output.docx\n\n# With table of contents\npandoc input.md --toc -o output.docx\n\n# With custom reference doc (for styling)\npandoc input.md --reference-doc=template.docx -o output.docx\n\n# Standalone with metadata\npandoc input.md -s --metadata title=\"Document Title\" -o output.docx\n```\n\n### Markdown to PDF\n\n```bash\n# Requires LaTeX - install one of:\n#   Linux (Debian\u002FUbuntu): sudo apt install texlive-latex-recommended texlive-xetex\n#   Linux (Fedora\u002FRHEL):   sudo dnf install texlive-scheme-basic texlive-xetex\n#   macOS (Homebrew):      brew install --cask basictex      # Smaller (~100MB)\n#                          brew install --cask mactex-no-gui # Full (~4GB)\n# macOS only, after install: eval \"$(\u002Fusr\u002Flibexec\u002Fpath_helper)\" or new terminal\n\n# Basic conversion (uses pdflatex)\npandoc input.md -o output.pdf\n\n# With table of contents and custom margins\npandoc input.md -s --toc --toc-depth=2 -V geometry:margin=1in -o output.pdf\n\n# Using xelatex (better Unicode support - box drawings, arrows, etc.)\nexport PATH=\"\u002FLibrary\u002FTeX\u002Ftexbin:$PATH\"   # macOS only\npandoc input.md --pdf-engine=xelatex -V geometry:margin=1in -o output.pdf\n```\n\n**PDF Engine Selection:**\n\n| Engine | Use When |\n|--------|----------|\n| `pdflatex` | Default, ASCII content only |\n| `xelatex` | Unicode characters (arrows, box-drawing, emojis) |\n| `lualatex` | Complex typography, OpenType fonts |\n\n### Markdown to HTML\n\n**Critical:** Always use `-f gfm` (GitHub Flavored Markdown) for proper line break and list handling. Standard markdown collapses consecutive lines into paragraphs.\n\n```bash\n# RECOMMENDED: GitHub Flavored Markdown with full styling\npandoc -f gfm -s -H \u003C(cat \u003C\u003C 'STYLE'\n\u003Cstyle>\nbody{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;max-width:800px;margin:0 auto;padding:2em;line-height:1.6}\nh1{border-bottom:2px solid #333;padding-bottom:0.3em}\nh2{border-bottom:1px solid #ccc;padding-bottom:0.2em;margin-top:1.5em}\nh3{margin-top:1.2em}\nul,ol{margin:0.5em 0 0.5em 1.5em;padding-left:1em}\nul{list-style-type:disc}ol{list-style-type:decimal}\nli{margin:0.3em 0}ul ul,ol ul{list-style-type:circle;margin:0.2em 0 0.2em 1em}\ntable{border-collapse:collapse;width:100%;margin:1em 0}\nth,td{border:1px solid #ddd;padding:8px;text-align:left}\nth{background-color:#f5f5f5}\ncode{background-color:#f4f4f4;padding:2px 6px;border-radius:3px}\npre{background-color:#f4f4f4;padding:1em;overflow-x:auto;border-radius:5px}\nblockquote{border-left:4px solid #ddd;margin:1em 0;padding-left:1em;color:#666}\n\u003C\u002Fstyle>\nSTYLE\n) input.md -o output.html\n\n# Quick version (minimal styling)\npandoc -f gfm -s input.md -o output.html\n\n# With hard line breaks (newlines become \u003Cbr>)\npandoc -f markdown+hard_line_breaks -s input.md -o output.html\n\n# Self-contained (embeds images\u002FCSS)\npandoc -f gfm -s --embed-resources --standalone input.md -o output.html\n```\n\n**Format Options:**\n\n| Option | Use When |\n|--------|----------|\n| `-f gfm` | Default choice - handles lists, line breaks, tables correctly |\n| `-f markdown+hard_line_breaks` | Force all newlines to become `\u003Cbr>` |\n| `-f commonmark` | Strict CommonMark compliance |\n\n### HTML for Print-to-PDF (No LaTeX Required)\n\nWhen LaTeX isn't available, create styled HTML and print to PDF from browser:\n\n```bash\n# Create inline CSS file\ncat > \u002Ftmp\u002Fprint-style.css \u003C\u003C 'EOF'\nbody { font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n       max-width: 800px; margin: 0 auto; padding: 2em; line-height: 1.6; }\nh1 { border-bottom: 2px solid #333; padding-bottom: 0.3em; }\nh2 { border-bottom: 1px solid #ccc; padding-bottom: 0.2em; margin-top: 1.5em; }\nh3 { margin-top: 1.2em; }\n\u002F* Lists - critical for proper rendering *\u002F\nul, ol { margin: 0.5em 0 0.5em 1.5em; padding-left: 1em; }\nul { list-style-type: disc; }\nol { list-style-type: decimal; }\nli { margin: 0.3em 0; }\nul ul, ol ul { list-style-type: circle; margin: 0.2em 0 0.2em 1em; }\nul ol, ol ol { margin: 0.2em 0 0.2em 1em; }\nul ul ul, ol ul ul { list-style-type: square; }\n\u002F* Tables *\u002F\ntable { border-collapse: collapse; width: 100%; margin: 1em 0; }\nth, td { border: 1px solid #ddd; padding: 8px; text-align: left; }\nth { background-color: #f5f5f5; }\n\u002F* Code *\u002F\ncode { background-color: #f4f4f4; padding: 2px 6px; border-radius: 3px; }\npre { background-color: #f4f4f4; padding: 1em; overflow-x: auto; border-radius: 5px; }\n\u002F* Other *\u002F\nblockquote { border-left: 4px solid #ddd; margin: 1em 0; padding-left: 1em; color: #666; }\n@media print { body { max-width: none; } }\nEOF\n\n# Convert with embedded styles (ALWAYS use -f gfm)\npandoc -f gfm input.md -s --toc --toc-depth=2 -c \u002Ftmp\u002Fprint-style.css --embed-resources --standalone -o output.html\n\n# Open and print to PDF (Ctrl+P \u002F Cmd+P > Save as PDF)\nxdg-open output.html   # Linux\nopen output.html       # macOS\n```\n\n### Word to Markdown\n\n```bash\n# Extract markdown from docx\npandoc input.docx -o output.md\n\n# With ATX-style headers\npandoc input.docx --atx-headers -o output.md\n```\n\n## Useful Options\n\n| Option | Description |\n|--------|-------------|\n| `-s` \u002F `--standalone` | Produce standalone document with header\u002Ffooter |\n| `--toc` | Generate table of contents |\n| `--toc-depth=N` | TOC depth (default: 3) |\n| `-V key=value` | Set template variable |\n| `--metadata key=value` | Set metadata field |\n| `--reference-doc=FILE` | Use FILE for styling (docx\u002Fodt) |\n| `--template=FILE` | Use custom template |\n| `--highlight-style=STYLE` | Syntax highlighting (pygments, tango, etc.) |\n| `--number-sections` | Number section headings |\n| `-f FORMAT` | Input format (if not auto-detected) |\n| `-t FORMAT` | Output format (if not auto-detected) |\n\n## Format Identifiers\n\n| Format | Identifier |\n|--------|------------|\n| Markdown | `markdown`, `gfm` (GitHub), `commonmark` |\n| Word | `docx` |\n| PDF | `pdf` |\n| HTML | `html`, `html5` |\n| LaTeX | `latex` |\n| RST | `rst` |\n| EPUB | `epub` |\n| ODT | `odt` |\n| RTF | `rtf` |\n\n## Google Docs Workflow\n\nTo get markdown into Google Docs with formatting preserved:\n\n```bash\n# 1. Convert to docx\npandoc document.md -o document.docx\n\n# 2. Upload to Google Drive\n# 3. Right-click > Open with > Google Docs\n```\n\nGoogle Docs imports .docx files well and preserves:\n- Headings\n- Bold\u002Fitalic\n- Lists (bulleted and numbered)\n- Tables\n- Links\n- Code blocks (as monospace)\n\n## PSI Document Conversion\n\nFor PSI documents with tables and complex formatting:\n\n```bash\n# Convert PSI markdown to Word\npandoc PSI-document.md \\\n  --standalone \\\n  --toc \\\n  --toc-depth=2 \\\n  -o PSI-document.docx\n\n# Open for review\nxdg-open PSI-document.docx   # Linux\nopen PSI-document.docx       # macOS\n```\n\n## Troubleshooting\n\n### Lists\u002FLines Running Together (HTML)\n\nIf bullet points, numbered lists, or consecutive lines merge into one paragraph:\n\n**Cause:** Standard markdown treats consecutive lines as one paragraph. Lists need blank lines before them.\n\n**Fix:** Use GitHub Flavored Markdown (`-f gfm`):\n```bash\n# Always use -f gfm for reliable formatting\npandoc -f gfm -s input.md -o output.html\n\n# For documents where newlines should be \u003Cbr> tags\npandoc -f markdown+hard_line_breaks -s input.md -o output.html\n```\n\n**Why this happens:**\n- Standard markdown: `Line 1\\nLine 2` → `\u003Cp>Line 1 Line 2\u003C\u002Fp>` (merged)\n- GFM: Better list detection, handles edge cases\n- `+hard_line_breaks`: `Line 1\\nLine 2` → `Line 1\u003Cbr>Line 2` (preserved)\n\n### Tables Not Rendering\n\nPandoc requires proper markdown table syntax:\n```markdown\n| Header 1 | Header 2 |\n|----------|----------|\n| Cell 1   | Cell 2   |\n```\n\n### Code Blocks Missing Highlighting\n\nUse fenced code blocks with language identifier:\n````markdown\n```python\ndef example():\n    pass\n```\n````\n\n### PDF Generation Fails\n\n**\"pdflatex not found\"** - Install LaTeX:\n```bash\n# Linux (Debian\u002FUbuntu)\nsudo apt install texlive-latex-recommended texlive-xetex\n\n# Linux (Fedora\u002FRHEL)\nsudo dnf install texlive-scheme-basic texlive-xetex\n\n# macOS - smaller option (~100MB)\nbrew install --cask basictex\n\n# macOS - full option (~4GB)\nbrew install --cask mactex-no-gui\n\n# macOS only - after install, update PATH\neval \"$(\u002Fusr\u002Flibexec\u002Fpath_helper)\"\n# Or open a new terminal\n```\n\n**Unicode character errors (box-drawing, arrows, emojis):**\n```bash\n# Use xelatex instead of pdflatex\nexport PATH=\"\u002FLibrary\u002FTeX\u002Ftexbin:$PATH\"   # macOS only\npandoc input.md --pdf-engine=xelatex -o output.pdf\n```\n\n**No LaTeX available** - Use HTML print-to-PDF workflow:\n```bash\npandoc input.md -s --toc -o output.html\nxdg-open output.html   # Linux\nopen output.html       # macOS\n# Then Ctrl+P \u002F Cmd+P > Save as PDF\n```\n\n## Self-Test\n\n```bash\n# Verify pandoc installation\npandoc --version | head -1\n\n# Test basic conversion\nprintf '# Test\\n\\nHello **world**\\n' | pandoc -f markdown -t html\n```\n",{"name":5,"description":7},"develop","c9440489468f6bbafc65e9a10811428ac0ef2619","registry\u002Fskills\u002Fpandoc","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis","https:\u002F\u002Fgithub.com\u002Fblouargant","2026-11-10 16:30:07",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add blouargant\u002Fomnis --skill pandoc",{"tool":63,"command":64},"bunx","bunx skills add blouargant\u002Fomnis --skill pandoc",{"tool":66,"command":67},"pnpm","pnpm dlx skills add blouargant\u002Fomnis --skill pandoc","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fpandoc\u002FSKILL.md",true,[71,77],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"permissions.json","REFERENCE","参考文档",71,"https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fpandoc\u002Fpermissions.json",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"requires.json",201,"https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fpandoc\u002Frequires.json",[82,107,126,149,180,205],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":89,"publishedAt":46},"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",[88],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[90,91,92,93,29,94,95,27,96,28,97,98,99,100,101,102,103,104,105,106],"skill creator","creator","new agent","domain","new","define","Existing","create","update","refine","playbook","edit","a skill","new skill","add","user","existing skill",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":46},"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",[],[109,114,115,116,117,29,118,27,119,120,121,42,122,123,124,125,105],"infra","work","critique","audit","clarity","body","source","manifests","configuration","correctness","code","source code",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":133,"publishedAt":46},"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",[132],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[45,134,135,136,137,138,139,140,29,141,142,143,144,30,27,145,28,146,147,148],"text","multi","quick","simple","parsing","pdf text extractor","layout","liteparse","plain-text","column","only","pdftotext","plain","pdf parsing","file",{"skillNo":150,"name":141,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":166,"publishedAt":46},"01M71RZ7PSG17ES4CQWA6860F5","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.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fliteparse\u002FSKILL.md",[154,155,158,161],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":156,"categoryName":157,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":162,"categoryName":163,"taxonomyType":164,"taxonomyTypeDesc":165},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[141,167,168,169,36,170,45,171,172,173,174,175,176,144,145,42,28,177,178,179],"images","app","ocr","which","pptx","extracting","xlsx","managed","local","pipx","image","you","needs",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":46},"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",[],[187,188,189,190,191,192,193,194,195,174,175,196,197,198,199,200,201,202,203,204],"linux","linux admin","admin","back","workstation","package manager","pacman","remove","up","systemd services","files","host","drop","preview","hand","permissions","packages","change",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":214,"publishedAt":46},"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",[211],{"categoryNo":212,"categoryName":213,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[215,216,217,218,219,220,221,222,223,224,225,226,27,227,228,229,230,231,232,100],"k8s","k8s triage","triage","error","ready","evidence","get","diagnose","kubernetes","namespaces","decision","deployments","one","coordination","services","classify","next","diagnosis"]