📄 Zero-setup Word / Excel / PowerPoint automation for PAVE via the OfficeCLI binary.
Create, read, analyze, and edit .docx, .xlsx, and .pptx documents — reports, decks, spreadsheets, formulas, charts, pivot tables, template merge, document issues, and HTML/PNG rendering — with zero environment setup on Windows and macOS (and Linux).
End-user machines are often clean: no git, no WSL, no package managers, no PATH edits. The PAVE skill self-provisions the correct OfficeCLI binary for the current platform into ~/.pave/bin/ on first use:
- Mirror-first downloads (
https://d.officecli.ai) with GitHub fallback, pinned to immutablereleases/download/vX.Y.Z/paths. - SHA256 verification against the published
SHA256SUMSmanifest. - Windows-native execution — on clean Windows the skill uses native
cmd.execommands (where,NUL,set "VAR=" &) through the PAVE server's Windows sandbox path. No/bin/sh, no WSL, no git required.
# From the PAVE marketplace
pave install officecli
# Or directly from this repo
pave install https://github.com/cnrai/openpave-officecliEvery command is invoked through the skill entrypoint:
# One-shot: the binary auto-provisions on the first run call
pave run skill officecli run create deck.pptx
pave run skill officecli run add deck.pptx / --type slide --prop title="Q4"
pave run skill officecli run view deck.pptx outline
pave run skill officecli run get deck.pptx /slide[1] --json
pave run skill officecli run help docx paragraph| Command | Purpose |
|---|---|
run [officecli args...] |
Execute an officecli command (auto-provisions the binary) |
help |
Show the full OfficeCLI usage guide (command reference, paths, element types, pitfalls) |
install |
Ensure the binary is provisioned; print path + version |
status |
Show platform, asset name, binary path, source (cache/path/download), version |
- This skill IS the integration — never tell the user to install OfficeCLI, edit PATH, or run the official installer. The first
runcall provisions the right binary. - Use
officecli run help <format> <element>instead of guessing property names (e.g.run help docx paragraph). - All commands accept
--jsonfor structured output. - Paths are 1-based and must be quoted:
/slide[1]. - Specialized skill rules (pitch-deck, academic-paper, financial-model, data-dashboard, morph-ppt, word-form) ship inside the binary:
officecli run load_skill <name>.
detectTarget()maps the platform/arch to the exact asset name (officecli-win-x64.exe,officecli-mac-arm64, …).resolveVersion()follows the/releases/latestredirect to pin the immutable version.downloadAsset()fetches the binary (mirror first, GitHub fallback), verifies SHA256 againstSHA256SUMS, then caches it in~/.pave/bin/officecli[.exe].- Subsequent calls reuse the cached binary (
isUsablecheck) — no re-download.
On macOS the quarantine attribute is cleared (xattr -d com.apple.quarantine); on Windows no extra steps are needed (native .exe, where PATH lookup, NUL device, del cleanup).
- Source:
index.js(sandbox pattern entrypoint, Node 16 compatible) - Tests:
test/(seenpm test) - Upstream tool: iOfficeAI/OfficeCLI
MIT © 2026 CNR AI