officecli · v1.0.0 · 2026-08-17 · sha256 0894d54abd29604c
officecli v1.0.0A
Immutable. This exact content is served forever at /api/v1/blob/0894d54abd29604c.
---
name: officecli
version: "1.0.0"
description: "Use the optional iOfficeAI/OfficeCLI engine for advanced inspection, validation, copy-on-write editing, template merge, or visual rendering of existing .docx, .xlsx, and .pptx files. Prefer MateClaw's built-in renderDocx/renderXlsx/renderPptx tools for simple new documents. Use this skill when preserving an existing template, modifying complex Office structure, checking formatting issues, validating OpenXML, or rendering a document for visual QA. This integration targets https://github.com/iOfficeAI/OfficeCLI, not the unrelated prompt-generation project with the same name."
requires:
- key: officecli
type: binary
check: officecli
description: "iOfficeAI/OfficeCLI executable on the MateClaw server"
install:
macos: "brew install officecli"
linux: "Install a pinned iOfficeAI/OfficeCLI release and verify its SHA256"
windows: "scoop install officecli"
dependencies:
tools:
- office_document
platforms:
- macos
- linux
- windows
---
# OfficeCLI advanced Office operations
This skill supplements MateClaw's native Office renderers. It never replaces them.
## Routing
| User intent | Use |
|---|---|
| Create a simple new document from Markdown | `renderDocx`, `renderXlsx`, or `renderPptx` |
| Inspect an existing Office file | `office_document(action="inspect")` |
| Validate OpenXML structure | `office_document(action="validate")` |
| Apply several structured changes | `office_document(action="batch")` |
| Fill an existing template's placeholders | `office_document(action="merge")` |
| Render for visual QA | `office_document(action="render")` |
## Safety contract
- `batch` and `merge` operate on a private copy and never overwrite the source.
- The tool only accepts `.docx`, `.xlsx`, and `.pptx` inputs inside the active workspace or current chat uploads.
- Do not install OfficeCLI from inside a chat. If the dependency is missing, explain that an administrator must install it on the MateClaw server.
- Do not fall back to arbitrary shell commands when `office_document` rejects an action.
- Return the generated markdown link verbatim so the user can download and preview the result.
## Operations
### Inspect
Use one of `outline`, `stats`, `issues`, `text`, or `annotated`:
```text
office_document(action="inspect", filePath="report.docx", mode="issues")
```
### Validate
```text
office_document(action="validate", filePath="workbook.xlsx")
```
### Batch edit
`payload` must be a non-empty OfficeCLI batch JSON array. Prefer stable element IDs returned by inspection over positional paths when available.
```text
office_document(
action="batch",
filePath="deck.pptx",
payload="[{\"command\":\"set\",\"path\":\"/slide[1]/shape[@id=42]\",\"props\":{\"text\":\"Updated\"}}]",
outputFilename="deck-updated.pptx"
)
```
### Template merge
`payload` must be a non-empty JSON object:
```text
office_document(
action="merge",
filePath="invoice-template.docx",
payload="{\"client\":\"Acme\",\"total\":\"$5,200\"}",
outputFilename="invoice-acme.docx"
)
```
### Render
Use `html`, `screenshot`, `svg`, or `pdf`. Prefer `screenshot` for visual QA.
```text
office_document(action="render", filePath="deck.pptx", mode="screenshot")
```
After rendering, inspect the returned preview before claiming that layout or formatting is correct.