office

Creates, edits, and converts Word, PowerPoint, Excel, and PDF documents with render-based verification.

22|Updated Sep 10, 2026
One-click install
npx skills add https://github.com/Lynricsy/HyperSkills --skill office-lynricsy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: office
Source: https://github.com/Lynricsy/HyperSkills/tree/main/skills/office
Command: npx skills add https://github.com/Lynricsy/HyperSkills --skill office-lynricsy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires docx, marked, openpyxl, python-docx, python-pptx, pypdf, pdfplumber, reportlab, pandas, markitdown, Pillow, lxml, pytesseract, pdf2image, pptxgenjs, and includes scripts (resource) and references (resource) components.

What problem does it solve? Office document libraries write files without laying out text, so overflow, clipping, broken formulas, and silently dropped elements only appear in a rendered page. This Skill provides verified workflows for creating, editing, reading, and converting .docx, .pptx, .xlsx, and .pdf files, with mandatory render-and-reopen gates so nothing ships broken. ## Core Features & Use Cases - Document creation and editing: Build Word documents with docx-js, decks with pptxgenjs, spreadsheets with openpyxl, and PDFs with reportlab; edit existing files in place via library APIs or direct OOXML unpack-edit-repack for tracked changes and comments. - Conversion and extraction: Convert Markdown to Word with a zero-native-dependency script or pandoc with a reference template, convert Office files to PDF via LibreOffice, and extract text, tables, and form fields from PDFs with pdfplumber and pypdf. - Verification gates: Every deliverable is reopened with its matching Python library, spreadsheets are recalculated with LibreOffice and scanned for error cells, and pages are rendered to images and inspected before delivery. - Use Case: A legal reviewer needs payment terms changed from net 60 to net 30 as tracked changes in an existing contract. The Skill unpacks the .docx, marks the edit with w:ins/w:del elements, repacks it, and verifies with pandoc that accept reads net 30 and reject restores net 60. ## Quick Start Ask the agent to create or edit your Word, PowerPoint, Excel, or PDF file, for example: build an Excel projection model with live formulas and a region lookup, then recalculate and render it for review.

Frequently Asked Questions about office

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Word document from Markdown without pandoc?

Run the bundled md_to_docx.mjs script with Node, which uses the docx and marked npm packages with no native dependencies. It supports YAML front matter for a title page, headings, lists, tables, code blocks, and images sized from their file headers.

How do I add tracked changes to a Word document programmatically?

Unpack the .docx, edit word/document.xml to wrap insertions in w:ins and deletions in w:del with w:delText runs, then repack. Verify with pandoc --track-changes=accept and --track-changes=reject rather than a render, which shows both versions at once.

Why does my openpyxl spreadsheet show #NAME? errors in Excel?

Post-2007 functions like XLOOKUP must be written with the _xlfn. prefix, since bare names recalculate to #NAME?. Also recalculate the workbook with LibreOffice after writing, because openpyxl stores formula strings without evaluating them.

How do I fill a checkbox in a PDF form with pypdf?

Read the widget's appearance states from /AP /N and set the field to the on-state name including the leading slash, such as /Yes. Boolean True or plain strings like Yes leave the box at /Off with no error raised.

Does this Skill work with Google Docs or Google Sheets?

No. The scope is local Office and PDF files only; hosted document APIs like Google Docs, Sheets, and Slides are explicitly out of scope. Legacy binary formats like .doc must first be converted with LibreOffice.

Why does pptxgenjs render my colors as black?

pptxgenjs only accepts six-digit hex strings or pptx.SchemeColor constants. Eight-digit hex values and CSS color names are replaced with black on a stderr warning that nothing surfaces, so always pass bare six-digit hex.