Skip to content
Back to skills

Document Conversion

ASecurity

Convert a document between supported formats at the fidelity the confirmed matrix records. Use for any convert request.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 12, 2026
devopspythongoexpress

Works with

  • cli

Security analysis

A100/100

Scanned October 12, 2026

npx -y skills add RorroRojas3/enterprise-gpt --skill document-conversion --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Document Conversion?

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

Security grade badge for Document Conversion
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rorrorojas3-document-conversion/badge)](https://www.skillsdirectory.com/skills/rorrorojas3-document-conversion)

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

Download with Pro
SKILL.md
---
name: document-conversion
description: Convert a document between supported formats at the fidelity the confirmed matrix records. Use for any convert request.
---

# Converting between formats

Every pair below was attempted against this sandbox. The tier is what you may promise, and the tier
decides what your answer has to say.

- **✓** faithful — nothing the source expressed is lost. No caveat needed.
- **◐** structural — content, headings, tables and lists survive; pagination, typography and
  vendor layout do not. Serve it, and name what was lost in one sentence. A structural tier is a
  conversion to perform, never a reason to decline.
- **refused** — no path here produces something worth handing over. Refuse by name **before running any
  code**, say why in one clause, and suggest a supported alternative when there is one.
- **n/a** — not offered. Not a refusal; no natural request maps to it.

<!-- conversion-matrix:begin -->
Status: confirmed. Recorded: 2026-08-28. Deployment: rr-gpt-5.6-luna. Office converter: absent.

| From \ To | docx | xlsx | pptx | pdf | csv | md | txt |
| --- | --- | --- | --- | --- | --- | --- | --- |
| docx | — | n/a | n/a | ◐ | n/a | ✓ | ✓ |
| xlsx | n/a | — | n/a | ◐ | ✓ | ✓ | ✓ |
| pptx | n/a | n/a | — | ◐ | n/a | ✓ | ✓ |
| pdf | ◐ | ◐ | refused | — | ◐ | ◐ | ◐ |
| csv | ✓ | ✓ | n/a | ◐ | — | ✓ | ✓ |
| md | ✓ | n/a | n/a | ✓ | n/a | — | ✓ |
| txt | ✓ | n/a | n/a | ✓ | n/a | ✓ | — |
<!-- conversion-matrix:end -->


## Recipes

| Pair | How |
| --- | --- |
| Office to `pdf` | Read with `python-docx` / `openpyxl` / `python-pptx` and compose with `reportlab`, which is what produced every confirmed cell here; `weasyprint` failed with an `AttributeError` on this image. There is no `soffice` either, which is why these are structural rather than faithful. |
| `pdf` to `docx` | `fitz` (PyMuPDF 1.26.6) for text, headings and images, written out with `python-docx`. An editable document with the source's content, not a reconstruction of its layout. |
| `pdf` to `xlsx` / `csv` | `pdfplumber` 0.6.2 table extraction. Dependable for ruled tables, unreliable for whitespace-aligned ones. Report how many tables you found. |
| `pdf` to `md` / `txt` | `fitz` text extraction. Legible for a text PDF, empty for a scanned one — say which you got. |
| Anything to `md` / `txt` | Extract text in reading order and write it out. Formatting, images and layout are lost; say so. |
| `csv` / `xlsx` to `docx` | `pandas` to read, `python-docx` to write the table. |
| `md` / `txt` to anything | There is no Markdown parser here — walk the lines and map them yourself. See the `markdown-text` skill. |

## Before you run anything

1. Look the pair up above. A refused pair costs no sandbox time — refuse it.
2. If the named source matches more than one available file, ask which. If it matches none, say so and
   name what is available.
3. Otherwise convert, then verify the result with the `artifact-verification` skill before answering.

Attribution

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

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.