Office Artifacts
Prismer-AI/PrismerCloud
Generate real DOCX, PPTX, XLSX, PDF, CSV files using python-docx / python-pptx / openpyxl / reportlab by writing them into the dispatch artifacts dir, then explicitly deliver each one with cloud…
Picks the right library for converting between CSV, XLSX, JSON, images, DOCX and PDF text, and lists the conversions that are not supported so the agent does not attempt them.
$ npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai file-conversion --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion .claude/skills/file-conversion && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "file-conversion" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion into .claude/skills/file-conversion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "file-conversion", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai file-conversion --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion .agents/skills/file-conversion && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "file-conversion" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion into .agents/skills/file-conversion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "file-conversion", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai file-conversion --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion .cursor/skills/file-conversion && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "file-conversion" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion into .cursor/skills/file-conversion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "file-conversion", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pipeshub-ai/pipeshub-ai.git --path backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai file-conversion --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion .gemini/skills/file-conversion && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "file-conversion" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion into .gemini/skills/file-conversion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "file-conversion", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pipeshub-ai/pipeshub-ai file-conversionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .github/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion .github/skills/file-conversion && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "file-conversion" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion into .github/skills/file-conversion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "file-conversion", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai file-conversion --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion .opencode/skills/file-conversion && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "file-conversion" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion into .opencode/skills/file-conversion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "file-conversion", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
file-conversionPicks the right library for converting between CSV, XLSX, JSON, images, DOCX and PDF text, and lists the conversions that are not supported so the agent does not attempt them.
The skill is a dispatch table for file conversions. For csv, xlsx and json it defaults to Node libraries, papaparse for parsing and exceljs for spreadsheets, with a hand-rolled table loop for html output, and it falls back to pandas when a conversion needs real reshaping such as pivots, group-bys or type coercion. Images are converted or resized with sharp, with Pillow as the Python fallback. DOCX text extraction uses python-docx or docx2python, and PDF text and tables use pdfplumber, because no solid Node equivalent exists for those.
A separate list names the conversions that are not supported because the sandbox has no document-rendering engine (LibreOffice): docx to pdf, pptx to pdf, legacy doc to docx, xlsx to pdf, and anything that needs a document layout rendered to an image. The agent must tell you directly instead of faking a result or claiming success. A final section helps decide between extracting data and converting the format.
Read from SKILL.md and the folder at commit a883af6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
File Format Conversion loads about 865 tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 345 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pipeshub-ai/pipeshub-ai at commit a883af6, republished under its Apache-2.0 licence (© pipeshub-ai). 345 words, ~865 tokens.
.claude/skills/file-conversion/SKILL.md (or your agent's skills folder).| From | To | Default (Node) | Fallback (Python) |
|---|---|---|---|
| csv | xlsx / json / html | papaparse (parse to array of objects) → exceljs (xlsx) / JSON.stringify (json) / a hand-rolled <table> loop (html — no library needed for this) | pandas.read_csv → .to_excel / .to_json / .to_html — reach for this when the conversion needs real reshaping (pivots, group-by, dtype coercion) along the way, not as a first choice |
| xlsx | csv / json / html | exceljs (read) → papaparse.unparse (csv) / JSON.stringify (json) / hand-rolled html | pandas.read_excel → .to_csv / .to_json / .to_html |
| json (tabular/list-of-records shape) | csv / xlsx | JSON.parse → papaparse.unparse (csv) / exceljs (xlsx) | pandas.read_json → .to_csv / .to_excel |
| image (png/jpg/webp/etc.) | different image format, resize, basic edits | sharp (.toFormat(...), .resize(...)) | Pillow (Image.open(...).save(new_path)) |
| docx | plain text | — (no solid Node equivalent for structured docx parsing) | python-docx / docx2python — extract paragraph and table text |
| plain text / csv (tables) | — (no solid Node equivalent for table-aware extraction) | pdfplumber — extract_text() / extract_tables() → build a DataFrame if tabular |
For plain csv/xlsx/json reshuffling, default to the Node path (an array of plain objects is the common intermediate, playing the same role pandas.DataFrame plays on the Python side) per this environment's Node-first policy — reach for pandas only when the conversion needs real data reshaping along the way. docx/pdf extraction and structure-aware parsing have no solid Node equivalent here, so those stay Python regardless of format on the other end.
These all require a document-rendering engine (LibreOffice) that is not installed in the sandbox yet. Tell the user directly rather than attempting a workaround (e.g. do not try to fake a "pdf" by screenshotting text, and do not claim success on a conversion you didn't actually perform):
docx → pdfpptx → pdfdoc (legacy binary Word format) → docxxlsx → pdfIf the user's underlying goal is "get the numbers out of this PDF/docx into a spreadsheet" rather than literally "convert this file", extracting the relevant data and writing exactly the columns/rows they need is usually a better outcome than a generic whole-file conversion — ask yourself which one they actually need before picking an approach.
© pipeshub-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion of pipeshub-ai/pipeshub-ai.
Open the folder on GitHubat commit a883af6
File Format Conversion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| File Format Conversion this skillpipeshub-ai/pipeshub-ai | 3.8k | — | ~865 | Automated safety check: Pass | Apache-2.0 | |
| Office ArtifactsPrismer-AI/PrismerCloud | 1.6k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Heavy File IngestionNateBJones-Projects/OB1 | 4.7k | — | ~995 | Automated safety check: Pass | Custom licence | |
| Streaming Export Safetydoccker/cc-use-exp | 1.1k | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| MinerU Document Readeropendatalab/MinerU | 81k | — | ~9.4k | Automated safety check: Warn | Custom licence | |
| ComPDF Image to Document ConverterComPDFKit/compdf-skills | 109 | — | ~891 | Automated safety check: Pass | None |
Prismer-AI/PrismerCloud
Generate real DOCX, PPTX, XLSX, PDF, CSV files using python-docx / python-pptx / openpyxl / reportlab by writing them into the dispatch artifacts dir, then explicitly deliver each one with cloud…
NateBJones-Projects/OB1
Converts large PDF, DOCX, PPTX, XLSX and CSV files into markdown or CSV plus an index before the agent reads them, so tokens go to the compressed copy.
doccker/cc-use-exp
当代码涉及 Excel/CSV/JSON/PDF 大文件导出、批量序列化、内存里构建大对象时触发。防止 OOM、临时文件残留、同步导出阻塞 HTTP 线程等内存安全陷阱。
opendatalab/MinerU
Reads, OCRs, searches and cites local documents through the mineru CLI, covering PDF, images, Office files, EPUB, HTML and CSV.
ComPDFKit/compdf-skills
Plans ComPDF Server API requests that turn screenshots, scans, receipts and forms into Word, Excel, PPT, PDF, HTML, RTF, CSV, TXT or JSON output.
Drchronx/ai-agent-research-starter-kit
Automatically merge scattered Excel and CSV files, normalize column names, and extract structured tables from PDF, HTML, TXT, or Markdown documents.
pipeshub-ai/pipeshub-ai
Creates and edits .xlsx workbooks with real Excel formulas rather than hardcoded computed values, defaulting to exceljs in TypeScript with a static formula-safety check.
pipeshub-ai/pipeshub-ai
Unpacks a .docx or .pptx into pretty-printed XML, lets you make small targeted edits, and repacks it into a file Office will open.
pipeshub-ai/pipeshub-ai
Picks the right library for generating a new PDF, filling an existing PDF form, or extracting text and tables, defaulting to Node where possible.
pipeshub-ai/pipeshub-ai
Creates new PowerPoint decks with pptxgenjs in TypeScript, reads existing decks with python-pptx, and applies a design-quality checklist so every slide has real visual hierarchy.
pipeshub-ai/pipeshub-ai
Loads, cleans, aggregates and joins tabular data with pandas under a verification rule: every number reported must be one that the code actually printed.
pipeshub-ai/pipeshub-ai
Picks the right chart type for a data question and applies readability rules like axis labels, colorblind palettes and legend restraint.
Works with
Categories
Picks the right library for converting between CSV, XLSX, JSON, images, DOCX and PDF text, and lists the conversions that are not supported so the agent does not attempt them. The skill is a dispatch table for file conversions. For csv, xlsx and json it defaults to Node libraries, papaparse for parsing and exceljs for spreadsheets, with a hand-rolled table loop for html output, and it falls back to pandas when a conversion needs real reshaping such as pivots, group-bys or type coercion.
File Format Conversion fits situations like: converting a CSV to XLSX, JSON or HTML; pulling text out of a DOCX or tables out of a PDF; checking whether a requested conversion is possible in this environment.
Run `npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a claude-code`. Or copy the skill folder (backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion in pipeshub-ai/pipeshub-ai) into .claude/skills/file-conversion in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a codex`. Or copy the skill folder (backend/python/app/agents/agent_loop/skills/builtin_packs/file-conversion in pipeshub-ai/pipeshub-ai) into .agents/skills/file-conversion in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pipeshub-ai/pipeshub-ai --skill file-conversion -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/file-conversion, .gemini/skills/file-conversion, .github/skills/file-conversion and .opencode/skills/file-conversion in your project.
SKILL.md names no scripts, command-line tools or credentials: File Format Conversion is instructions for the agent only. Our summary lists: Node.js with papaparse, exceljs and sharp; Python with pandas, Pillow, python-docx and pdfplumber for the fallback paths.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
File Format Conversion is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 865 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with File Format Conversion: Office Artifacts (Prismer-AI/PrismerCloud, 1.6k stars), Heavy File Ingestion (NateBJones-Projects/OB1, 4.7k stars), Streaming Export Safety (doccker/cc-use-exp, 1.1k stars) and MinerU Document Reader (opendatalab/MinerU, 81k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pipeshub-ai (a GitHub organization) maintains it in pipeshub-ai/pipeshub-ai, which has 3,821 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 9, 2026.
Source: pipeshub-ai/pipeshub-ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.