agentleFS
oomol-laboomol-lab/leina-agent/skills/productivity/office-files/SKILL.md

office-files

Skill4 starsChanged 31 days agoMITView on GitHub

Create, edit, convert, and inspect Microsoft Office files.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. zznabil/lean-agent-skill-collection★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository3 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 5 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use the Leina Agent image-provided Office stack.

    line 8
  2. Very specific:

    Use markitdown first for model-readable extraction from ordinary .docx, .xlsx, and simple .pptx files.

    line 13
  3. Very specific:

    Use python-docx for structured Word .docx creation or updates.

    line 15
  4. Very specific:

    Use openpyxl for structured Excel .xlsx or .xlsm creation or updates.

    line 16
  5. Very specific:

    Use defusedxml-safe parsing paths for untrusted XML-adjacent content.

    line 17
  6. Very specific:

    Use python-pptx for basic PowerPoint .pptx creation, inspection, or patching.

    line 18
  7. Very specific:

    Use pandoc for Markdown-to-Word and similar document conversions.

    line 21
  8. Very specific:

    Use LibreOffice through soffice --headless for Office-to-PDF export, format conversion, and legacy .doc, .xls, or .ppt handling.

    line 22
  9. Very specific:

    Use the bundled pdf-files skill for native PDF creation, AcroForm filling, static PDF delivery, verification, and digital signatures.

    line 24
  10. Distinctive:

    Use the image-provided Python environment directly:

    line 29
  11. Distinctive:

    Do not install Office packages at runtime.

    line 39
  12. Very specific:

    Remove the temporary profile after the conversion.

    line 70
  13. Distinctive:

    Read created Office files back with their corresponding Python library.

    line 75
  14. Distinctive:

    Use MarkItDown to confirm representative visible text when extraction is part of the request.

    line 76

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Office Files

Use the Leina Agent image-provided Office stack. Do not install replacement document libraries at runtime before trying the supported tools below.

Default tools

  • Use markitdown first for model-readable extraction from ordinary .docx, .xlsx, and simple .pptx files.
  • Use python-docx for structured Word .docx creation or updates.
  • Use openpyxl for structured Excel .xlsx or .xlsm creation or updates. Use defusedxml-safe parsing paths for untrusted XML-adjacent content.
  • Use python-pptx for basic PowerPoint .pptx creation, inspection, or patching. Complex beautification, template filling, animations, and high-fidelity presentation generation are outside this skill's guarantee.
  • Use pandoc for Markdown-to-Word and similar document conversions.
  • Use LibreOffice through soffice --headless for Office-to-PDF export, format conversion, and legacy .doc, .xls, or .ppt handling.
  • Use the bundled pdf-files skill for native PDF creation, AcroForm filling, static PDF delivery, verification, and digital signatures.

Runtime

Use the image-provided Python environment directly:

/opt/oomol-hermes-agent/document-venv/bin/python

The OOMOL image installs markitdown, docx, openpyxl, pptx, and defusedxml into this interpreter. It also installs LibreOffice, Pandoc, and CJK fonts during the image build.

Do not install Office packages at runtime. Check only the tool needed for the current task instead of probing every binary and Python module at once.

PowerPoint boundary

This skill provides deterministic, basic .pptx work through python-pptx. It does not include the old repository's PPT Master workflow. Convert legacy .ppt input to .pptx with LibreOffice first, or export it to PDF when editable structure is not required.

PDF boundary

Office-to-PDF export stays in this skill: use LibreOffice for .docx, .xlsx, .pptx, .doc, .xls, or .ppt conversion.

Native PDF work belongs to pdf-files: creating PDFs from scratch, creating or filling AcroForms, flattening content into a static deliverable, inspecting fields, verifying rendering and structure, or adding a test/real signature.

LibreOffice runtime profile

LibreOffice must not write state under /opt/hermes. Use a unique writable profile for each concurrent conversion, for example:

profile_dir="$(mktemp -d /tmp/libreoffice-profile.XXXXXX)"
soffice --headless --nologo --nofirststartwizard --norestore \
  -env:UserInstallation="file://${profile_dir}" \
  --convert-to pdf --outdir /tmp/out /path/to/input.docx

Remove the temporary profile after the conversion. Write user documents and generated files under the requested workspace path, never under /opt/hermes.

Verification

  • Read created Office files back with their corresponding Python library.
  • Use MarkItDown to confirm representative visible text when extraction is part of the request.
  • For conversion, confirm LibreOffice exits successfully and the output file is non-empty.
  • For Office-to-PDF delivery, use the pdf-files verification path when visual correctness matters.

Limits

Legacy binary formats are conversion-only best effort. High-fidelity layout, complex macros, password-protected files, embedded OLE objects, and proprietary fonts are outside the default strong guarantee.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.